Skip to content

Conversation

@eps1lon
Copy link
Collaborator

@eps1lon eps1lon commented Nov 26, 2025

Same as #33634 but for use and promise-as-a-child.

An alternative to re-rendering would've been to eagerly collect use() calls but we know Error() is slow in v8.

The danger with lazily collecting use() is that the Thenable may be resolved when we abort.
In those cases we remove instrumentation on the last thenable to ensure we suspend again. To ensure Thenable subclasses can't observe the corrupted state, we noop .then.

The shown stack relies on sourcemaps with ignoreList. Otherwise it'll point into React internals. From the dispatcher we wouldn't know how many stacks we have to cut without a circular dependency to the React.use function.

@meta-cla meta-cla bot added the CLA Signed label Nov 26, 2025
@eps1lon eps1lon force-pushed the sebbie/fizz-thenable-abort branch 4 times, most recently from b2a0edf to 7c6ae2e Compare November 29, 2025 15:57
@eps1lon eps1lon requested review from gnoff and unstubbable November 29, 2025 16:03
@eps1lon eps1lon marked this pull request as ready for review November 29, 2025 16:04
@eps1lon eps1lon force-pushed the sebbie/fizz-thenable-abort branch 3 times, most recently from c364caf to b617d13 Compare December 2, 2025 17:20
@react-sizebot
Copy link

react-sizebot commented Dec 2, 2025

Comparing: bf1afad...3c7b53f

Critical size changes

Includes critical production bundles, as well as any change greater than 2%:

Name +/- Base Current +/- gzip Base gzip Current gzip
oss-stable/react-dom/cjs/react-dom.production.js = 6.84 kB 6.84 kB +0.16% 1.88 kB 1.88 kB
oss-stable/react-dom/cjs/react-dom-client.production.js = 608.36 kB 608.36 kB = 107.68 kB 107.68 kB
oss-experimental/react-dom/cjs/react-dom.production.js = 6.84 kB 6.84 kB +0.16% 1.88 kB 1.88 kB
oss-experimental/react-dom/cjs/react-dom-client.production.js = 667.47 kB 667.47 kB = 117.57 kB 117.57 kB
facebook-www/ReactDOM-prod.classic.js = 693.67 kB 693.67 kB = 122.06 kB 122.07 kB
facebook-www/ReactDOM-prod.modern.js = 684.10 kB 684.10 kB = 120.44 kB 120.45 kB
oss-stable-semver/react-server/cjs/react-server.development.js +2.12% 205.20 kB 209.55 kB +2.24% 36.17 kB 36.98 kB
oss-stable/react-server/cjs/react-server.development.js +2.12% 205.20 kB 209.55 kB +2.24% 36.17 kB 36.98 kB
oss-experimental/react-server/cjs/react-server.development.js +2.07% 209.99 kB 214.34 kB +2.17% 37.10 kB 37.90 kB

Significant size changes

Includes any change greater than 0.2%:

