Skip to content
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

[Flight] Allow aborting during render #29764

Merged
merged 1 commit into from
Jun 6, 2024

Conversation

gnoff
Copy link
Collaborator

@gnoff gnoff commented Jun 5, 2024

Stacked on #29491

Previously if you aborted during a render the currently rendering task would itself be aborted which will cause the entire model to be replaced by the aborted error rather than just the slot currently being rendered.

This change updates the abort logic to mark currently rendering tasks as aborted but allowing the current render to emit a partially serialized model with an error reference in place of the current model.

The intent is to support aborting from rendering synchronously, in microtasks (after an await or in a .then) and in lazy initializers. We don't specifically support aborting from things like proxies that might be triggered during serialization of props

Copy link

vercel bot commented Jun 5, 2024

The latest updates on your projects. Learn more about Vercel for Git ↗︎

Name Status Preview Comments Updated (UTC)
react-compiler-playground ✅ Ready (Inspect) Visit Preview 💬 Add feedback Jun 6, 2024 8:36pm

@facebook-github-bot facebook-github-bot added CLA Signed React Core Team Opened by a member of the React Core Team labels Jun 5, 2024
@react-sizebot
Copy link

react-sizebot commented Jun 5, 2024

Comparing: 1e1e5cd...67157af

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.66 kB 6.66 kB +0.11% 1.82 kB 1.82 kB
oss-stable/react-dom/cjs/react-dom-client.production.js = 497.26 kB 497.26 kB = 89.11 kB 89.11 kB
oss-experimental/react-dom/cjs/react-dom.production.js = 6.67 kB 6.67 kB +0.11% 1.83 kB 1.83 kB
oss-experimental/react-dom/cjs/react-dom-client.production.js = 502.08 kB 502.08 kB = 89.80 kB 89.80 kB
facebook-www/ReactDOM-prod.classic.js = 594.56 kB 594.56 kB = 104.72 kB 104.72 kB
facebook-www/ReactDOM-prod.modern.js = 570.95 kB 570.95 kB = 101.13 kB 101.13 kB
oss-stable-rc/react-server/cjs/react-server-flight.production.js +4.08% 52.56 kB 54.70 kB +2.56% 10.74 kB 11.01 kB
oss-stable-semver/react-server/cjs/react-server-flight.production.js +4.08% 52.56 kB 54.70 kB +2.56% 10.74 kB 11.01 kB
oss-stable/react-server/cjs/react-server-flight.production.js +4.08% 52.56 kB 54.70 kB +2.56% 10.74 kB 11.01 kB
oss-stable-rc/react-server/cjs/react-server-flight.development.js +2.68% 110.16 kB 113.11 kB +2.11% 24.45 kB 24.96 kB
oss-stable-semver/react-server/cjs/react-server-flight.development.js +2.68% 110.16 kB 113.11 kB +2.11% 24.45 kB 24.96 kB
oss-stable/react-server/cjs/react-server-flight.development.js +2.68% 110.16 kB 113.11 kB +2.11% 24.45 kB 24.96 kB
oss-stable-rc/react-server-dom-esm/cjs/react-server-dom-esm-server.node.production.js +2.47% 84.01 kB 86.08 kB +1.60% 17.69 kB 17.97 kB
oss-stable-semver/react-server-dom-esm/cjs/react-server-dom-esm-server.node.production.js +2.47% 84.01 kB 86.08 kB +1.60% 17.69 kB 17.97 kB
oss-stable/react-server-dom-esm/cjs/react-server-dom-esm-server.node.production.js +2.47% 84.01 kB 86.08 kB +1.60% 17.69 kB 17.97 kB
oss-stable-rc/react-server-dom-turbopack/cjs/react-server-dom-turbopack-server.browser.production.js +2.40% 86.95 kB 89.04 kB +1.52% 18.07 kB 18.34 kB
oss-stable-semver/react-server-dom-turbopack/cjs/react-server-dom-turbopack-server.browser.production.js +2.40% 86.95 kB 89.04 kB +1.52% 18.07 kB 18.34 kB
oss-stable/react-server-dom-turbopack/cjs/react-server-dom-turbopack-server.browser.production.js +2.40% 86.95 kB 89.04 kB +1.52% 18.07 kB 18.34 kB
oss-experimental/react-server/cjs/react-server-flight.development.js +2.39% 123.26 kB 126.21 kB +2.19% 27.31 kB 27.91 kB
oss-stable-rc/react-server-dom-webpack/cjs/react-server-dom-webpack-server.browser.production.js +2.39% 87.27 kB 89.36 kB +1.55% 18.16 kB 18.44 kB
oss-stable-semver/react-server-dom-webpack/cjs/react-server-dom-webpack-server.browser.production.js +2.39% 87.27 kB 89.36 kB +1.55% 18.16 kB 18.44 kB
oss-stable/react-server-dom-webpack/cjs/react-server-dom-webpack-server.browser.production.js +2.39% 87.27 kB 89.36 kB +1.55% 18.16 kB 18.44 kB
oss-stable-rc/react-server-dom-webpack/cjs/react-server-dom-webpack-server.edge.production.js +2.39% 87.29 kB 89.37 kB +1.54% 18.19 kB 18.47 kB
oss-stable-semver/react-server-dom-webpack/cjs/react-server-dom-webpack-server.edge.production.js +2.39% 87.29 kB 89.37 kB +1.54% 18.19 kB 18.47 kB
oss-stable/react-server-dom-webpack/cjs/react-server-dom-webpack-server.edge.production.js +2.39% 87.29 kB 89.37 kB +1.54% 18.19 kB 18.47 kB
oss-stable-rc/react-server-dom-turbopack/cjs/react-server-dom-turbopack-server.edge.production.js +2.39% 87.31 kB 89.40 kB +1.53% 18.18 kB 18.46 kB
oss-stable-semver/react-server-dom-turbopack/cjs/react-server-dom-turbopack-server.edge.production.js +2.39% 87.31 kB 89.40 kB +1.53% 18.18 kB 18.46 kB
oss-stable/react-server-dom-turbopack/cjs/react-server-dom-turbopack-server.edge.production.js +2.39% 87.31 kB 89.40 kB +1.53% 18.18 kB 18.46 kB
oss-stable-rc/react-server-dom-webpack/cjs/react-server-dom-webpack-server.node.unbundled.production.js +2.32% 89.49 kB 91.57 kB +1.51% 18.55 kB 18.83 kB
oss-stable-semver/react-server-dom-webpack/cjs/react-server-dom-webpack-server.node.unbundled.production.js +2.32% 89.49 kB 91.57 kB +1.51% 18.55 kB 18.83 kB
oss-stable/react-server-dom-webpack/cjs/react-server-dom-webpack-server.node.unbundled.production.js +2.32% 89.49 kB 91.57 kB +1.51% 18.55 kB 18.83 kB
oss-stable-rc/react-server-dom-turbopack/cjs/react-server-dom-turbopack-server.node.unbundled.production.js +2.32% 89.51 kB 91.59 kB +1.51% 18.56 kB 18.84 kB
oss-stable-semver/react-server-dom-turbopack/cjs/react-server-dom-turbopack-server.node.unbundled.production.js +2.32% 89.51 kB 91.59 kB +1.51% 18.56 kB 18.84 kB
oss-stable/react-server-dom-turbopack/cjs/react-server-dom-turbopack-server.node.unbundled.production.js +2.32% 89.51 kB 91.59 kB +1.51% 18.56 kB 18.84 kB
oss-stable-rc/react-server-dom-webpack/cjs/react-server-dom-webpack-server.node.production.js +2.30% 90.44 kB 92.52 kB +1.61% 18.75 kB 19.06 kB
oss-stable-semver/react-server-dom-webpack/cjs/react-server-dom-webpack-server.node.production.js +2.30% 90.44 kB 92.52 kB +1.61% 18.75 kB 19.06 kB
oss-stable/react-server-dom-webpack/cjs/react-server-dom-webpack-server.node.production.js +2.30% 90.44 kB 92.52 kB +1.61% 18.75 kB 19.06 kB
oss-stable-rc/react-server-dom-turbopack/cjs/react-server-dom-turbopack-server.node.production.js +2.30% 90.47 kB 92.55 kB +1.61% 18.75 kB 19.05 kB
oss-stable-semver/react-server-dom-turbopack/cjs/react-server-dom-turbopack-server.node.production.js +2.30% 90.47 kB 92.55 kB +1.61% 18.75 kB 19.05 kB
oss-stable/react-server-dom-turbopack/cjs/react-server-dom-turbopack-server.node.production.js +2.30% 90.47 kB 92.55 kB +1.61% 18.75 kB 19.05 kB
oss-experimental/react-server/cjs/react-server-flight.production.js +2.14% 57.55 kB 58.78 kB +2.16% 11.48 kB 11.73 kB
test_utils/ReactAllWarnings.js Deleted 63.89 kB 0.00 kB Deleted 15.97 kB 0.00 kB

Significant size changes

Includes any change greater than 0.2%:

Expand to show
Name +/- Base Current +/- gzip Base gzip Current gzip
oss-stable-rc/react-server/cjs/react-server-flight.production.js +4.08% 52.56 kB 54.70 kB +2.56% 10.74 kB 11.01 kB
oss-stable-semver/react-server/cjs/react-server-flight.production.js +4.08% 52.56 kB 54.70 kB +2.56% 10.74 kB 11.01 kB
oss-stable/react-server/cjs/react-server-flight.production.js +4.08% 52.56 kB 54.70 kB +2.56% 10.74 kB 11.01 kB
oss-stable-rc/react-server/cjs/react-server-flight.development.js +2.68% 110.16 kB 113.11 kB +2.11% 24.45 kB 24.96 kB
oss-stable-semver/react-server/cjs/react-server-flight.development.js +2.68% 110.16 kB 113.11 kB +2.11% 24.45 kB 24.96 kB
oss-stable/react-server/cjs/react-server-flight.development.js +2.68% 110.16 kB 113.11 kB +2.11% 24.45 kB 24.96 kB
oss-stable-rc/react-server-dom-esm/cjs/react-server-dom-esm-server.node.production.js +2.47% 84.01 kB 86.08 kB +1.60% 17.69 kB 17.97 kB
oss-stable-semver/react-server-dom-esm/cjs/react-server-dom-esm-server.node.production.js +2.47% 84.01 kB 86.08 kB +1.60% 17.69 kB 17.97 kB
oss-stable/react-server-dom-esm/cjs/react-server-dom-esm-server.node.production.js +2.47% 84.01 kB 86.08 kB +1.60% 17.69 kB 17.97 kB
oss-stable-rc/react-server-dom-turbopack/cjs/react-server-dom-turbopack-server.browser.production.js +2.40% 86.95 kB 89.04 kB +1.52% 18.07 kB 18.34 kB
oss-stable-semver/react-server-dom-turbopack/cjs/react-server-dom-turbopack-server.browser.production.js +2.40% 86.95 kB 89.04 kB +1.52% 18.07 kB 18.34 kB
oss-stable/react-server-dom-turbopack/cjs/react-server-dom-turbopack-server.browser.production.js +2.40% 86.95 kB 89.04 kB +1.52% 18.07 kB 18.34 kB
oss-experimental/react-server/cjs/react-server-flight.development.js +2.39% 123.26 kB 126.21 kB +2.19% 27.31 kB 27.91 kB
oss-stable-rc/react-server-dom-webpack/cjs/react-server-dom-webpack-server.browser.production.js +2.39% 87.27 kB 89.36 kB +1.55% 18.16 kB 18.44 kB
oss-stable-semver/react-server-dom-webpack/cjs/react-server-dom-webpack-server.browser.production.js +2.39% 87.27 kB 89.36 kB +1.55% 18.16 kB 18.44 kB
oss-stable/react-server-dom-webpack/cjs/react-server-dom-webpack-server.browser.production.js +2.39% 87.27 kB 89.36 kB +1.55% 18.16 kB 18.44 kB
oss-stable-rc/react-server-dom-webpack/cjs/react-server-dom-webpack-server.edge.production.js +2.39% 87.29 kB 89.37 kB +1.54% 18.19 kB 18.47 kB
oss-stable-semver/react-server-dom-webpack/cjs/react-server-dom-webpack-server.edge.production.js +2.39% 87.29 kB 89.37 kB +1.54% 18.19 kB 18.47 kB
oss-stable/react-server-dom-webpack/cjs/react-server-dom-webpack-server.edge.production.js +2.39% 87.29 kB 89.37 kB +1.54% 18.19 kB 18.47 kB
oss-stable-rc/react-server-dom-turbopack/cjs/react-server-dom-turbopack-server.edge.production.js +2.39% 87.31 kB 89.40 kB +1.53% 18.18 kB 18.46 kB
oss-stable-semver/react-server-dom-turbopack/cjs/react-server-dom-turbopack-server.edge.production.js +2.39% 87.31 kB 89.40 kB +1.53% 18.18 kB 18.46 kB
oss-stable/react-server-dom-turbopack/cjs/react-server-dom-turbopack-server.edge.production.js +2.39% 87.31 kB 89.40 kB +1.53% 18.18 kB 18.46 kB
oss-stable-rc/react-server-dom-webpack/cjs/react-server-dom-webpack-server.node.unbundled.production.js +2.32% 89.49 kB 91.57 kB +1.51% 18.55 kB 18.83 kB
oss-stable-semver/react-server-dom-webpack/cjs/react-server-dom-webpack-server.node.unbundled.production.js +2.32% 89.49 kB 91.57 kB +1.51% 18.55 kB 18.83 kB
oss-stable/react-server-dom-webpack/cjs/react-server-dom-webpack-server.node.unbundled.production.js +2.32% 89.49 kB 91.57 kB +1.51% 18.55 kB 18.83 kB
oss-stable-rc/react-server-dom-turbopack/cjs/react-server-dom-turbopack-server.node.unbundled.production.js +2.32% 89.51 kB 91.59 kB +1.51% 18.56 kB 18.84 kB
oss-stable-semver/react-server-dom-turbopack/cjs/react-server-dom-turbopack-server.node.unbundled.production.js +2.32% 89.51 kB 91.59 kB +1.51% 18.56 kB 18.84 kB
oss-stable/react-server-dom-turbopack/cjs/react-server-dom-turbopack-server.node.unbundled.production.js +2.32% 89.51 kB 91.59 kB +1.51% 18.56 kB 18.84 kB
oss-stable-rc/react-server-dom-webpack/cjs/react-server-dom-webpack-server.node.production.js +2.30% 90.44 kB 92.52 kB +1.61% 18.75 kB 19.06 kB
oss-stable-semver/react-server-dom-webpack/cjs/react-server-dom-webpack-server.node.production.js +2.30% 90.44 kB 92.52 kB +1.61% 18.75 kB 19.06 kB
oss-stable/react-server-dom-webpack/cjs/react-server-dom-webpack-server.node.production.js +2.30% 90.44 kB 92.52 kB +1.61% 18.75 kB 19.06 kB
oss-stable-rc/react-server-dom-turbopack/cjs/react-server-dom-turbopack-server.node.production.js +2.30% 90.47 kB 92.55 kB +1.61% 18.75 kB 19.05 kB
oss-stable-semver/react-server-dom-turbopack/cjs/react-server-dom-turbopack-server.node.production.js +2.30% 90.47 kB 92.55 kB +1.61% 18.75 kB 19.05 kB
oss-stable/react-server-dom-turbopack/cjs/react-server-dom-turbopack-server.node.production.js +2.30% 90.47 kB 92.55 kB +1.61% 18.75 kB 19.05 kB
oss-experimental/react-server/cjs/react-server-flight.production.js +2.14% 57.55 kB 58.78 kB +2.16% 11.48 kB 11.73 kB
oss-stable-rc/react-server-dom-esm/cjs/react-server-dom-esm-server.node.development.js +1.82% 162.52 kB 165.47 kB +1.50% 35.90 kB 36.44 kB
oss-stable-semver/react-server-dom-esm/cjs/react-server-dom-esm-server.node.development.js +1.82% 162.52 kB 165.47 kB +1.50% 35.90 kB 36.44 kB
oss-stable/react-server-dom-esm/cjs/react-server-dom-esm-server.node.development.js +1.82% 162.52 kB 165.47 kB +1.50% 35.90 kB 36.44 kB
oss-stable-rc/react-server-dom-turbopack/cjs/react-server-dom-turbopack-server.browser.development.js +1.75% 168.58 kB 171.53 kB +1.42% 37.25 kB 37.78 kB
oss-stable-semver/react-server-dom-turbopack/cjs/react-server-dom-turbopack-server.browser.development.js +1.75% 168.58 kB 171.53 kB +1.42% 37.25 kB 37.78 kB
oss-stable/react-server-dom-turbopack/cjs/react-server-dom-turbopack-server.browser.development.js +1.75% 168.58 kB 171.53 kB +1.42% 37.25 kB 37.78 kB
oss-stable-rc/react-server-dom-webpack/cjs/react-server-dom-webpack-server.browser.development.js +1.74% 169.28 kB 172.23 kB +1.41% 37.49 kB 38.02 kB
oss-stable-semver/react-server-dom-webpack/cjs/react-server-dom-webpack-server.browser.development.js +1.74% 169.28 kB 172.23 kB +1.41% 37.49 kB 38.02 kB
oss-stable/react-server-dom-webpack/cjs/react-server-dom-webpack-server.browser.development.js +1.74% 169.28 kB 172.23 kB +1.41% 37.49 kB 38.02 kB
oss-stable-rc/react-server-dom-turbopack/cjs/react-server-dom-turbopack-server.edge.development.js +1.74% 169.61 kB 172.56 kB +1.45% 37.43 kB 37.98 kB
oss-stable-semver/react-server-dom-turbopack/cjs/react-server-dom-turbopack-server.edge.development.js +1.74% 169.61 kB 172.56 kB +1.45% 37.43 kB 37.98 kB
oss-stable/react-server-dom-turbopack/cjs/react-server-dom-turbopack-server.edge.development.js +1.74% 169.61 kB 172.56 kB +1.45% 37.43 kB 37.98 kB
oss-stable-rc/react-server-dom-webpack/cjs/react-server-dom-webpack-server.edge.development.js +1.74% 169.79 kB 172.74 kB +1.44% 37.51 kB 38.05 kB
oss-stable-semver/react-server-dom-webpack/cjs/react-server-dom-webpack-server.edge.development.js +1.74% 169.79 kB 172.74 kB +1.44% 37.51 kB 38.05 kB
oss-stable/react-server-dom-webpack/cjs/react-server-dom-webpack-server.edge.development.js +1.74% 169.79 kB 172.74 kB +1.44% 37.51 kB 38.05 kB
oss-stable-rc/react-server-dom-turbopack/cjs/react-server-dom-turbopack-server.node.unbundled.development.js +1.73% 170.40 kB 173.35 kB +1.40% 37.34 kB 37.86 kB
oss-stable-semver/react-server-dom-turbopack/cjs/react-server-dom-turbopack-server.node.unbundled.development.js +1.73% 170.40 kB 173.35 kB +1.40% 37.34 kB 37.86 kB
oss-stable/react-server-dom-turbopack/cjs/react-server-dom-turbopack-server.node.unbundled.development.js +1.73% 170.40 kB 173.35 kB +1.40% 37.34 kB 37.86 kB
oss-stable-rc/react-server-dom-webpack/cjs/react-server-dom-webpack-server.node.unbundled.development.js +1.73% 170.58 kB 173.53 kB +1.40% 37.39 kB 37.92 kB
oss-stable-semver/react-server-dom-webpack/cjs/react-server-dom-webpack-server.node.unbundled.development.js +1.73% 170.58 kB 173.53 kB +1.40% 37.39 kB 37.92 kB
oss-stable/react-server-dom-webpack/cjs/react-server-dom-webpack-server.node.unbundled.development.js +1.73% 170.58 kB 173.53 kB +1.40% 37.39 kB 37.92 kB
oss-stable-rc/react-server-dom-turbopack/cjs/react-server-dom-turbopack-server.node.development.js +1.70% 173.04 kB 175.99 kB +1.41% 38.13 kB 38.67 kB
oss-stable-semver/react-server-dom-turbopack/cjs/react-server-dom-turbopack-server.node.development.js +1.70% 173.04 kB 175.99 kB +1.41% 38.13 kB 38.67 kB
oss-stable/react-server-dom-turbopack/cjs/react-server-dom-turbopack-server.node.development.js +1.70% 173.04 kB 175.99 kB +1.41% 38.13 kB 38.67 kB
oss-stable-rc/react-server-dom-webpack/cjs/react-server-dom-webpack-server.node.development.js +1.70% 173.22 kB 176.17 kB +1.40% 38.20 kB 38.74 kB
oss-stable-semver/react-server-dom-webpack/cjs/react-server-dom-webpack-server.node.development.js +1.70% 173.22 kB 176.17 kB +1.40% 38.20 kB 38.74 kB
oss-stable/react-server-dom-webpack/cjs/react-server-dom-webpack-server.node.development.js +1.70% 173.22 kB 176.17 kB +1.40% 38.20 kB 38.74 kB
oss-experimental/react-server-dom-esm/cjs/react-server-dom-esm-server.node.development.js +1.67% 176.28 kB 179.23 kB +1.44% 39.02 kB 39.58 kB
oss-experimental/react-server-dom-turbopack/cjs/react-server-dom-turbopack-server.browser.development.js +1.62% 181.68 kB 184.63 kB +1.46% 40.14 kB 40.73 kB
oss-experimental/react-server-dom-webpack/cjs/react-server-dom-webpack-server.browser.development.js +1.62% 182.38 kB 185.33 kB +1.46% 40.38 kB 40.97 kB
oss-experimental/react-server-dom-turbopack/cjs/react-server-dom-turbopack-server.edge.development.js +1.61% 183.39 kB 186.34 kB +1.42% 40.56 kB 41.14 kB
oss-experimental/react-server-dom-webpack/cjs/react-server-dom-webpack-server.edge.development.js +1.61% 183.57 kB 186.52 kB +1.41% 40.63 kB 41.20 kB
oss-experimental/react-server-dom-turbopack/cjs/react-server-dom-turbopack-server.node.unbundled.development.js +1.60% 184.15 kB 187.10 kB +1.38% 40.44 kB 41.00 kB
oss-experimental/react-server-dom-webpack/cjs/react-server-dom-webpack-server.node.unbundled.development.js +1.60% 184.33 kB 187.28 kB +1.39% 40.50 kB 41.07 kB
oss-experimental/react-server-dom-turbopack/cjs/react-server-dom-turbopack-server.node.development.js +1.58% 186.79 kB 189.74 kB +1.37% 41.26 kB 41.82 kB
oss-experimental/react-server-dom-webpack/cjs/react-server-dom-webpack-server.node.development.js +1.58% 186.97 kB 189.92 kB +1.37% 41.33 kB 41.90 kB
oss-experimental/react-server-dom-esm/cjs/react-server-dom-esm-server.node.production.js +1.27% 88.67 kB 89.79 kB +1.28% 18.38 kB 18.62 kB
oss-experimental/react-server-dom-turbopack/cjs/react-server-dom-turbopack-server.browser.production.js +1.23% 91.66 kB 92.79 kB +1.29% 18.77 kB 19.01 kB
oss-experimental/react-server-dom-webpack/cjs/react-server-dom-webpack-server.browser.production.js +1.23% 91.98 kB 93.11 kB +1.30% 18.86 kB 19.10 kB
oss-experimental/react-server-dom-webpack/cjs/react-server-dom-webpack-server.edge.production.js +1.23% 92.08 kB 93.21 kB +1.27% 18.89 kB 19.13 kB
oss-experimental/react-server-dom-turbopack/cjs/react-server-dom-turbopack-server.edge.production.js +1.23% 92.11 kB 93.24 kB +1.27% 18.88 kB 19.12 kB
oss-experimental/react-server-dom-webpack/cjs/react-server-dom-webpack-server.node.unbundled.production.js +1.19% 94.16 kB 95.28 kB +1.25% 19.24 kB 19.48 kB
oss-experimental/react-server-dom-turbopack/cjs/react-server-dom-turbopack-server.node.unbundled.production.js +1.19% 94.18 kB 95.30 kB +1.25% 19.24 kB 19.48 kB
oss-experimental/react-server-dom-webpack/cjs/react-server-dom-webpack-server.node.production.js +1.18% 95.11 kB 96.23 kB +1.29% 19.45 kB 19.70 kB
oss-experimental/react-server-dom-turbopack/cjs/react-server-dom-turbopack-server.node.production.js +1.18% 95.14 kB 96.26 kB +1.29% 19.45 kB 19.70 kB
test_utils/ReactAllWarnings.js Deleted 63.89 kB 0.00 kB Deleted 15.97 kB 0.00 kB

Generated by 🚫 dangerJS against 67157af

Previously if you aborted during a render the currently rendering task would itself be aborted which will cause the entire model to be replaced by the aborted error rather than just the slot currently being rendered.

This change updates the abort logic to mark currently rendering tasks as aborted but allowing the current render to emit a partially serialized model with an error reference in place of the current model.

The intent is to support aborting from rendering synchronously, in microtasks (after an await or in a .then) and in lazy initializers. We don't specifically support aborting from things like proxies that might be triggered during serialization of props
@gnoff gnoff merged commit c4b433f into facebook:main Jun 6, 2024
44 checks passed
@gnoff gnoff deleted the allow-aborting-while-rendering branch June 6, 2024 21:41
github-actions bot pushed a commit that referenced this pull request Jun 6, 2024
Stacked on #29491

Previously if you aborted during a render the currently rendering task
would itself be aborted which will cause the entire model to be replaced
by the aborted error rather than just the slot currently being rendered.

This change updates the abort logic to mark currently rendering tasks as
aborted but allowing the current render to emit a partially serialized
model with an error reference in place of the current model.

The intent is to support aborting from rendering synchronously, in
microtasks (after an await or in a .then) and in lazy initializers. We
don't specifically support aborting from things like proxies that might
be triggered during serialization of props

DiffTrain build for commit c4b433f.
gnoff added a commit to gnoff/react that referenced this pull request Jul 26, 2024
Currently if you abort a Fizz render during rendering the render will not complete correctly because there are inconsistencies with task counting. This change updates the abort implementation to allow you to abort from within a render itself. We already landed a similar change for Flight in facebook#29764
gnoff added a commit to gnoff/react that referenced this pull request Jul 26, 2024
Currently if you abort a Fizz render during rendering the render will not complete correctly because there are inconsistencies with task counting. This change updates the abort implementation to allow you to abort from within a render itself. We already landed a similar change for Flight in facebook#29764
gnoff added a commit to gnoff/react that referenced this pull request Jul 29, 2024
Currently if you abort a Fizz render during rendering the render will not complete correctly because there are inconsistencies with task counting. This change updates the abort implementation to allow you to abort from within a render itself. We already landed a similar change for Flight in facebook#29764
gnoff added a commit to gnoff/react that referenced this pull request Jul 29, 2024
Currently if you abort a Fizz render during rendering the render will not complete correctly because there are inconsistencies with task counting. This change updates the abort implementation to allow you to abort from within a render itself. We already landed a similar change for Flight in facebook#29764
gnoff added a commit to gnoff/react that referenced this pull request Jul 29, 2024
Currently if you abort a Fizz render during rendering the render will not complete correctly because there are inconsistencies with task counting. This change updates the abort implementation to allow you to abort from within a render itself. We already landed a similar change for Flight in facebook#29764
gnoff added a commit that referenced this pull request Jul 29, 2024
Currently if you abort a Fizz render during rendering the render will
not complete correctly because there are inconsistencies with task
counting. This change updates the abort implementation to allow you to
abort from within a render itself. We already landed a similar change
for Flight in #29764
github-actions bot pushed a commit that referenced this pull request Jul 29, 2024
Currently if you abort a Fizz render during rendering the render will
not complete correctly because there are inconsistencies with task
counting. This change updates the abort implementation to allow you to
abort from within a render itself. We already landed a similar change
for Flight in #29764

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

4 participants