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

experimental_use(promise) for SSR #25214

Merged
merged 1 commit into from
Sep 9, 2022
Merged

Conversation

acdlite
Copy link
Collaborator

@acdlite acdlite commented Sep 9, 2022

Follow up to #25084. Implements experimental_use(promise) API in the SSR runtime (Fizz).

This is largely a copy-paste of the Flight implementation. I have intentionally tried to keep both as close as possible.

@acdlite acdlite requested review from sebmarkbage and gnoff September 9, 2022 01:03
@facebook-github-bot facebook-github-bot added CLA Signed React Core Team Opened by a member of the React Core Team labels Sep 9, 2022
return thenableState;
const state = thenableState;
thenableState = null;
return state;
Copy link
Collaborator Author

Choose a reason for hiding this comment

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

I changed this to reset after a suspend so that if it's the last one it doesn't "leak". Probably not a big deal either way since it gets cleared as soon as something else renders.

@sizebot
Copy link

sizebot commented Sep 9, 2022

Comparing: fe55c0e...32a8989

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.min.js = 134.97 kB 134.97 kB = 43.23 kB 43.23 kB
oss-experimental/react-dom/cjs/react-dom.production.min.js = 141.69 kB 141.69 kB = 45.23 kB 45.23 kB
facebook-www/ReactDOM-prod.classic.js = 486.24 kB 486.24 kB = 86.54 kB 86.55 kB
facebook-www/ReactDOM-prod.modern.js = 471.52 kB 471.52 kB = 84.32 kB 84.32 kB
facebook-www/ReactDOMForked-prod.classic.js = 486.24 kB 486.24 kB = 86.55 kB 86.55 kB
oss-experimental/react-server/cjs/react-server.development.js +5.39% 132.83 kB 139.99 kB +5.33% 33.25 kB 35.03 kB
facebook-www/ReactDOMServer-prod.classic.js +4.77% 84.00 kB 88.01 kB +3.51% 17.45 kB 18.06 kB
oss-experimental/react-server/cjs/react-server.production.min.js +4.64% 21.56 kB 22.56 kB +4.05% 7.41 kB 7.71 kB
facebook-www/ReactDOMServer-prod.modern.js +4.55% 81.15 kB 84.84 kB +3.52% 16.84 kB 17.44 kB
facebook-www/ReactDOMServerStreaming-prod.modern.js +4.36% 85.14 kB 88.85 kB +3.34% 17.80 kB 18.40 kB
facebook-www/ReactDOMServerStreaming-dev.modern.js +2.90% 249.78 kB 257.02 kB +3.15% 59.28 kB 61.15 kB
oss-experimental/react-dom/cjs/react-dom-static.browser.development.js +2.88% 248.37 kB 255.53 kB +2.98% 60.15 kB 61.94 kB
oss-experimental/react-dom/cjs/react-dom-server.browser.development.js +2.87% 249.06 kB 256.22 kB +2.96% 60.35 kB 62.14 kB
oss-experimental/react-dom/cjs/react-dom-server-legacy.browser.development.js +2.86% 250.05 kB 257.21 kB +2.97% 60.21 kB 62.00 kB
oss-experimental/react-dom/umd/react-dom-server.browser.development.js +2.86% 261.26 kB 268.73 kB +3.00% 61.02 kB 62.86 kB
oss-experimental/react-dom/cjs/react-dom-static.node.development.js +2.86% 250.26 kB 257.42 kB +2.96% 60.36 kB 62.15 kB
oss-experimental/react-dom/cjs/react-dom-server.node.development.js +2.86% 250.30 kB 257.46 kB +2.97% 60.26 kB 62.05 kB
oss-experimental/react-dom/umd/react-dom-server-legacy.browser.development.js +2.85% 262.26 kB 269.74 kB +3.02% 60.91 kB 62.75 kB
facebook-www/ReactDOMServer-dev.modern.js +2.85% 254.20 kB 261.44 kB +3.09% 60.30 kB 62.17 kB
oss-experimental/react-dom/cjs/react-dom-server-legacy.node.development.js +2.84% 251.76 kB 258.92 kB +2.95% 60.68 kB 62.47 kB
facebook-www/ReactDOMServer-dev.classic.js +2.78% 260.86 kB 268.10 kB +3.02% 61.70 kB 63.56 kB
oss-stable-semver/react-server/cjs/react-server.development.js +2.77% 131.67 kB 135.31 kB +2.99% 32.99 kB 33.97 kB
oss-stable/react-server/cjs/react-server.development.js +2.77% 131.67 kB 135.31 kB +2.99% 32.99 kB 33.97 kB
oss-experimental/react-dom/cjs/react-dom-server-legacy.browser.production.min.js +2.67% 36.12 kB 37.08 kB +2.35% 12.02 kB 12.30 kB
oss-experimental/react-dom/umd/react-dom-server-legacy.browser.production.min.js +2.66% 36.23 kB 37.19 kB +2.54% 12.15 kB 12.46 kB
oss-experimental/react-dom/cjs/react-dom-static.browser.production.min.js +2.62% 36.84 kB 37.80 kB +1.98% 12.71 kB 12.96 kB
oss-experimental/react-dom/umd/react-dom-server.browser.production.min.js +2.61% 37.06 kB 38.03 kB +2.21% 12.85 kB 13.13 kB
oss-experimental/react-dom/cjs/react-dom-server.browser.production.min.js +2.61% 36.96 kB 37.93 kB +1.99% 12.75 kB 13.01 kB
oss-stable-semver/react-server/cjs/react-server.production.min.js +2.53% 21.09 kB 21.62 kB +2.36% 7.26 kB 7.43 kB
oss-stable/react-server/cjs/react-server.production.min.js +2.53% 21.09 kB 21.62 kB +2.36% 7.26 kB 7.43 kB
oss-experimental/react-dom/cjs/react-dom-server-legacy.node.production.min.js +2.50% 40.04 kB 41.04 kB +2.21% 13.21 kB 13.50 kB
oss-experimental/react-dom/cjs/react-dom-static.node.production.min.js +2.47% 40.51 kB 41.51 kB +2.15% 13.80 kB 14.10 kB
oss-experimental/react-dom/cjs/react-dom-server.node.production.min.js +2.47% 40.55 kB 41.55 kB +2.35% 13.80 kB 14.13 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-server/cjs/react-server.development.js +5.39% 132.83 kB 139.99 kB +5.33% 33.25 kB 35.03 kB
facebook-www/ReactDOMServer-prod.classic.js +4.77% 84.00 kB 88.01 kB +3.51% 17.45 kB 18.06 kB
oss-experimental/react-server/cjs/react-server.production.min.js +4.64% 21.56 kB 22.56 kB +4.05% 7.41 kB 7.71 kB
facebook-www/ReactDOMServer-prod.modern.js +4.55% 81.15 kB 84.84 kB +3.52% 16.84 kB 17.44 kB
facebook-www/ReactDOMServerStreaming-prod.modern.js +4.36% 85.14 kB 88.85 kB +3.34% 17.80 kB 18.40 kB
facebook-www/ReactDOMServerStreaming-dev.modern.js +2.90% 249.78 kB 257.02 kB +3.15% 59.28 kB 61.15 kB
oss-experimental/react-dom/cjs/react-dom-static.browser.development.js +2.88% 248.37 kB 255.53 kB +2.98% 60.15 kB 61.94 kB
oss-experimental/react-dom/cjs/react-dom-server.browser.development.js +2.87% 249.06 kB 256.22 kB +2.96% 60.35 kB 62.14 kB
oss-experimental/react-dom/cjs/react-dom-server-legacy.browser.development.js +2.86% 250.05 kB 257.21 kB +2.97% 60.21 kB 62.00 kB
oss-experimental/react-dom/umd/react-dom-server.browser.development.js +2.86% 261.26 kB 268.73 kB +3.00% 61.02 kB 62.86 kB
oss-experimental/react-dom/cjs/react-dom-static.node.development.js +2.86% 250.26 kB 257.42 kB +2.96% 60.36 kB 62.15 kB
oss-experimental/react-dom/cjs/react-dom-server.node.development.js +2.86% 250.30 kB 257.46 kB +2.97% 60.26 kB 62.05 kB
oss-experimental/react-dom/umd/react-dom-server-legacy.browser.development.js +2.85% 262.26 kB 269.74 kB +3.02% 60.91 kB 62.75 kB
facebook-www/ReactDOMServer-dev.modern.js +2.85% 254.20 kB 261.44 kB +3.09% 60.30 kB 62.17 kB
oss-experimental/react-dom/cjs/react-dom-server-legacy.node.development.js +2.84% 251.76 kB 258.92 kB +2.95% 60.68 kB 62.47 kB
facebook-www/ReactDOMServer-dev.classic.js +2.78% 260.86 kB 268.10 kB +3.02% 61.70 kB 63.56 kB
oss-stable-semver/react-server/cjs/react-server.development.js +2.77% 131.67 kB 135.31 kB +2.99% 32.99 kB 33.97 kB
oss-stable/react-server/cjs/react-server.development.js +2.77% 131.67 kB 135.31 kB +2.99% 32.99 kB 33.97 kB
oss-experimental/react-dom/cjs/react-dom-server-legacy.browser.production.min.js +2.67% 36.12 kB 37.08 kB +2.35% 12.02 kB 12.30 kB
oss-experimental/react-dom/umd/react-dom-server-legacy.browser.production.min.js +2.66% 36.23 kB 37.19 kB +2.54% 12.15 kB 12.46 kB
oss-experimental/react-dom/cjs/react-dom-static.browser.production.min.js +2.62% 36.84 kB 37.80 kB +1.98% 12.71 kB 12.96 kB
oss-experimental/react-dom/umd/react-dom-server.browser.production.min.js +2.61% 37.06 kB 38.03 kB +2.21% 12.85 kB 13.13 kB
oss-experimental/react-dom/cjs/react-dom-server.browser.production.min.js +2.61% 36.96 kB 37.93 kB +1.99% 12.75 kB 13.01 kB
oss-stable-semver/react-server/cjs/react-server.production.min.js +2.53% 21.09 kB 21.62 kB +2.36% 7.26 kB 7.43 kB
oss-stable/react-server/cjs/react-server.production.min.js +2.53% 21.09 kB 21.62 kB +2.36% 7.26 kB 7.43 kB
oss-experimental/react-dom/cjs/react-dom-server-legacy.node.production.min.js +2.50% 40.04 kB 41.04 kB +2.21% 13.21 kB 13.50 kB
oss-experimental/react-dom/cjs/react-dom-static.node.production.min.js +2.47% 40.51 kB 41.51 kB +2.15% 13.80 kB 14.10 kB
oss-experimental/react-dom/cjs/react-dom-server.node.production.min.js +2.47% 40.55 kB 41.55 kB +2.35% 13.80 kB 14.13 kB
oss-stable-semver/react-dom/umd/react-dom-server-legacy.browser.production.min.js +1.51% 35.59 kB 36.13 kB +1.45% 11.93 kB 12.10 kB
oss-stable/react-dom/umd/react-dom-server-legacy.browser.production.min.js +1.51% 35.61 kB 36.15 kB +1.45% 11.95 kB 12.12 kB
oss-stable-semver/react-dom/cjs/react-dom-server-legacy.browser.production.min.js +1.51% 35.48 kB 36.01 kB +1.26% 11.80 kB 11.94 kB
oss-stable/react-dom/cjs/react-dom-server-legacy.browser.production.min.js +1.50% 35.50 kB 36.04 kB +1.28% 11.82 kB 11.97 kB
oss-stable-semver/react-dom/cjs/react-dom-server.browser.development.js +1.47% 247.19 kB 250.83 kB +1.63% 59.87 kB 60.84 kB
oss-stable/react-dom/cjs/react-dom-server.browser.development.js +1.47% 247.22 kB 250.86 kB +1.63% 59.89 kB 60.87 kB
oss-stable-semver/react-dom/cjs/react-dom-server.browser.production.min.js +1.47% 36.33 kB 36.86 kB +1.20% 12.51 kB 12.66 kB
oss-stable/react-dom/cjs/react-dom-server.browser.production.min.js +1.47% 36.35 kB 36.88 kB +1.21% 12.53 kB 12.68 kB
oss-stable-semver/react-dom/cjs/react-dom-server-legacy.browser.development.js +1.47% 248.18 kB 251.82 kB +1.64% 59.73 kB 60.71 kB
oss-stable/react-dom/cjs/react-dom-server-legacy.browser.development.js +1.47% 248.20 kB 251.85 kB +1.63% 59.76 kB 60.73 kB
oss-stable-semver/react-dom/cjs/react-dom-server.node.development.js +1.47% 248.43 kB 252.07 kB +1.63% 59.79 kB 60.76 kB
oss-stable/react-dom/cjs/react-dom-server.node.development.js +1.47% 248.45 kB 252.10 kB +1.63% 59.81 kB 60.78 kB
oss-stable-semver/react-dom/umd/react-dom-server.browser.production.min.js +1.47% 36.43 kB 36.97 kB +1.16% 12.64 kB 12.78 kB
oss-stable/react-dom/umd/react-dom-server.browser.production.min.js +1.46% 36.46 kB 36.99 kB +1.17% 12.66 kB 12.80 kB
oss-stable-semver/react-dom/cjs/react-dom-server-legacy.node.development.js +1.46% 249.89 kB 253.53 kB +1.63% 60.20 kB 61.18 kB
oss-stable/react-dom/cjs/react-dom-server-legacy.node.development.js +1.46% 249.91 kB 253.55 kB +1.63% 60.22 kB 61.20 kB
oss-stable-semver/react-dom/umd/react-dom-server.browser.development.js +1.46% 259.27 kB 263.05 kB +1.65% 60.57 kB 61.57 kB
oss-stable/react-dom/umd/react-dom-server.browser.development.js +1.46% 259.29 kB 263.07 kB +1.66% 60.59 kB 61.59 kB
oss-stable-semver/react-dom/umd/react-dom-server-legacy.browser.development.js +1.45% 260.27 kB 264.05 kB +1.67% 60.45 kB 61.46 kB
oss-stable/react-dom/umd/react-dom-server-legacy.browser.development.js +1.45% 260.30 kB 264.08 kB +1.68% 60.47 kB 61.49 kB
oss-stable-semver/react-dom/cjs/react-dom-server-legacy.node.production.min.js +1.35% 39.35 kB 39.88 kB +1.23% 12.97 kB 13.13 kB
oss-stable/react-dom/cjs/react-dom-server-legacy.node.production.min.js +1.35% 39.37 kB 39.90 kB +1.25% 12.99 kB 13.15 kB
oss-stable-semver/react-dom/cjs/react-dom-server.node.production.min.js +1.34% 39.86 kB 40.39 kB +1.33% 13.54 kB 13.72 kB
oss-stable/react-dom/cjs/react-dom-server.node.production.min.js +1.34% 39.88 kB 40.41 kB +1.34% 13.56 kB 13.74 kB
facebook-relay/flight/ReactFlightNativeRelayServer-prod.js +0.65% 24.01 kB 24.17 kB +0.53% 5.83 kB 5.86 kB
facebook-www/ReactFlightDOMRelayServer-prod.classic.js +0.51% 30.85 kB 31.00 kB +0.39% 7.90 kB 7.93 kB
facebook-www/ReactFlightDOMRelayServer-prod.modern.js +0.50% 30.92 kB 31.08 kB +0.39% 7.93 kB 7.96 kB
oss-stable-semver/react-server/cjs/react-server-flight.production.min.js +0.39% 11.35 kB 11.40 kB +0.33% 4.21 kB 4.23 kB
oss-stable/react-server/cjs/react-server-flight.production.min.js +0.39% 11.35 kB 11.40 kB +0.33% 4.21 kB 4.23 kB
oss-experimental/react-server/cjs/react-server-flight.production.min.js +0.37% 11.82 kB 11.86 kB +0.32% 4.34 kB 4.36 kB
oss-stable-semver/react-server-dom-webpack/cjs/react-server-dom-webpack-writer.browser.production.min.server.js +0.25% 17.86 kB 17.90 kB +0.23% 6.63 kB 6.64 kB
oss-stable/react-server-dom-webpack/cjs/react-server-dom-webpack-writer.browser.production.min.server.js +0.25% 17.86 kB 17.90 kB +0.23% 6.63 kB 6.64 kB
oss-stable-semver/react-server-dom-webpack/umd/react-server-dom-webpack-writer.browser.production.min.server.js +0.24% 18.04 kB 18.08 kB +0.25% 6.69 kB 6.71 kB
oss-stable/react-server-dom-webpack/umd/react-server-dom-webpack-writer.browser.production.min.server.js +0.24% 18.04 kB 18.08 kB +0.25% 6.69 kB 6.71 kB
oss-stable-semver/react-server-dom-webpack/cjs/react-server-dom-webpack-writer.node.production.min.server.js +0.24% 18.28 kB 18.32 kB +0.21% 6.73 kB 6.75 kB
oss-stable/react-server-dom-webpack/cjs/react-server-dom-webpack-writer.node.production.min.server.js +0.24% 18.28 kB 18.32 kB +0.21% 6.73 kB 6.75 kB
oss-experimental/react-server-dom-webpack/cjs/react-server-dom-webpack-writer.browser.production.min.server.js +0.24% 18.37 kB 18.41 kB +0.22% 6.79 kB 6.80 kB
oss-experimental/react-server-dom-webpack/umd/react-server-dom-webpack-writer.browser.production.min.server.js +0.24% 18.54 kB 18.58 kB +0.25% 6.85 kB 6.87 kB
oss-experimental/react-server-dom-webpack/cjs/react-server-dom-webpack-writer.node.production.min.server.js +0.23% 18.79 kB 18.83 kB +0.17% 6.89 kB 6.90 kB

Generated by 🚫 dangerJS against 32a8989

Follow up to facebook#25084 and facebook#25207. Implements experimental_use(promise) API
in the SSR runtime (Fizz).

This is largely a copy-paste of the Flight implementation. I have
intentionally tried to keep both as close as possible.
@acdlite acdlite marked this pull request as ready for review September 9, 2022 01:10
Copy link
Collaborator

@sebmarkbage sebmarkbage left a comment

Choose a reason for hiding this comment

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

Another technique could be to let the prevThenableState sit on the task but reset it when entering a new component or completing any component similar to this:

@acdlite
Copy link
Collaborator Author

acdlite commented Sep 9, 2022

Another technique could be to let the prevThenableState sit on the task but reset it when entering a new component or completing any component

Yeah I went back and forth on both approaches and then landed on this because it seemed harder to mess up because it doesn't rely on mutation (or rather the mutation is localized to right where we suspend and resume). Can switch back later if we need to.

@acdlite
Copy link
Collaborator Author

acdlite commented Sep 9, 2022

I have a feeling that object will end up expanding to include other things like the Forget cache

@acdlite acdlite merged commit c28f313 into facebook:main Sep 9, 2022
sammy-SC pushed a commit that referenced this pull request Sep 11, 2022
Follow up to #25084 and #25207. Implements experimental_use(promise) API
in the SSR runtime (Fizz).

This is largely a copy-paste of the Flight implementation. I have
intentionally tried to keep both as close as possible.
facebook-github-bot pushed a commit to facebook/react-native that referenced this pull request Sep 12, 2022
Summary:
This sync includes the following changes:
- **[c28f313e6](facebook/react@c28f313e6 )**: experimental_use(promise) for SSR ([#25214](facebook/react#25214)) //<Andrew Clark>//
- **[d6f9628a8](facebook/react@d6f9628a8 )**: Remove some RSC subset entry points that were removed in the main entry point ([#25209](facebook/react#25209)) //<Sebastian Markbåge>//
- **[a473d08fc](facebook/react@a473d08fc )**: Update to Flow from 0.97 to 0.122 ([#25204](facebook/react#25204)) //<Jan Kassens>//
- **[7028ce745](facebook/react@7028ce745 )**: experimental_use(promise) for Server Components ([#25207](facebook/react#25207)) //<Andrew Clark>//
- **[bfb65681e](facebook/react@bfb65681e )**: experimental_use(context)([#25202](facebook/react#25202)) //<mofeiZ>//
- **[f0efa1164](facebook/react@f0efa1164 )**: [flow] remove custom suppress comment config ([#25170](facebook/react#25170)) //<Jan Kassens>//
- **[2e7f422fe](facebook/react@2e7f422fe )**: Refactor: its type is Container ([#25153](facebook/react#25153)) //<bubucuo>//
- **[2c2d9a1df](facebook/react@2c2d9a1df )**: [eslint-plugin-react-hooks] only allow capitalized component names ([#25162](facebook/react#25162)) //<Jan Kassens>//
- **[36c908a6c](facebook/react@36c908a6c )**: Don't use the Flight terminology in public error messages ([#25166](facebook/react#25166)) //<Sebastian Markbåge>//
- **[8d1b057ec](facebook/react@8d1b057ec )**: [Flight] Minor error handling fixes ([#25151](facebook/react#25151)) //<Sebastian Markbåge>//
- **[9ff738f53](facebook/react@9ff738f53 )**: [devtools][easy] Fix flow type ([#25147](facebook/react#25147)) //<Tianyu Yao>//
- **[0de3ddf56](facebook/react@0de3ddf56 )**: Remove Symbol Polyfill (again) ([#25144](facebook/react#25144)) //<Ricky>//
- **[b36f72235](facebook/react@b36f72235 )**: Remove ReactFiberFlags MountLayoutDev and MountPassiveDev ([#25091](facebook/react#25091)) //<Samuel Susla>//
- **[b6978bc38](facebook/react@b6978bc38 )**: experimental_use(promise) ([#25084](facebook/react#25084)) //<Andrew Clark>//
- **[11ed7010c](facebook/react@11ed7010c )**: [Transition Tracing] onMarkerIncomplete - Tracing Marker/Suspense Boundary Deletions ([#24885](facebook/react#24885)) //<Luna Ruan>//
- **[b79894259](facebook/react@b79894259 )**: [Flight] Add support for Webpack Async Modules ([#25138](facebook/react#25138)) //<Sebastian Markbåge>//
- **[c8b778b7f](facebook/react@c8b778b7f )**: Fix typo: supportsMicrotask -> supportsMicrotasks ([#25142](facebook/react#25142)) //<kwzr>//
- **[d0f396651](facebook/react@d0f396651 )**: Allow functions to be used as module references ([#25137](facebook/react#25137)) //<Sebastian Markbåge>//
- **[38c5d8a03](facebook/react@38c5d8a03 )**: Test the node-register hooks in unit tests ([#25132](facebook/react#25132)) //<Sebastian Markbåge>//
- **[3f70e68ce](facebook/react@3f70e68ce )**: Return closestInstance in `getInspectorDataForViewAtPoint` ([#25118](facebook/react#25118)) //<Tianyu Yao>//
- **[3d443cad7](facebook/react@3d443cad7 )**: Update fixtures/flight to webpack 5 ([#25115](facebook/react#25115)) //<Tim Neutkens>//
- **[5d1ce6513](facebook/react@5d1ce6513 )**: Align StrictMode behaviour with production ([#25049](facebook/react#25049)) //<Samuel Susla>//
- **[9e67e7a31](facebook/react@9e67e7a31 )**: Scaffolding for useMemoCache hook ([#25123](facebook/react#25123)) //<Joseph Savona>//
- **[19e9a4c68](facebook/react@19e9a4c68 )**: Add missing createServerContext for experimental shared subset ([#25114](facebook/react#25114)) //<Jiachi Liu>//
- **[6ef466c68](facebook/react@6ef466c68 )**: make preamble and postamble types explicit and fix typo ([#25102](facebook/react#25102)) //<Josh Story>//
- **[796d31809](facebook/react@796d31809 )**: Implement basic stylesheet Resources for react-dom ([#25060](facebook/react#25060)) //<Josh Story>//
- **[32baab38f](facebook/react@32baab38f )**: [Transition Tracing] Add Tag Field to Marker Instance ([#25085](facebook/react#25085)) //<Luna Ruan>//
- **[8ef3a7c08](facebook/react@8ef3a7c08 )**: Resume immediately pinged fiber without unwinding ([#25074](facebook/react#25074)) //<Andrew Clark>//
- **[7bcc68772](facebook/react@7bcc68772 )**: Remove argument committedLanes from reappearLayoutEffects and recursivelyTraverseReappearLayoutEffects ([#25080](facebook/react#25080)) //<Samuel Susla>//
- **[ca990e9a7](facebook/react@ca990e9a7 )**: Add API to force Scheduler to yield for macrotask ([#25044](facebook/react#25044)) //<Andrew Clark>//
- **[b4204ede6](facebook/react@b4204ede6 )**: Clean up unused Deletion flag ([#24992](facebook/react#24992)) //<Andrew Clark>//
- **[e193be87e](facebook/react@e193be87e )**: [Transition Tracing] Add Offscreen Test ([#25035](facebook/react#25035)) //<Luna Ruan>//
- **[9fcaf88d5](facebook/react@9fcaf88d5 )**: Remove rootContainerInstance from unnecessary places ([#25024](facebook/react#25024)) //<Sebastian Markbåge>//
- **[80f3d8819](facebook/react@80f3d8819 )**: Mount/unmount passive effects when Offscreen visibility changes ([#24977](facebook/react#24977)) //<Andrew Clark>//

Changelog:
[General][Changed] - React Native sync for revisions 4ea064e...c28f313

Reviewed By: rickhanlonii

Differential Revision: D39384898

fbshipit-source-id: 20b080a53851d6dd9d522c8468dd02aab9ba76db
rickhanlonii pushed a commit that referenced this pull request Oct 5, 2022
Follow up to #25084 and #25207. Implements experimental_use(promise) API
in the SSR runtime (Fizz).

This is largely a copy-paste of the Flight implementation. I have
intentionally tried to keep both as close as possible.
rickhanlonii pushed a commit that referenced this pull request Oct 5, 2022
Follow up to #25084 and #25207. Implements experimental_use(promise) API
in the SSR runtime (Fizz).

This is largely a copy-paste of the Flight implementation. I have
intentionally tried to keep both as close as possible.
rickhanlonii added a commit that referenced this pull request Oct 5, 2022
poteto pushed a commit to poteto/react that referenced this pull request Oct 21, 2022
poteto pushed a commit that referenced this pull request Oct 24, 2022
poteto pushed a commit that referenced this pull request Oct 25, 2022
acdlite added a commit to acdlite/react that referenced this pull request Dec 5, 2022
This reverts commit c28f313.

Follow up to facebook#25084 and facebook#25207. Implements experimental_use(promise) API
in the SSR runtime (Fizz).

This is largely a copy-paste of the Flight implementation. I have
intentionally tried to keep both as close as possible.
acdlite added a commit to acdlite/react that referenced this pull request Dec 5, 2022
This reverts commit dedfeff.

This reverts commit c28f313.

Follow up to facebook#25084 and facebook#25207. Implements experimental_use(promise) API
in the SSR runtime (Fizz).

This is largely a copy-paste of the Flight implementation. I have
intentionally tried to keep both as close as possible.
OlimpiaZurek pushed a commit to OlimpiaZurek/react-native that referenced this pull request May 22, 2023
Summary:
This sync includes the following changes:
- **[c28f313e6](facebook/react@c28f313e6 )**: experimental_use(promise) for SSR ([facebook#25214](facebook/react#25214)) //<Andrew Clark>//
- **[d6f9628a8](facebook/react@d6f9628a8 )**: Remove some RSC subset entry points that were removed in the main entry point ([facebook#25209](facebook/react#25209)) //<Sebastian Markbåge>//
- **[a473d08fc](facebook/react@a473d08fc )**: Update to Flow from 0.97 to 0.122 ([facebook#25204](facebook/react#25204)) //<Jan Kassens>//
- **[7028ce745](facebook/react@7028ce745 )**: experimental_use(promise) for Server Components ([facebook#25207](facebook/react#25207)) //<Andrew Clark>//
- **[bfb65681e](facebook/react@bfb65681e )**: experimental_use(context)([facebook#25202](facebook/react#25202)) //<mofeiZ>//
- **[f0efa1164](facebook/react@f0efa1164 )**: [flow] remove custom suppress comment config ([facebook#25170](facebook/react#25170)) //<Jan Kassens>//
- **[2e7f422fe](facebook/react@2e7f422fe )**: Refactor: its type is Container ([facebook#25153](facebook/react#25153)) //<bubucuo>//
- **[2c2d9a1df](facebook/react@2c2d9a1df )**: [eslint-plugin-react-hooks] only allow capitalized component names ([facebook#25162](facebook/react#25162)) //<Jan Kassens>//
- **[36c908a6c](facebook/react@36c908a6c )**: Don't use the Flight terminology in public error messages ([facebook#25166](facebook/react#25166)) //<Sebastian Markbåge>//
- **[8d1b057ec](facebook/react@8d1b057ec )**: [Flight] Minor error handling fixes ([facebook#25151](facebook/react#25151)) //<Sebastian Markbåge>//
- **[9ff738f53](facebook/react@9ff738f53 )**: [devtools][easy] Fix flow type ([facebook#25147](facebook/react#25147)) //<Tianyu Yao>//
- **[0de3ddf56](facebook/react@0de3ddf56 )**: Remove Symbol Polyfill (again) ([facebook#25144](facebook/react#25144)) //<Ricky>//
- **[b36f72235](facebook/react@b36f72235 )**: Remove ReactFiberFlags MountLayoutDev and MountPassiveDev ([facebook#25091](facebook/react#25091)) //<Samuel Susla>//
- **[b6978bc38](facebook/react@b6978bc38 )**: experimental_use(promise) ([facebook#25084](facebook/react#25084)) //<Andrew Clark>//
- **[11ed7010c](facebook/react@11ed7010c )**: [Transition Tracing] onMarkerIncomplete - Tracing Marker/Suspense Boundary Deletions ([facebook#24885](facebook/react#24885)) //<Luna Ruan>//
- **[b79894259](facebook/react@b79894259 )**: [Flight] Add support for Webpack Async Modules ([facebook#25138](facebook/react#25138)) //<Sebastian Markbåge>//
- **[c8b778b7f](facebook/react@c8b778b7f )**: Fix typo: supportsMicrotask -> supportsMicrotasks ([facebook#25142](facebook/react#25142)) //<kwzr>//
- **[d0f396651](facebook/react@d0f396651 )**: Allow functions to be used as module references ([facebook#25137](facebook/react#25137)) //<Sebastian Markbåge>//
- **[38c5d8a03](facebook/react@38c5d8a03 )**: Test the node-register hooks in unit tests ([facebook#25132](facebook/react#25132)) //<Sebastian Markbåge>//
- **[3f70e68ce](facebook/react@3f70e68ce )**: Return closestInstance in `getInspectorDataForViewAtPoint` ([facebook#25118](facebook/react#25118)) //<Tianyu Yao>//
- **[3d443cad7](facebook/react@3d443cad7 )**: Update fixtures/flight to webpack 5 ([facebook#25115](facebook/react#25115)) //<Tim Neutkens>//
- **[5d1ce6513](facebook/react@5d1ce6513 )**: Align StrictMode behaviour with production ([facebook#25049](facebook/react#25049)) //<Samuel Susla>//
- **[9e67e7a31](facebook/react@9e67e7a31 )**: Scaffolding for useMemoCache hook ([facebook#25123](facebook/react#25123)) //<Joseph Savona>//
- **[19e9a4c68](facebook/react@19e9a4c68 )**: Add missing createServerContext for experimental shared subset ([facebook#25114](facebook/react#25114)) //<Jiachi Liu>//
- **[6ef466c68](facebook/react@6ef466c68 )**: make preamble and postamble types explicit and fix typo ([facebook#25102](facebook/react#25102)) //<Josh Story>//
- **[796d31809](facebook/react@796d31809 )**: Implement basic stylesheet Resources for react-dom ([facebook#25060](facebook/react#25060)) //<Josh Story>//
- **[32baab38f](facebook/react@32baab38f )**: [Transition Tracing] Add Tag Field to Marker Instance ([facebook#25085](facebook/react#25085)) //<Luna Ruan>//
- **[8ef3a7c08](facebook/react@8ef3a7c08 )**: Resume immediately pinged fiber without unwinding ([facebook#25074](facebook/react#25074)) //<Andrew Clark>//
- **[7bcc68772](facebook/react@7bcc68772 )**: Remove argument committedLanes from reappearLayoutEffects and recursivelyTraverseReappearLayoutEffects ([facebook#25080](facebook/react#25080)) //<Samuel Susla>//
- **[ca990e9a7](facebook/react@ca990e9a7 )**: Add API to force Scheduler to yield for macrotask ([facebook#25044](facebook/react#25044)) //<Andrew Clark>//
- **[b4204ede6](facebook/react@b4204ede6 )**: Clean up unused Deletion flag ([facebook#24992](facebook/react#24992)) //<Andrew Clark>//
- **[e193be87e](facebook/react@e193be87e )**: [Transition Tracing] Add Offscreen Test ([facebook#25035](facebook/react#25035)) //<Luna Ruan>//
- **[9fcaf88d5](facebook/react@9fcaf88d5 )**: Remove rootContainerInstance from unnecessary places ([facebook#25024](facebook/react#25024)) //<Sebastian Markbåge>//
- **[80f3d8819](facebook/react@80f3d8819 )**: Mount/unmount passive effects when Offscreen visibility changes ([facebook#24977](facebook/react#24977)) //<Andrew Clark>//

Changelog:
[General][Changed] - React Native sync for revisions 4ea064e...c28f313

Reviewed By: rickhanlonii

Differential Revision: D39384898

fbshipit-source-id: 20b080a53851d6dd9d522c8468dd02aab9ba76db
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