Expand to show
Name +/- Base Current +/- gzip Base gzip Current gzip
oss-stable-semver/react-server/cjs/react-server.development.js +2.12% 205.20 kB 209.55 kB +2.24% 36.17 kB 36.98 kB
oss-stable/react-server/cjs/react-server.development.js +2.12% 205.20 kB 209.55 kB +2.24% 36.17 kB 36.98 kB
oss-experimental/react-server/cjs/react-server.development.js +2.07% 209.99 kB 214.34 kB +2.17% 37.10 kB 37.90 kB
oss-experimental/react-markup/cjs/react-markup.development.js +1.08% 391.32 kB 395.55 kB +1.06% 71.12 kB 71.88 kB
oss-stable-semver/react-dom/cjs/react-dom-server-legacy.node.development.js +1.08% 404.15 kB 408.50 kB +1.14% 73.12 kB 73.95 kB
oss-stable-semver/react-dom/cjs/react-dom-server-legacy.browser.development.js +1.08% 404.15 kB 408.50 kB +1.14% 73.12 kB 73.95 kB
oss-stable/react-dom/cjs/react-dom-server-legacy.node.development.js +1.08% 404.17 kB 408.52 kB +1.14% 73.14 kB 73.98 kB
oss-stable/react-dom/cjs/react-dom-server-legacy.browser.development.js +1.08% 404.18 kB 408.52 kB +1.14% 73.14 kB 73.98 kB
facebook-www/ReactDOMServerStreaming-dev.modern.js +1.05% 413.56 kB 417.91 kB +1.09% 74.09 kB 74.90 kB
facebook-www/ReactDOMServer-dev.modern.js +1.05% 415.05 kB 419.40 kB +1.13% 74.50 kB 75.34 kB
facebook-www/ReactDOMServer-dev.classic.js +1.04% 418.49 kB 422.84 kB +1.13% 75.09 kB 75.94 kB
oss-experimental/react-dom/cjs/react-dom-server-legacy.node.development.js +1.04% 419.47 kB 423.81 kB +1.10% 75.36 kB 76.19 kB
oss-experimental/react-dom/cjs/react-dom-server-legacy.browser.development.js +1.04% 419.47 kB 423.82 kB +1.10% 75.36 kB 76.19 kB
oss-stable-semver/react-dom/cjs/react-dom-server.bun.development.js +1.03% 383.97 kB 387.91 kB +1.11% 72.83 kB 73.63 kB
oss-stable/react-dom/cjs/react-dom-server.bun.development.js +1.03% 384.05 kB 387.99 kB +1.11% 72.85 kB 73.66 kB
oss-stable-semver/react-dom/cjs/react-dom-server.browser.development.js +1.00% 433.50 kB 437.84 kB +1.11% 77.24 kB 78.10 kB
oss-stable/react-dom/cjs/react-dom-server.browser.development.js +1.00% 433.57 kB 437.92 kB +1.12% 77.29 kB 78.15 kB
oss-stable-semver/react-dom/cjs/react-dom-server.edge.development.js +1.00% 434.28 kB 438.62 kB +1.13% 77.41 kB 78.28 kB
oss-stable/react-dom/cjs/react-dom-server.edge.development.js +1.00% 434.35 kB 438.70 kB +1.13% 77.46 kB 78.33 kB
oss-experimental/react-dom/cjs/react-dom-server.bun.development.js +0.99% 398.20 kB 402.14 kB +1.11% 75.14 kB 75.98 kB
oss-stable-semver/react-dom/cjs/react-dom-server.node.development.js +0.99% 440.53 kB 444.88 kB +1.15% 77.20 kB 78.09 kB
oss-stable/react-dom/cjs/react-dom-server.node.development.js +0.99% 440.61 kB 444.96 kB +1.15% 77.25 kB 78.14 kB
oss-experimental/react-dom/cjs/react-dom-server.browser.development.js +0.97% 449.86 kB 454.20 kB +1.09% 79.54 kB 80.42 kB
oss-experimental/react-dom/cjs/react-dom-server.edge.development.js +0.96% 450.86 kB 455.21 kB +1.09% 79.77 kB 80.64 kB
oss-experimental/react-dom/cjs/react-dom-server.node.development.js +0.95% 456.62 kB 460.97 kB +1.08% 79.53 kB 80.40 kB
oss-experimental/react-markup/cjs/react-markup.react-server.development.js +0.64% 667.16 kB 671.41 kB +0.68% 118.28 kB 119.08 kB

Generated by 🚫 dangerJS against 3c7b53f

@eps1lon eps1lon marked this pull request as draft December 4, 2025 06:56
@eps1lon eps1lon force-pushed the sebbie/fizz-thenable-abort branch 3 times, most recently from 69323a0 to b109a65 Compare December 4, 2025 09:35
@eps1lon eps1lon force-pushed the sebbie/fizz-thenable-abort branch from b109a65 to 63a6c61 Compare December 4, 2025 09:44
would be too disruptive
@eps1lon eps1lon force-pushed the sebbie/fizz-thenable-abort branch from 22689b0 to 3c7b53f Compare December 4, 2025 10:05
@eps1lon eps1lon marked this pull request as ready for review December 4, 2025 10:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants