Skip to content

Conversation

@sebmarkbage
Copy link
Collaborator

Stacked on #35191.

Early draft.

@sebmarkbage sebmarkbage requested a review from gnoff January 15, 2026 17:28
@sebmarkbage sebmarkbage marked this pull request as draft January 15, 2026 17:28
@meta-cla meta-cla bot added the CLA Signed label Jan 15, 2026
@github-actions github-actions bot added the React Core Team Opened by a member of the React Core Team label Jan 15, 2026
@react-sizebot
Copy link

react-sizebot commented Jan 15, 2026

Comparing: 4cf9063...d5ffec1

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 = 1.88 kB 1.88 kB
oss-stable/react-dom/cjs/react-dom-client.production.js = 608.20 kB 608.20 kB = 107.66 kB 107.66 kB
oss-experimental/react-dom/cjs/react-dom.production.js = 6.84 kB 6.84 kB = 1.88 kB 1.88 kB
oss-experimental/react-dom/cjs/react-dom-client.production.js = 670.67 kB 669.74 kB = 118.08 kB 118.00 kB
facebook-www/ReactDOM-prod.classic.js = 693.57 kB 693.57 kB = 122.05 kB 122.05 kB
facebook-www/ReactDOM-prod.modern.js = 683.95 kB 683.95 kB = 120.44 kB 120.44 kB
oss-experimental/react-noop-renderer/cjs/react-noop-renderer-server.development.js +17.88% 8.02 kB 9.46 kB +4.27% 1.69 kB 1.76 kB
oss-stable-semver/react-noop-renderer/cjs/react-noop-renderer-server.development.js +17.88% 8.02 kB 9.46 kB +4.27% 1.69 kB 1.76 kB
oss-stable/react-noop-renderer/cjs/react-noop-renderer-server.development.js +17.88% 8.02 kB 9.46 kB +4.27% 1.69 kB 1.76 kB
oss-experimental/react-noop-renderer/cjs/react-noop-renderer-server.production.js +17.60% 6.65 kB 7.82 kB +4.43% 1.60 kB 1.67 kB
oss-stable-semver/react-noop-renderer/cjs/react-noop-renderer-server.production.js +17.60% 6.65 kB 7.82 kB +4.43% 1.60 kB 1.67 kB
oss-stable/react-noop-renderer/cjs/react-noop-renderer-server.production.js +17.60% 6.65 kB 7.82 kB +4.43% 1.60 kB 1.67 kB
oss-stable-semver/react-server/cjs/react-server.production.js +3.64% 145.28 kB 150.57 kB +2.31% 25.49 kB 26.08 kB
oss-stable/react-server/cjs/react-server.production.js +3.64% 145.28 kB 150.57 kB +2.31% 25.49 kB 26.08 kB
oss-experimental/react-server/cjs/react-server.production.js +3.60% 148.76 kB 154.12 kB +2.24% 26.28 kB 26.86 kB
oss-stable-semver/react-server/cjs/react-server.development.js +2.84% 205.20 kB 211.04 kB +1.91% 36.17 kB 36.86 kB
oss-stable/react-server/cjs/react-server.development.js +2.84% 205.20 kB 211.04 kB +1.91% 36.17 kB 36.86 kB
oss-experimental/react-server/cjs/react-server.development.js +2.79% 209.99 kB 215.84 kB +1.81% 37.10 kB 37.77 kB
oss-experimental/react-markup/cjs/react-markup.production.js +2.55% 246.58 kB 252.88 kB +1.45% 45.71 kB 46.38 kB
oss-experimental/react-dom/cjs/react-dom-server.browser.production.js +2.49% 288.62 kB 295.81 kB +1.41% 50.99 kB 51.70 kB
oss-experimental/react-dom/cjs/react-dom-server.edge.production.js +2.49% 294.91 kB 302.25 kB +1.40% 53.32 kB 54.06 kB
facebook-www/ReactDOMServer-prod.modern.js +2.39% 256.50 kB 262.64 kB +1.69% 45.88 kB 46.65 kB
oss-stable-semver/react-dom/cjs/react-dom-server.edge.production.js +2.38% 282.83 kB 289.56 kB +1.46% 51.44 kB 52.19 kB
oss-stable/react-dom/cjs/react-dom-server.edge.production.js +2.38% 282.90 kB 289.63 kB +1.46% 51.46 kB 52.21 kB
oss-stable-semver/react-dom/cjs/react-dom-server.browser.production.js +2.38% 277.21 kB 283.80 kB +1.48% 49.34 kB 50.07 kB
oss-stable/react-dom/cjs/react-dom-server.browser.production.js +2.38% 277.28 kB 283.87 kB +1.48% 49.37 kB 50.10 kB
facebook-www/ReactDOMServer-prod.classic.js +2.37% 258.84 kB 264.97 kB +1.69% 46.23 kB 47.01 kB
oss-experimental/react-dom/cjs/react-dom-server-legacy.node.production.js +2.37% 265.03 kB 271.31 kB +1.69% 48.56 kB 49.39 kB
oss-experimental/react-dom/cjs/react-dom-server-legacy.browser.production.js +2.36% 259.53 kB 265.67 kB +1.71% 46.47 kB 47.26 kB
oss-experimental/react-dom/cjs/react-dom-server.node.production.js +2.33% 302.64 kB 309.70 kB +1.25% 53.17 kB 53.84 kB
facebook-www/ReactDOMServerStreaming-prod.modern.js +2.33% 266.33 kB 272.54 kB +1.59% 48.69 kB 49.47 kB
oss-stable-semver/react-dom/cjs/react-dom-server.node.production.js +2.29% 290.89 kB 297.56 kB +1.13% 51.30 kB 51.88 kB
oss-stable-semver/react-dom/cjs/react-dom-server-legacy.node.production.js +2.29% 254.67 kB 260.51 kB +1.63% 46.91 kB 47.68 kB
oss-stable/react-dom/cjs/react-dom-server-legacy.node.production.js +2.29% 254.69 kB 260.53 kB +1.63% 46.94 kB 47.70 kB
oss-stable/react-dom/cjs/react-dom-server.node.production.js +2.29% 290.97 kB 297.64 kB +1.13% 51.32 kB 51.90 kB
oss-stable-semver/react-dom/cjs/react-dom-server-legacy.browser.production.js +2.28% 249.75 kB 255.44 kB +1.61% 45.04 kB 45.77 kB
oss-stable/react-dom/cjs/react-dom-server-legacy.browser.production.js +2.28% 249.77 kB 255.47 kB +1.61% 45.07 kB 45.79 kB
oss-experimental/react-dom/cjs/react-dom-server.bun.production.js +2.07% 289.22 kB 295.22 kB +1.46% 50.78 kB 51.52 kB
oss-stable-semver/react-dom/cjs/react-dom-server.bun.production.js +2.06% 277.96 kB 283.69 kB +1.45% 48.99 kB 49.70 kB
oss-stable/react-dom/cjs/react-dom-server.bun.production.js +2.06% 278.04 kB 283.76 kB +1.45% 49.02 kB 49.73 kB

