Skip to content

Conversation

gnoff
Copy link
Collaborator

@gnoff gnoff commented Oct 2, 2025

When we flush a Suspense boundary we might not flush the fallback segment, it might only flush a placeholder instead. In this case the segment can flush again but we do not want to flush the boundary itself a second time. We now detach the boundary after flushing it.

better solution to: #34668

@meta-cla meta-cla bot added the CLA Signed label Oct 2, 2025
@gnoff gnoff requested a review from sebmarkbage October 2, 2025 19:21
@github-actions github-actions bot added the React Core Team Opened by a member of the React Core Team label Oct 2, 2025
@gnoff gnoff force-pushed the detatch-boundary-after-flush branch from 66754f3 to 693513a Compare October 2, 2025 19:23
When we flush a Suspense boundary we might not flush the fallbak segment, it might only flush a placeholder instead. In this case the segment can flush again but we do not want to flush the boundary itself a second time. We now detatch the boundary after flushing it.
@gnoff gnoff force-pushed the detatch-boundary-after-flush branch from 693513a to 2eeb068 Compare October 2, 2025 19:24
@react-sizebot
Copy link

Comparing: c825f03...2eeb068

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.68 kB 6.68 kB +0.05% 1.83 kB 1.83 kB
oss-stable/react-dom/cjs/react-dom-client.production.js = 536.14 kB 536.14 kB = 94.81 kB 94.81 kB
oss-experimental/react-dom/cjs/react-dom.production.js = 6.69 kB 6.69 kB = 1.83 kB 1.83 kB
oss-experimental/react-dom/cjs/react-dom-client.production.js = 663.96 kB 663.96 kB = 117.04 kB 117.04 kB
facebook-www/ReactDOM-prod.classic.js = 687.83 kB 687.83 kB = 121.08 kB 121.08 kB
facebook-www/ReactDOM-prod.modern.js = 678.26 kB 678.26 kB = 119.43 kB 119.43 kB

Significant size changes

Includes any change greater than 0.2%:

(No significant changes)

Generated by 🚫 dangerJS against 2eeb068

@gnoff gnoff merged commit 7d9f876 into facebook:main Oct 2, 2025
240 of 241 checks passed
@gnoff gnoff deleted the detatch-boundary-after-flush branch October 2, 2025 20:22
github-actions bot pushed a commit that referenced this pull request Oct 2, 2025
When we flush a Suspense boundary we might not flush the fallback
segment, it might only flush a placeholder instead. In this case the
segment can flush again but we do not want to flush the boundary itself
a second time. We now detach the boundary after flushing it.

better solution to: #34668

DiffTrain build for [7d9f876](7d9f876)
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.

3 participants