Skip to content

Follow through all the phases when an error happens during snapshotting #32803

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Apr 2, 2025

Conversation

sebmarkbage
Copy link
Collaborator

This can happen for example if you have duplicate names in the "old" state. This errors the transition before the updateCallback is invoked so we haven't yet applied mutations etc.

This runs through those phases after the error to get us back to a consistent state.

@react-sizebot
Copy link

Comparing: 450f8df...c2681eb

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 = 1.83 kB 1.83 kB
oss-stable/react-dom/cjs/react-dom-client.production.js = 515.56 kB 515.56 kB = 91.84 kB 91.84 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 = 616.24 kB 616.30 kB = 109.03 kB 109.03 kB
facebook-www/ReactDOM-prod.classic.js +0.02% 650.13 kB 650.26 kB +0.03% 114.89 kB 114.92 kB
facebook-www/ReactDOM-prod.modern.js +0.02% 640.41 kB 640.54 kB +0.03% 113.33 kB 113.36 kB

Significant size changes

Includes any change greater than 0.2%:

(No significant changes)

Generated by 🚫 dangerJS against c2681eb

@@ -1802,6 +1802,12 @@ export function startViewTransition(
}
} finally {
// Continue the reset of the work.
// If the error happened in the snapshot phase before the update callback
// was invoked, then we need to first finish the mutation and layout phases.
// If they're already invoked it's still safe to call them due the status check.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
// If they're already invoked it's still safe to call them due the status check.
// If they're already invoked it's still safe to call them due to the status check.

@sebmarkbage sebmarkbage merged commit 040f828 into facebook:main Apr 2, 2025
243 checks passed
github-actions bot pushed a commit that referenced this pull request Apr 2, 2025
…ng (#32803)

This can happen for example if you have duplicate names in the "old"
state. This errors the transition before the updateCallback is invoked
so we haven't yet applied mutations etc.

This runs through those phases after the error to get us back to a
consistent state.

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

5 participants