Significant size changes

Includes any change greater than 0.2%:

Expand to show
Name +/- Base Current +/- gzip Base gzip Current gzip
oss-experimental/react-noop-renderer/cjs/react-noop-renderer-server.development.js +17.88% 8.02 kB 9.46 kB +4.27% 1.69 kB 1.76 kB
oss-stable-semver/react-noop-renderer/cjs/react-noop-renderer-server.development.js +17.88% 8.02 kB 9.46 kB +4.27% 1.69 kB 1.76 kB
oss-stable/react-noop-renderer/cjs/react-noop-renderer-server.development.js +17.88% 8.02 kB 9.46 kB +4.27% 1.69 kB 1.76 kB
oss-experimental/react-noop-renderer/cjs/react-noop-renderer-server.production.js +17.60% 6.65 kB 7.82 kB +4.43% 1.60 kB 1.67 kB
oss-stable-semver/react-noop-renderer/cjs/react-noop-renderer-server.production.js +17.60% 6.65 kB 7.82 kB +4.43% 1.60 kB 1.67 kB
oss-stable/react-noop-renderer/cjs/react-noop-renderer-server.production.js +17.60% 6.65 kB 7.82 kB +4.43% 1.60 kB 1.67 kB
oss-stable-semver/react-server/cjs/react-server.production.js +3.64% 145.28 kB 150.57 kB +2.31% 25.49 kB 26.08 kB
oss-stable/react-server/cjs/react-server.production.js +3.64% 145.28 kB 150.57 kB +2.31% 25.49 kB 26.08 kB
oss-experimental/react-server/cjs/react-server.production.js +3.60% 148.76 kB 154.12 kB +2.24% 26.28 kB 26.86 kB
oss-stable-semver/react-server/cjs/react-server.development.js +2.84% 205.20 kB 211.04 kB +1.91% 36.17 kB 36.86 kB
oss-stable/react-server/cjs/react-server.development.js +2.84% 205.20 kB 211.04 kB +1.91% 36.17 kB 36.86 kB
oss-experimental/react-server/cjs/react-server.development.js +2.79% 209.99 kB 215.84 kB +1.81% 37.10 kB 37.77 kB
oss-experimental/react-markup/cjs/react-markup.production.js +2.55% 246.58 kB 252.88 kB +1.45% 45.71 kB 46.38 kB
oss-experimental/react-dom/cjs/react-dom-server.browser.production.js +2.49% 288.62 kB 295.81 kB +1.41% 50.99 kB 51.70 kB
oss-experimental/react-dom/cjs/react-dom-server.edge.production.js +2.49% 294.91 kB 302.25 kB +1.40% 53.32 kB 54.06 kB
facebook-www/ReactDOMServer-prod.modern.js +2.39% 256.50 kB 262.64 kB +1.69% 45.88 kB 46.65 kB
oss-stable-semver/react-dom/cjs/react-dom-server.edge.production.js +2.38% 282.83 kB 289.56 kB +1.46% 51.44 kB 52.19 kB
oss-stable/react-dom/cjs/react-dom-server.edge.production.js +2.38% 282.90 kB 289.63 kB +1.46% 51.46 kB 52.21 kB
oss-stable-semver/react-dom/cjs/react-dom-server.browser.production.js +2.38% 277.21 kB 283.80 kB +1.48% 49.34 kB 50.07 kB
oss-stable/react-dom/cjs/react-dom-server.browser.production.js +2.38% 277.28 kB 283.87 kB +1.48% 49.37 kB 50.10 kB
facebook-www/ReactDOMServer-prod.classic.js +2.37% 258.84 kB 264.97 kB +1.69% 46.23 kB 47.01 kB
oss-experimental/react-dom/cjs/react-dom-server-legacy.node.production.js +2.37% 265.03 kB 271.31 kB +1.69% 48.56 kB 49.39 kB
oss-experimental/react-dom/cjs/react-dom-server-legacy.browser.production.js +2.36% 259.53 kB 265.67 kB +1.71% 46.47 kB 47.26 kB
oss-experimental/react-dom/cjs/react-dom-server.node.production.js +2.33% 302.64 kB 309.70 kB +1.25% 53.17 kB 53.84 kB
facebook-www/ReactDOMServerStreaming-prod.modern.js +2.33% 266.33 kB 272.54 kB +1.59% 48.69 kB 49.47 kB
oss-stable-semver/react-dom/cjs/react-dom-server.node.production.js +2.29% 290.89 kB 297.56 kB +1.13% 51.30 kB 51.88 kB
oss-stable-semver/react-dom/cjs/react-dom-server-legacy.node.production.js +2.29% 254.67 kB 260.51 kB +1.63% 46.91 kB 47.68 kB
oss-stable/react-dom/cjs/react-dom-server-legacy.node.production.js +2.29% 254.69 kB 260.53 kB +1.63% 46.94 kB 47.70 kB
oss-stable/react-dom/cjs/react-dom-server.node.production.js +2.29% 290.97 kB 297.64 kB +1.13% 51.32 kB 51.90 kB
oss-stable-semver/react-dom/cjs/react-dom-server-legacy.browser.production.js +2.28% 249.75 kB 255.44 kB +1.61% 45.04 kB 45.77 kB
oss-stable/react-dom/cjs/react-dom-server-legacy.browser.production.js +2.28% 249.77 kB 255.47 kB +1.61% 45.07 kB 45.79 kB
oss-experimental/react-dom/cjs/react-dom-server.bun.production.js +2.07% 289.22 kB 295.22 kB +1.46% 50.78 kB 51.52 kB
oss-stable-semver/react-dom/cjs/react-dom-server.bun.production.js +2.06% 277.96 kB 283.69 kB +1.45% 48.99 kB 49.70 kB
oss-stable/react-dom/cjs/react-dom-server.bun.production.js +2.06% 278.04 kB 283.76 kB +1.45% 49.02 kB 49.73 kB
oss-stable-semver/react-dom/cjs/react-dom-server.browser.development.js +1.82% 433.35 kB 441.26 kB +1.18% 77.20 kB 78.10 kB
oss-stable/react-dom/cjs/react-dom-server.browser.development.js +1.82% 433.43 kB 441.33 kB +1.17% 77.25 kB 78.15 kB
oss-stable-semver/react-dom/cjs/react-dom-server-legacy.node.development.js +1.82% 404.01 kB 411.37 kB +1.30% 73.07 kB 74.02 kB
oss-stable-semver/react-dom/cjs/react-dom-server-legacy.browser.development.js +1.82% 404.01 kB 411.38 kB +1.30% 73.07 kB 74.02 kB
oss-stable/react-dom/cjs/react-dom-server-legacy.node.development.js +1.82% 404.03 kB 411.40 kB +1.30% 73.10 kB 74.04 kB
oss-stable/react-dom/cjs/react-dom-server-legacy.browser.development.js +1.82% 404.03 kB 411.40 kB +1.30% 73.10 kB 74.04 kB
oss-stable-semver/react-dom/cjs/react-dom-server.edge.development.js +1.82% 434.13 kB 442.04 kB +1.16% 77.37 kB 78.27 kB
oss-stable/react-dom/cjs/react-dom-server.edge.development.js +1.82% 434.21 kB 442.12 kB +1.16% 77.42 kB 78.31 kB
oss-experimental/react-markup/cjs/react-markup.react-server.production.js +1.76% 357.68 kB 363.97 kB +1.10% 66.35 kB 67.08 kB
oss-stable-semver/react-dom/cjs/react-dom-server.node.development.js +1.74% 440.39 kB 448.05 kB +1.22% 77.16 kB 78.10 kB
oss-stable/react-dom/cjs/react-dom-server.node.development.js +1.74% 440.47 kB 448.13 kB +1.21% 77.21 kB 78.15 kB
oss-stable-semver/react-dom/cjs/react-dom-server.bun.development.js +1.68% 383.83 kB 390.28 kB +1.30% 72.76 kB 73.70 kB
oss-stable/react-dom/cjs/react-dom-server.bun.development.js +1.68% 383.90 kB 390.36 kB +1.29% 72.79 kB 73.73 kB
oss-experimental/react-dom/cjs/react-dom-server.browser.development.js +1.63% 449.71 kB 457.02 kB +1.11% 79.50 kB 80.39 kB
oss-experimental/react-dom/cjs/react-dom-server.edge.development.js +1.62% 450.72 kB 458.03 kB +1.12% 79.73 kB 80.62 kB
facebook-www/ReactDOMServer-dev.modern.js +1.62% 414.90 kB 421.63 kB +1.14% 74.46 kB 75.30 kB
facebook-www/ReactDOMServer-dev.classic.js +1.61% 418.34 kB 425.07 kB +1.10% 75.05 kB 75.88 kB
oss-experimental/react-dom/cjs/react-dom-server-legacy.node.development.js +1.60% 419.32 kB 426.04 kB +1.10% 75.32 kB 76.14 kB
oss-experimental/react-dom/cjs/react-dom-server-legacy.browser.development.js +1.60% 419.33 kB 426.05 kB +1.09% 75.32 kB 76.14 kB
oss-experimental/react-markup/cjs/react-markup.development.js +1.60% 391.18 kB 397.44 kB +1.15% 71.05 kB 71.87 kB
oss-experimental/react-dom/cjs/react-dom-server.node.development.js +1.52% 456.48 kB 463.41 kB +1.11% 79.50 kB 80.38 kB
oss-experimental/react-dom/cjs/react-dom-server.bun.development.js +1.50% 398.06 kB 404.02 kB +1.06% 75.08 kB 75.88 kB
facebook-www/ReactDOMServerStreaming-dev.modern.js +1.49% 413.41 kB 419.59 kB +1.17% 74.02 kB 74.89 kB
oss-experimental/react-markup/cjs/react-markup.react-server.development.js +0.94% 668.58 kB 674.84 kB +0.64% 118.34 kB 119.10 kB
oss-experimental/react-dom/unstable_server-external-runtime.js +0.20% 18.15 kB 18.19 kB +0.12% 4.13 kB 4.13 kB
oss-experimental/react-dom/cjs/react-dom-profiling.profiling.js = 749.95 kB 748.40 kB = 129.64 kB 129.36 kB
oss-experimental/react-reconciler/cjs/react-reconciler.development.js = 862.37 kB 860.38 kB = 134.30 kB 134.01 kB
oss-experimental/react-art/cjs/react-art.development.js = 733.87 kB 731.96 kB = 115.46 kB 115.15 kB
oss-experimental/react-reconciler/cjs/react-reconciler.profiling.js = 567.78 kB 566.12 kB = 88.42 kB 88.17 kB
oss-experimental/react-art/cjs/react-art.production.js = 358.53 kB 356.88 kB = 60.45 kB 60.21 kB

Generated by 🚫 dangerJS against d5ffec1

This will be used to keep track of a list that need rows added to it.

It's also used as a marker on the SuspenseBoundary if the boundary is an
implicit boundary added around each row in a tail hidden/collapsed.
This will allow us to skip past a SuspenseList's rows when hydrating it
if we don't yet have all the rows satisfied.
Assuming we didn't emit comments around every row.
The complex part about this mode is that we can't release the previous row
until we have a loading state for the next row.

So we make the implicit boundary of the next row block the preceeding row.
But since that also blocks the next implicit boundary, there's a cycle
that needs special handling.
This avoids the wrapper around the implicit suspense boundaries and instead
is meant to emit a single marker at the end of the list where new items
will be inserted.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

CLA Signed React Core Team Opened by a member of the React Core Team

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants