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

Serialize Promises through Flight #26086

Merged
merged 3 commits into from
Feb 1, 2023

Conversation

sebmarkbage
Copy link
Collaborator

@sebmarkbage sebmarkbage commented Feb 1, 2023

#25687

This lets you pass Promises from server components to client components and use() them there.

We still don't support Promises as children on the client, so we need to support both. This will be a lot simpler when we remove the need to encode children as lazy since we don't need the lazy encoding anymore then.

I noticed that this test failed because we don't synchronously resolve instrumented Promises if they're lazy. The second fix calls .then() early to ensure that this lazy initialization can happen eagerly. It felt silly to do this with an empty function or something, so I just did the attachment of ping listeners early here. It's also a little silly since they will ping the currently running render for no reason if it's synchronously available. EDIT: That didn't work because a ping might interrupt the current render. Probably need a bigger refactor.

We could add another extension but we've already taken a lot of liberties with the Promise protocol. At least this is one that doesn't need extension of the protocol as much. Any sub-class of promises could do this.

@facebook-github-bot facebook-github-bot added CLA Signed React Core Team Opened by a member of the React Core Team labels Feb 1, 2023
@react-sizebot
Copy link

react-sizebot commented Feb 1, 2023

Comparing: 0ba4698...d320b7a

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 = 154.83 kB 154.84 kB +0.01% 49.11 kB 49.12 kB
oss-experimental/react-dom/cjs/react-dom.production.min.js = 156.83 kB 156.85 kB +0.01% 49.77 kB 49.78 kB
facebook-www/ReactDOM-prod.classic.js = 533.79 kB 533.79 kB = 95.06 kB 95.06 kB
facebook-www/ReactDOM-prod.modern.js = 518.81 kB 518.81 kB = 92.83 kB 92.82 kB
facebook-relay/flight/ReactFlightNativeRelayServer-prod.js +5.78% 29.57 kB 31.28 kB +3.28% 7.10 kB 7.34 kB
facebook-relay/flight/ReactFlightNativeRelayServer-dev.js +5.54% 58.15 kB 61.37 kB +3.38% 14.44 kB 14.93 kB
oss-experimental/react-server/cjs/react-server-flight.development.js +5.22% 60.43 kB 63.59 kB +3.15% 14.79 kB 15.26 kB
oss-stable-semver/react-server/cjs/react-server-flight.development.js +5.22% 60.43 kB 63.59 kB +3.15% 14.79 kB 15.26 kB
oss-stable/react-server/cjs/react-server-flight.development.js +5.22% 60.43 kB 63.59 kB +3.15% 14.79 kB 15.26 kB
facebook-www/ReactFlightDOMRelayServer-prod.classic.js +4.87% 35.10 kB 36.81 kB +2.73% 8.89 kB 9.13 kB
facebook-www/ReactFlightDOMRelayServer-prod.modern.js +4.86% 35.18 kB 36.89 kB +2.72% 8.92 kB 9.17 kB
facebook-www/ReactFlightDOMRelayServer-dev.classic.js +4.37% 73.69 kB 76.91 kB +2.63% 18.22 kB 18.70 kB
facebook-www/ReactFlightDOMRelayServer-dev.modern.js +4.37% 73.74 kB 76.96 kB +2.63% 18.24 kB 18.72 kB
oss-experimental/react-server/cjs/react-server-flight.production.min.js +4.27% 13.88 kB 14.47 kB +2.70% 5.15 kB 5.29 kB
oss-stable-semver/react-server/cjs/react-server-flight.production.min.js +4.27% 13.88 kB 14.47 kB +2.70% 5.15 kB 5.29 kB
oss-stable/react-server/cjs/react-server-flight.production.min.js +4.27% 13.88 kB 14.47 kB +2.70% 5.15 kB 5.29 kB
oss-stable-semver/react-server-dom-webpack/umd/react-server-dom-webpack-server.browser.development.js +3.73% 88.94 kB 92.25 kB +2.12% 21.46 kB 21.91 kB
oss-stable/react-server-dom-webpack/umd/react-server-dom-webpack-server.browser.development.js +3.73% 88.94 kB 92.25 kB +2.12% 21.46 kB 21.91 kB
oss-stable-semver/react-server-dom-webpack/cjs/react-server-dom-webpack-server.browser.development.js +3.72% 84.71 kB 87.87 kB +2.12% 21.20 kB 21.65 kB
oss-stable/react-server-dom-webpack/cjs/react-server-dom-webpack-server.browser.development.js +3.72% 84.71 kB 87.87 kB +2.12% 21.20 kB 21.65 kB
oss-experimental/react-server-dom-webpack/umd/react-server-dom-webpack-server.browser.development.js +3.72% 89.00 kB 92.31 kB +2.12% 21.48 kB 21.93 kB
oss-experimental/react-server-dom-webpack/cjs/react-server-dom-webpack-server.browser.development.js +3.72% 84.77 kB 87.92 kB +2.12% 21.22 kB 21.67 kB
oss-stable-semver/react-server-dom-webpack/cjs/react-server-dom-webpack-server.node.development.js +3.67% 85.97 kB 89.12 kB +2.10% 21.28 kB 21.72 kB
oss-stable/react-server-dom-webpack/cjs/react-server-dom-webpack-server.node.development.js +3.67% 85.97 kB 89.12 kB +2.10% 21.28 kB 21.72 kB
oss-experimental/react-server-dom-webpack/cjs/react-server-dom-webpack-server.node.development.js +3.67% 86.02 kB 89.18 kB +2.11% 21.30 kB 21.75 kB
oss-stable-semver/react-server-dom-webpack/cjs/react-server-dom-webpack-server.browser.production.min.js +2.74% 22.83 kB 23.45 kB +1.84% 8.09 kB 8.24 kB
oss-stable/react-server-dom-webpack/cjs/react-server-dom-webpack-server.browser.production.min.js +2.74% 22.83 kB 23.45 kB +1.84% 8.09 kB 8.24 kB
oss-experimental/react-server-dom-webpack/cjs/react-server-dom-webpack-server.browser.production.min.js +2.73% 22.87 kB 23.50 kB +1.85% 8.11 kB 8.26 kB
oss-stable-semver/react-server-dom-webpack/umd/react-server-dom-webpack-server.browser.production.min.js +2.72% 23.01 kB 23.64 kB +1.78% 8.19 kB 8.34 kB
oss-stable/react-server-dom-webpack/umd/react-server-dom-webpack-server.browser.production.min.js +2.72% 23.01 kB 23.64 kB +1.78% 8.19 kB 8.34 kB
oss-experimental/react-server-dom-webpack/umd/react-server-dom-webpack-server.browser.production.min.js +2.72% 23.05 kB 23.68 kB +1.75% 8.21 kB 8.36 kB
oss-stable-semver/react-server-dom-webpack/cjs/react-server-dom-webpack-server.node.production.min.js +2.56% 23.23 kB 23.82 kB +1.83% 8.18 kB 8.33 kB
oss-stable/react-server-dom-webpack/cjs/react-server-dom-webpack-server.node.production.min.js +2.56% 23.23 kB 23.82 kB +1.83% 8.18 kB 8.33 kB
oss-experimental/react-server-dom-webpack/cjs/react-server-dom-webpack-server.node.production.min.js +2.55% 23.28 kB 23.87 kB +1.79% 8.20 kB 8.35 kB

Significant size changes

Includes any change greater than 0.2%:

Expand to show
Name +/- Base Current +/- gzip Base gzip Current gzip
facebook-relay/flight/ReactFlightNativeRelayServer-prod.js +5.78% 29.57 kB 31.28 kB +3.28% 7.10 kB 7.34 kB
facebook-relay/flight/ReactFlightNativeRelayServer-dev.js +5.54% 58.15 kB 61.37 kB +3.38% 14.44 kB 14.93 kB
oss-experimental/react-server/cjs/react-server-flight.development.js +5.22% 60.43 kB 63.59 kB +3.15% 14.79 kB 15.26 kB
oss-stable-semver/react-server/cjs/react-server-flight.development.js +5.22% 60.43 kB 63.59 kB +3.15% 14.79 kB 15.26 kB
oss-stable/react-server/cjs/react-server-flight.development.js +5.22% 60.43 kB 63.59 kB +3.15% 14.79 kB 15.26 kB
facebook-www/ReactFlightDOMRelayServer-prod.classic.js +4.87% 35.10 kB 36.81 kB +2.73% 8.89 kB 9.13 kB
facebook-www/ReactFlightDOMRelayServer-prod.modern.js +4.86% 35.18 kB 36.89 kB +2.72% 8.92 kB 9.17 kB
facebook-www/ReactFlightDOMRelayServer-dev.classic.js +4.37% 73.69 kB 76.91 kB +2.63% 18.22 kB 18.70 kB
facebook-www/ReactFlightDOMRelayServer-dev.modern.js +4.37% 73.74 kB 76.96 kB +2.63% 18.24 kB 18.72 kB
oss-experimental/react-server/cjs/react-server-flight.production.min.js +4.27% 13.88 kB 14.47 kB +2.70% 5.15 kB 5.29 kB
oss-stable-semver/react-server/cjs/react-server-flight.production.min.js +4.27% 13.88 kB 14.47 kB +2.70% 5.15 kB 5.29 kB
oss-stable/react-server/cjs/react-server-flight.production.min.js +4.27% 13.88 kB 14.47 kB +2.70% 5.15 kB 5.29 kB
oss-stable-semver/react-server-dom-webpack/umd/react-server-dom-webpack-server.browser.development.js +3.73% 88.94 kB 92.25 kB +2.12% 21.46 kB 21.91 kB
oss-stable/react-server-dom-webpack/umd/react-server-dom-webpack-server.browser.development.js +3.73% 88.94 kB 92.25 kB +2.12% 21.46 kB 21.91 kB
oss-stable-semver/react-server-dom-webpack/cjs/react-server-dom-webpack-server.browser.development.js +3.72% 84.71 kB 87.87 kB +2.12% 21.20 kB 21.65 kB
oss-stable/react-server-dom-webpack/cjs/react-server-dom-webpack-server.browser.development.js +3.72% 84.71 kB 87.87 kB +2.12% 21.20 kB 21.65 kB
oss-experimental/react-server-dom-webpack/umd/react-server-dom-webpack-server.browser.development.js +3.72% 89.00 kB 92.31 kB +2.12% 21.48 kB 21.93 kB
oss-experimental/react-server-dom-webpack/cjs/react-server-dom-webpack-server.browser.development.js +3.72% 84.77 kB 87.92 kB +2.12% 21.22 kB 21.67 kB
oss-stable-semver/react-server-dom-webpack/cjs/react-server-dom-webpack-server.node.development.js +3.67% 85.97 kB 89.12 kB +2.10% 21.28 kB 21.72 kB
oss-stable/react-server-dom-webpack/cjs/react-server-dom-webpack-server.node.development.js +3.67% 85.97 kB 89.12 kB +2.10% 21.28 kB 21.72 kB
oss-experimental/react-server-dom-webpack/cjs/react-server-dom-webpack-server.node.development.js +3.67% 86.02 kB 89.18 kB +2.11% 21.30 kB 21.75 kB
oss-stable-semver/react-server-dom-webpack/cjs/react-server-dom-webpack-server.browser.production.min.js +2.74% 22.83 kB 23.45 kB +1.84% 8.09 kB 8.24 kB
oss-stable/react-server-dom-webpack/cjs/react-server-dom-webpack-server.browser.production.min.js +2.74% 22.83 kB 23.45 kB +1.84% 8.09 kB 8.24 kB
oss-experimental/react-server-dom-webpack/cjs/react-server-dom-webpack-server.browser.production.min.js +2.73% 22.87 kB 23.50 kB +1.85% 8.11 kB 8.26 kB
oss-stable-semver/react-server-dom-webpack/umd/react-server-dom-webpack-server.browser.production.min.js +2.72% 23.01 kB 23.64 kB +1.78% 8.19 kB 8.34 kB
oss-stable/react-server-dom-webpack/umd/react-server-dom-webpack-server.browser.production.min.js +2.72% 23.01 kB 23.64 kB +1.78% 8.19 kB 8.34 kB
oss-experimental/react-server-dom-webpack/umd/react-server-dom-webpack-server.browser.production.min.js +2.72% 23.05 kB 23.68 kB +1.75% 8.21 kB 8.36 kB
oss-stable-semver/react-server-dom-webpack/cjs/react-server-dom-webpack-server.node.production.min.js +2.56% 23.23 kB 23.82 kB +1.83% 8.18 kB 8.33 kB
oss-stable/react-server-dom-webpack/cjs/react-server-dom-webpack-server.node.production.min.js +2.56% 23.23 kB 23.82 kB +1.83% 8.18 kB 8.33 kB
oss-experimental/react-server-dom-webpack/cjs/react-server-dom-webpack-server.node.production.min.js +2.55% 23.28 kB 23.87 kB +1.79% 8.20 kB 8.35 kB
facebook-www/ReactFlightDOMRelayClient-dev.classic.js +1.01% 17.77 kB 17.95 kB +0.58% 4.69 kB 4.72 kB
facebook-www/ReactFlightDOMRelayClient-dev.modern.js +1.01% 17.77 kB 17.95 kB +0.58% 4.69 kB 4.72 kB
facebook-relay/flight/ReactFlightNativeRelayClient-dev.js +1.00% 17.85 kB 18.03 kB +0.57% 4.71 kB 4.74 kB
oss-experimental/react-client/cjs/react-client-flight.development.js +0.99% 19.85 kB 20.04 kB +0.58% 5.35 kB 5.38 kB
oss-stable-semver/react-client/cjs/react-client-flight.development.js +0.99% 19.85 kB 20.04 kB +0.58% 5.35 kB 5.38 kB
oss-stable/react-client/cjs/react-client-flight.development.js +0.99% 19.85 kB 20.04 kB +0.58% 5.35 kB 5.38 kB
oss-experimental/react-client/cjs/react-client-flight.production.min.js +0.97% 5.44 kB 5.49 kB +0.46% 2.20 kB 2.21 kB
oss-stable-semver/react-client/cjs/react-client-flight.production.min.js +0.97% 5.44 kB 5.49 kB +0.46% 2.20 kB 2.21 kB
oss-stable/react-client/cjs/react-client-flight.production.min.js +0.97% 5.44 kB 5.49 kB +0.46% 2.20 kB 2.21 kB
oss-experimental/react-server-dom-webpack/umd/react-server-dom-webpack-client.development.js +0.82% 25.74 kB 25.95 kB +0.48% 6.46 kB 6.49 kB
oss-stable-semver/react-server-dom-webpack/umd/react-server-dom-webpack-client.development.js +0.82% 25.74 kB 25.95 kB +0.48% 6.46 kB 6.49 kB
oss-stable/react-server-dom-webpack/umd/react-server-dom-webpack-client.development.js +0.82% 25.74 kB 25.95 kB +0.48% 6.46 kB 6.49 kB
oss-experimental/react-server-dom-webpack/cjs/react-server-dom-webpack-client.development.js +0.82% 24.09 kB 24.29 kB +0.49% 6.33 kB 6.36 kB
oss-stable-semver/react-server-dom-webpack/cjs/react-server-dom-webpack-client.development.js +0.82% 24.09 kB 24.29 kB +0.49% 6.33 kB 6.36 kB
oss-stable/react-server-dom-webpack/cjs/react-server-dom-webpack-client.development.js +0.82% 24.09 kB 24.29 kB +0.49% 6.33 kB 6.36 kB
oss-experimental/react-server-dom-webpack/cjs/react-server-dom-webpack-client.production.min.js +0.81% 6.51 kB 6.56 kB +0.42% 2.60 kB 2.62 kB
oss-stable-semver/react-server-dom-webpack/cjs/react-server-dom-webpack-client.production.min.js +0.81% 6.51 kB 6.56 kB +0.42% 2.60 kB 2.62 kB
oss-stable/react-server-dom-webpack/cjs/react-server-dom-webpack-client.production.min.js +0.81% 6.51 kB 6.56 kB +0.42% 2.60 kB 2.62 kB
oss-experimental/react-server-dom-webpack/umd/react-server-dom-webpack-client.production.min.js +0.79% 6.72 kB 6.77 kB +0.41% 2.71 kB 2.72 kB
oss-stable-semver/react-server-dom-webpack/umd/react-server-dom-webpack-client.production.min.js +0.79% 6.72 kB 6.77 kB +0.41% 2.71 kB 2.72 kB
oss-stable/react-server-dom-webpack/umd/react-server-dom-webpack-client.production.min.js +0.79% 6.72 kB 6.77 kB +0.41% 2.71 kB 2.72 kB
facebook-www/ReactFlightDOMRelayClient-prod.classic.js +0.68% 10.85 kB 10.92 kB +0.35% 2.83 kB 2.84 kB
facebook-www/ReactFlightDOMRelayClient-prod.modern.js +0.68% 10.85 kB 10.92 kB +0.35% 2.83 kB 2.84 kB
facebook-relay/flight/ReactFlightNativeRelayClient-prod.js +0.68% 10.86 kB 10.93 kB +0.39% 2.84 kB 2.85 kB

Generated by 🚫 dangerJS against d320b7a

Copy link
Collaborator

@gnoff gnoff left a comment

Choose a reason for hiding this comment

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

The parts I understand seem right to me. I think you didn't finish your test and I left a question

This ensures that we can synchronously resolve promises vendored by Flight.
Currently, we don't attach listeners until later if the promise is already
instrumented. Flight promises wait to resolve its content until .then()
is called.

Therefore it's never synchronously available in Fiber.

This fixes that by ensuring that we always call .then() and then checking
if we can eagerly resolve it.
@sebmarkbage sebmarkbage merged commit 9d111ff into facebook:main Feb 1, 2023
github-actions bot pushed a commit that referenced this pull request Feb 1, 2023
This lets you pass Promises from server components to client components
and `use()` them there.

We still don't support Promises as children on the client, so we need to
support both. This will be a lot simpler when we remove the need to
encode children as lazy since we don't need the lazy encoding anymore
then.

I noticed that this test failed because we don't synchronously resolve
instrumented Promises if they're lazy. The second fix calls `.then()`
early to ensure that this lazy initialization can happen eagerly. ~It
felt silly to do this with an empty function or something, so I just did
the attachment of ping listeners early here. It's also a little silly
since they will ping the currently running render for no reason if it's
synchronously available.~ EDIT: That didn't work because a ping might
interrupt the current render. Probably need a bigger refactor.

We could add another extension but we've already taken a lot of
liberties with the Promise protocol. At least this is one that doesn't
need extension of the protocol as much. Any sub-class of promises could
do this.

DiffTrain build for [9d111ff](9d111ff)
[View git log for this commit](https://github.com/facebook/react/commits/9d111ffdfbcfee4b348a3d49c16f02cb718c896f)
facebook-github-bot pushed a commit to facebook/react-native that referenced this pull request Feb 15, 2023
Summary:
This sync includes the following changes:
- **[86c8c8db7](facebook/react@86c8c8db7 )**: test: Don't retry flushActWork if flushUntilNextPaint threw ([#26121](facebook/react#26121)) //<Sebastian Silbermann>//
- **[64acd3918](facebook/react@64acd3918 )**: remove unguarded getRootNode call ([#26152](facebook/react#26152)) //<Josh Story>//
- **[71cace4d3](facebook/react@71cace4d3 )**: Migrate testRunner from jasmine2 to jest-circus ([#26144](facebook/react#26144)) //<Ming Ye>//
- **[c8510227c](facebook/react@c8510227c )**: Treat displayName as undefined ([#26148](facebook/react#26148)) //<Sebastian Markbåge>//
- **[55542bc73](facebook/react@55542bc73 )**: Update jest printBasicPrototype config ([#26142](facebook/react#26142)) //<Ming Ye>//
- **[6396b6641](facebook/react@6396b6641 )**: Model Float on Hoistables semantics ([#26106](facebook/react#26106)) //<Josh Story>//
- **[ef9f6e77b](facebook/react@ef9f6e77b )**: Enable passing Server References from Server to Client ([#26124](facebook/react#26124)) //<Sebastian Markbåge>//
- **[35698311d](facebook/react@35698311d )**: Update jest escapeString config ([#26140](facebook/react#26140)) //<Ming Ye>//
- **[6ddcbd4f9](facebook/react@6ddcbd4f9 )**: [flow] enable LTI inference mode ([#26104](facebook/react#26104)) //<Jan Kassens>//
- **[53b1f69ba](facebook/react@53b1f69ba )**: Implement unstable_getBoundingClientRect in RN Fabric refs ([#26137](facebook/react#26137)) //<Rubén Norte>//
- **[594093496](facebook/react@594093496 )**: Update to Jest 29 ([#26088](facebook/react#26088)) //<Ming Ye>//
- **[28fcae062](facebook/react@28fcae062 )**: Add support for SVG `transformOrigin` prop ([#26130](facebook/react#26130)) //<Aravind D>//
- **[3ff1540e9](facebook/react@3ff1540e9 )**: Prefer JSX in ReactNoop assertions (to combat out-of-memory test runs) ([#26127](facebook/react#26127)) //<Sebastian Silbermann>//
- **[01a0c4e12](facebook/react@01a0c4e12 )**: Add Edge Server Builds for workerd / edge-light ([#26116](facebook/react#26116)) //<Sebastian Markbåge>//
- **[f0cf832e1](facebook/react@f0cf832e1 )**: Update Flight Fixture to "use client" instead of .client.js ([#26118](facebook/react#26118)) //<Sebastian Markbåge>//
- **[03a216070](facebook/react@03a216070 )**: Rename "dom" fork to "dom-node" and "bun" fork to "dom-bun" ([#26117](facebook/react#26117)) //<Sebastian Markbåge>//
- **[4bf2113a1](facebook/react@4bf2113a1 )**: Revert "Move the Webpack manifest config to one level deeper ([#26083](facebook/react#26083))"  ([#26111](facebook/react#26111)) //<Sebastian Markbåge>//
- **[2ef24145e](facebook/react@2ef24145e )**: [flow] upgrade to 0.199.0 ([#26096](facebook/react#26096)) //<Jan Kassens>//
- **[922dd7ba5](facebook/react@922dd7ba5 )**: Revert the outer module object to an object ([#26093](facebook/react#26093)) //<Sebastian Markbåge>//
- **[9d111ffdf](facebook/react@9d111ffdf )**: Serialize Promises through Flight ([#26086](facebook/react#26086)) //<Sebastian Markbåge>//
- **[0ba4698c7](facebook/react@0ba4698c7 )**: Fix async test in React reconciler ([#26087](facebook/react#26087)) //<Ming Ye>//
- **[8c234c0de](facebook/react@8c234c0de )**: Move the Webpack manifest config to one level deeper ([#26083](facebook/react#26083)) //<Sebastian Markbåge>//
- **[977bccd24](facebook/react@977bccd24 )**: Refactor Flight Encoding ([#26082](facebook/react#26082)) //<Sebastian Markbåge>//
- **[d7bb524ad](facebook/react@d7bb524ad )**: [cleanup] Remove unused package jest-mock-scheduler ([#26084](facebook/react#26084)) //<Ming Ye>//
- **[6b3083266](facebook/react@6b3083266 )**: Upgrade prettier ([#26081](facebook/react#26081)) //<Jan Kassens>//
- **[1f5ce59dd](facebook/react@1f5ce59dd )**: [cleanup] fully roll out warnAboutSpreadingKeyToJSX ([#26080](facebook/react#26080)) //<Jan Kassens>//

Changelog:
[General][Changed] - React Native sync for revisions 48b687f...fccf3a9

jest_e2e[run_all_tests]

Reviewed By: rubennorte

Differential Revision: D43305607

fbshipit-source-id: 8da7567ca2a182f4be27788935c2da30a731f83b
OlimpiaZurek pushed a commit to OlimpiaZurek/react-native that referenced this pull request May 22, 2023
Summary:
This sync includes the following changes:
- **[86c8c8db7](facebook/react@86c8c8db7 )**: test: Don't retry flushActWork if flushUntilNextPaint threw ([facebook#26121](facebook/react#26121)) //<Sebastian Silbermann>//
- **[64acd3918](facebook/react@64acd3918 )**: remove unguarded getRootNode call ([facebook#26152](facebook/react#26152)) //<Josh Story>//
- **[71cace4d3](facebook/react@71cace4d3 )**: Migrate testRunner from jasmine2 to jest-circus ([facebook#26144](facebook/react#26144)) //<Ming Ye>//
- **[c8510227c](facebook/react@c8510227c )**: Treat displayName as undefined ([facebook#26148](facebook/react#26148)) //<Sebastian Markbåge>//
- **[55542bc73](facebook/react@55542bc73 )**: Update jest printBasicPrototype config ([facebook#26142](facebook/react#26142)) //<Ming Ye>//
- **[6396b6641](facebook/react@6396b6641 )**: Model Float on Hoistables semantics ([facebook#26106](facebook/react#26106)) //<Josh Story>//
- **[ef9f6e77b](facebook/react@ef9f6e77b )**: Enable passing Server References from Server to Client ([facebook#26124](facebook/react#26124)) //<Sebastian Markbåge>//
- **[35698311d](facebook/react@35698311d )**: Update jest escapeString config ([facebook#26140](facebook/react#26140)) //<Ming Ye>//
- **[6ddcbd4f9](facebook/react@6ddcbd4f9 )**: [flow] enable LTI inference mode ([facebook#26104](facebook/react#26104)) //<Jan Kassens>//
- **[53b1f69ba](facebook/react@53b1f69ba )**: Implement unstable_getBoundingClientRect in RN Fabric refs ([facebook#26137](facebook/react#26137)) //<Rubén Norte>//
- **[594093496](facebook/react@594093496 )**: Update to Jest 29 ([facebook#26088](facebook/react#26088)) //<Ming Ye>//
- **[28fcae062](facebook/react@28fcae062 )**: Add support for SVG `transformOrigin` prop ([facebook#26130](facebook/react#26130)) //<Aravind D>//
- **[3ff1540e9](facebook/react@3ff1540e9 )**: Prefer JSX in ReactNoop assertions (to combat out-of-memory test runs) ([facebook#26127](facebook/react#26127)) //<Sebastian Silbermann>//
- **[01a0c4e12](facebook/react@01a0c4e12 )**: Add Edge Server Builds for workerd / edge-light ([facebook#26116](facebook/react#26116)) //<Sebastian Markbåge>//
- **[f0cf832e1](facebook/react@f0cf832e1 )**: Update Flight Fixture to "use client" instead of .client.js ([facebook#26118](facebook/react#26118)) //<Sebastian Markbåge>//
- **[03a216070](facebook/react@03a216070 )**: Rename "dom" fork to "dom-node" and "bun" fork to "dom-bun" ([facebook#26117](facebook/react#26117)) //<Sebastian Markbåge>//
- **[4bf2113a1](facebook/react@4bf2113a1 )**: Revert "Move the Webpack manifest config to one level deeper ([facebook#26083](facebook/react#26083))"  ([facebook#26111](facebook/react#26111)) //<Sebastian Markbåge>//
- **[2ef24145e](facebook/react@2ef24145e )**: [flow] upgrade to 0.199.0 ([facebook#26096](facebook/react#26096)) //<Jan Kassens>//
- **[922dd7ba5](facebook/react@922dd7ba5 )**: Revert the outer module object to an object ([facebook#26093](facebook/react#26093)) //<Sebastian Markbåge>//
- **[9d111ffdf](facebook/react@9d111ffdf )**: Serialize Promises through Flight ([facebook#26086](facebook/react#26086)) //<Sebastian Markbåge>//
- **[0ba4698c7](facebook/react@0ba4698c7 )**: Fix async test in React reconciler ([facebook#26087](facebook/react#26087)) //<Ming Ye>//
- **[8c234c0de](facebook/react@8c234c0de )**: Move the Webpack manifest config to one level deeper ([facebook#26083](facebook/react#26083)) //<Sebastian Markbåge>//
- **[977bccd24](facebook/react@977bccd24 )**: Refactor Flight Encoding ([facebook#26082](facebook/react#26082)) //<Sebastian Markbåge>//
- **[d7bb524ad](facebook/react@d7bb524ad )**: [cleanup] Remove unused package jest-mock-scheduler ([facebook#26084](facebook/react#26084)) //<Ming Ye>//
- **[6b3083266](facebook/react@6b3083266 )**: Upgrade prettier ([facebook#26081](facebook/react#26081)) //<Jan Kassens>//
- **[1f5ce59dd](facebook/react@1f5ce59dd )**: [cleanup] fully roll out warnAboutSpreadingKeyToJSX ([facebook#26080](facebook/react#26080)) //<Jan Kassens>//

Changelog:
[General][Changed] - React Native sync for revisions 48b687f...fccf3a9

jest_e2e[run_all_tests]

Reviewed By: rubennorte

Differential Revision: D43305607

fbshipit-source-id: 8da7567ca2a182f4be27788935c2da30a731f83b
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