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

Feature: Suspend commit without blocking render #26398

Merged
merged 3 commits into from
Mar 17, 2023

Conversation

acdlite
Copy link
Collaborator

@acdlite acdlite commented Mar 15, 2023

This adds a new capability for renderers (React DOM, React Native): prevent a tree from being displayed until it is ready, showing a fallback if necessary, but without blocking the React components from being evaluated in the meantime.

A concrete example is CSS loading: React DOM can block a commit from being applied until the stylesheet has loaded. This allows us to load the CSS asynchronously, while also preventing a flash of unstyled content. Images and fonts are some of the other use cases.

You can think of this as "Suspense for the commit phase". Traditional Suspense, i.e. with use, blocking during the render phase: React cannot proceed with rendering until the data is available. But in the case of things like stylesheets, you don't need the CSS in order to evaluate the component. It just needs to be loaded before the tree is committed. Because React buffers its side effects and mutations, it can do work in parallel while the stylesheets load in the background.

Like regular Suspense, a "suspensey" stylesheet or image will trigger the nearest Suspense fallback if it hasn't loaded yet. For now, though, we only do this for non-urgent updates, like with startTransition. If you render a suspensey resource during an urgent update, it will revert to today's behavior. (We may or may not add a way to suspend the commit during an urgent update in the future.)

In this PR, I have implemented this capability in the reconciler via new methods added to the host config. I've used our internal React "no-op" renderer to write tests that demonstrate the feature. I have not yet implemented Suspensey CSS, images, etc in React DOM. @gnoff and I will work on that in subsequent PRs.

@facebook-github-bot facebook-github-bot added CLA Signed React Core Team Opened by a member of the React Core Team labels Mar 15, 2023
@acdlite acdlite force-pushed the suspend-commit-phase branch 2 times, most recently from 6cc3625 to 9f92086 Compare March 15, 2023 18:01
@react-sizebot
Copy link

react-sizebot commented Mar 15, 2023

Comparing: e4606c1...a836b04

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 +0.26% 157.44 kB 157.85 kB +0.26% 50.15 kB 50.28 kB
oss-experimental/react-dom/cjs/react-dom.production.min.js +0.26% 159.03 kB 159.44 kB +0.25% 50.67 kB 50.79 kB
facebook-www/ReactDOM-prod.classic.js +0.17% 541.47 kB 542.38 kB +0.21% 96.42 kB 96.62 kB
facebook-www/ReactDOM-prod.modern.js +0.17% 525.20 kB 526.11 kB +0.22% 93.95 kB 94.15 kB
oss-experimental/react-noop-renderer/cjs/react-noop-renderer.development.js +15.24% 36.46 kB 42.01 kB +15.15% 8.19 kB 9.43 kB
oss-stable-semver/react-noop-renderer/cjs/react-noop-renderer.development.js +15.24% 36.46 kB 42.01 kB +15.15% 8.19 kB 9.43 kB
oss-stable/react-noop-renderer/cjs/react-noop-renderer.development.js +15.24% 36.46 kB 42.01 kB +15.15% 8.19 kB 9.43 kB
oss-experimental/react-noop-renderer/cjs/react-noop-renderer-persistent.development.js +15.19% 36.59 kB 42.15 kB +15.12% 8.20 kB 9.44 kB
oss-stable-semver/react-noop-renderer/cjs/react-noop-renderer-persistent.development.js +15.19% 36.59 kB 42.15 kB +15.12% 8.20 kB 9.44 kB
oss-stable/react-noop-renderer/cjs/react-noop-renderer-persistent.development.js +15.19% 36.59 kB 42.15 kB +15.12% 8.20 kB 9.44 kB
oss-experimental/react-noop-renderer/cjs/react-noop-renderer.production.min.js +13.65% 13.34 kB 15.16 kB +15.04% 3.96 kB 4.56 kB
oss-stable-semver/react-noop-renderer/cjs/react-noop-renderer.production.min.js +13.65% 13.34 kB 15.16 kB +15.04% 3.96 kB 4.56 kB
oss-stable/react-noop-renderer/cjs/react-noop-renderer.production.min.js +13.65% 13.34 kB 15.16 kB +15.04% 3.96 kB 4.56 kB
oss-experimental/react-noop-renderer/cjs/react-noop-renderer-persistent.production.min.js +13.58% 13.40 kB 15.22 kB +15.03% 3.98 kB 4.58 kB
oss-stable-semver/react-noop-renderer/cjs/react-noop-renderer-persistent.production.min.js +13.58% 13.40 kB 15.22 kB +15.03% 3.98 kB 4.58 kB
oss-stable/react-noop-renderer/cjs/react-noop-renderer-persistent.production.min.js +13.58% 13.40 kB 15.22 kB +15.03% 3.98 kB 4.58 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-noop-renderer/cjs/react-noop-renderer.development.js +15.24% 36.46 kB 42.01 kB +15.15% 8.19 kB 9.43 kB
oss-stable-semver/react-noop-renderer/cjs/react-noop-renderer.development.js +15.24% 36.46 kB 42.01 kB +15.15% 8.19 kB 9.43 kB
oss-stable/react-noop-renderer/cjs/react-noop-renderer.development.js +15.24% 36.46 kB 42.01 kB +15.15% 8.19 kB 9.43 kB
oss-experimental/react-noop-renderer/cjs/react-noop-renderer-persistent.development.js +15.19% 36.59 kB 42.15 kB +15.12% 8.20 kB 9.44 kB
oss-stable-semver/react-noop-renderer/cjs/react-noop-renderer-persistent.development.js +15.19% 36.59 kB 42.15 kB +15.12% 8.20 kB 9.44 kB
oss-stable/react-noop-renderer/cjs/react-noop-renderer-persistent.development.js +15.19% 36.59 kB 42.15 kB +15.12% 8.20 kB 9.44 kB
oss-experimental/react-noop-renderer/cjs/react-noop-renderer.production.min.js +13.65% 13.34 kB 15.16 kB +15.04% 3.96 kB 4.56 kB
oss-stable-semver/react-noop-renderer/cjs/react-noop-renderer.production.min.js +13.65% 13.34 kB 15.16 kB +15.04% 3.96 kB 4.56 kB
oss-stable/react-noop-renderer/cjs/react-noop-renderer.production.min.js +13.65% 13.34 kB 15.16 kB +15.04% 3.96 kB 4.56 kB
oss-experimental/react-noop-renderer/cjs/react-noop-renderer-persistent.production.min.js +13.58% 13.40 kB 15.22 kB +15.03% 3.98 kB 4.58 kB
oss-stable-semver/react-noop-renderer/cjs/react-noop-renderer-persistent.production.min.js +13.58% 13.40 kB 15.22 kB +15.03% 3.98 kB 4.58 kB
oss-stable/react-noop-renderer/cjs/react-noop-renderer-persistent.production.min.js +13.58% 13.40 kB 15.22 kB +15.03% 3.98 kB 4.58 kB
oss-stable-semver/react-reconciler/cjs/react-reconciler.development.js +1.10% 870.24 kB 879.81 kB +1.49% 184.82 kB 187.57 kB
oss-stable/react-reconciler/cjs/react-reconciler.development.js +1.10% 870.27 kB 879.84 kB +1.49% 184.84 kB 187.60 kB
oss-experimental/react-reconciler/cjs/react-reconciler.development.js +1.09% 878.57 kB 888.14 kB +1.47% 186.38 kB 189.13 kB
oss-stable-semver/react-reconciler/cjs/react-reconciler.production.min.js +0.93% 109.74 kB 110.77 kB +1.02% 33.27 kB 33.61 kB
oss-stable/react-reconciler/cjs/react-reconciler.production.min.js +0.93% 109.77 kB 110.79 kB +1.03% 33.29 kB 33.63 kB
oss-experimental/react-reconciler/cjs/react-reconciler.production.min.js +0.92% 111.27 kB 112.29 kB +0.95% 33.75 kB 34.07 kB
oss-stable-semver/react-reconciler/cjs/react-reconciler.profiling.min.js +0.86% 118.74 kB 119.76 kB +0.88% 35.49 kB 35.80 kB
oss-stable/react-reconciler/cjs/react-reconciler.profiling.min.js +0.86% 118.76 kB 119.79 kB +0.87% 35.51 kB 35.82 kB
oss-experimental/react-reconciler/cjs/react-reconciler.profiling.min.js +0.85% 120.26 kB 121.28 kB +0.92% 35.95 kB 36.28 kB
facebook-react-native/react-test-renderer/cjs/ReactTestRenderer-dev.js +0.84% 771.22 kB 777.73 kB +1.06% 166.00 kB 167.76 kB
oss-stable-semver/react-test-renderer/cjs/react-test-renderer.development.js +0.83% 756.31 kB 762.57 kB +1.06% 164.15 kB 165.89 kB
oss-stable/react-test-renderer/cjs/react-test-renderer.development.js +0.83% 756.33 kB 762.59 kB +1.06% 164.18 kB 165.92 kB
facebook-www/ReactTestRenderer-dev.modern.js +0.83% 787.45 kB 793.96 kB +1.04% 169.17 kB 170.94 kB
facebook-www/ReactTestRenderer-dev.classic.js +0.83% 787.45 kB 793.96 kB +1.04% 169.17 kB 170.93 kB
oss-experimental/react-test-renderer/cjs/react-test-renderer.development.js +0.83% 756.70 kB 762.96 kB +1.06% 164.27 kB 166.02 kB
oss-stable-semver/react-test-renderer/umd/react-test-renderer.development.js +0.82% 792.28 kB 798.76 kB +1.07% 166.02 kB 167.80 kB
oss-stable/react-test-renderer/umd/react-test-renderer.development.js +0.82% 792.30 kB 798.78 kB +1.07% 166.04 kB 167.82 kB
oss-experimental/react-test-renderer/umd/react-test-renderer.development.js +0.82% 792.69 kB 799.18 kB +1.06% 166.13 kB 167.90 kB
oss-stable-semver/react-art/cjs/react-art.development.js +0.81% 776.89 kB 783.19 kB +1.06% 168.33 kB 170.11 kB
oss-stable/react-art/cjs/react-art.development.js +0.81% 776.92 kB 783.21 kB +1.06% 168.35 kB 170.13 kB
oss-experimental/react-art/cjs/react-art.development.js +0.80% 785.23 kB 791.52 kB +1.03% 169.89 kB 171.64 kB
react-native/implementations/ReactFabric-dev.js +0.77% 840.40 kB 846.91 kB +0.98% 181.45 kB 183.24 kB
react-native/implementations/ReactNativeRenderer-dev.js +0.76% 852.81 kB 859.33 kB +0.98% 185.03 kB 186.84 kB
facebook-www/ReactART-dev.modern.js +0.75% 876.74 kB 883.29 kB +0.98% 185.72 kB 187.54 kB
react-native/implementations/ReactFabric-dev.fb.js +0.74% 877.25 kB 883.76 kB +0.98% 188.71 kB 190.56 kB
facebook-www/ReactART-dev.classic.js +0.74% 887.93 kB 894.49 kB +0.95% 188.04 kB 189.84 kB
oss-stable-semver/react-art/umd/react-art.development.js +0.73% 890.60 kB 897.12 kB +0.98% 187.38 kB 189.23 kB
oss-stable/react-art/umd/react-art.development.js +0.73% 890.62 kB 897.14 kB +0.98% 187.40 kB 189.25 kB
react-native/implementations/ReactNativeRenderer-dev.fb.js +0.73% 889.64 kB 896.15 kB +0.96% 192.28 kB 194.12 kB
oss-experimental/react-art/umd/react-art.development.js +0.73% 899.39 kB 905.92 kB +0.96% 188.93 kB 190.75 kB
oss-stable-semver/react-dom/cjs/react-dom.development.js +0.53% 1,201.54 kB 1,207.93 kB +0.68% 267.23 kB 269.04 kB
oss-stable/react-dom/cjs/react-dom.development.js +0.53% 1,201.56 kB 1,207.95 kB +0.68% 267.26 kB 269.06 kB
oss-experimental/react-dom/cjs/react-dom.development.js +0.53% 1,211.61 kB 1,218.00 kB +0.66% 269.16 kB 270.93 kB
oss-stable-semver/react-dom/umd/react-dom.development.js +0.53% 1,259.31 kB 1,265.94 kB +0.66% 270.11 kB 271.88 kB
oss-stable/react-dom/umd/react-dom.development.js +0.53% 1,259.33 kB 1,265.96 kB +0.66% 270.13 kB 271.91 kB
oss-experimental/react-dom/umd/react-dom.development.js +0.52% 1,269.91 kB 1,276.54 kB +0.66% 272.00 kB 273.80 kB
oss-experimental/react-dom/cjs/react-dom-unstable_testing.development.js +0.52% 1,229.72 kB 1,236.11 kB +0.65% 273.55 kB 275.34 kB
facebook-www/ReactDOM-dev.modern.js +0.50% 1,331.69 kB 1,338.32 kB +0.62% 290.18 kB 291.99 kB
facebook-www/ReactDOMTesting-dev.modern.js +0.49% 1,350.10 kB 1,356.72 kB +0.62% 294.55 kB 296.37 kB
facebook-www/ReactDOM-dev.classic.js +0.49% 1,359.31 kB 1,365.94 kB +0.62% 295.43 kB 297.27 kB
facebook-www/ReactDOMTesting-dev.classic.js +0.48% 1,377.79 kB 1,384.42 kB +0.61% 299.63 kB 301.45 kB
oss-stable-semver/react-art/cjs/react-art.production.min.js +0.44% 93.30 kB 93.71 kB +0.38% 28.64 kB 28.75 kB
oss-stable/react-art/cjs/react-art.production.min.js +0.44% 93.35 kB 93.75 kB +0.38% 28.67 kB 28.78 kB
oss-stable-semver/react-test-renderer/umd/react-test-renderer.production.min.js +0.44% 101.57 kB 102.01 kB +0.32% 31.43 kB 31.52 kB
oss-stable/react-test-renderer/umd/react-test-renderer.production.min.js +0.43% 101.62 kB 102.06 kB +0.33% 31.45 kB 31.55 kB
oss-experimental/react-test-renderer/umd/react-test-renderer.production.min.js +0.43% 101.75 kB 102.19 kB +0.23% 31.51 kB 31.59 kB
oss-experimental/react-art/cjs/react-art.production.min.js +0.43% 94.85 kB 95.26 kB +0.36% 29.10 kB 29.21 kB
oss-stable-semver/react-test-renderer/cjs/react-test-renderer.production.min.js +0.40% 101.21 kB 101.62 kB +0.41% 30.98 kB 31.11 kB
oss-stable/react-test-renderer/cjs/react-test-renderer.production.min.js +0.40% 101.26 kB 101.67 kB +0.41% 31.01 kB 31.14 kB
oss-experimental/react-test-renderer/cjs/react-test-renderer.production.min.js +0.40% 101.38 kB 101.79 kB +0.40% 31.05 kB 31.17 kB
oss-stable-semver/react-art/umd/react-art.production.min.js +0.34% 130.57 kB 131.02 kB +0.32% 40.73 kB 40.86 kB
oss-stable/react-art/umd/react-art.production.min.js +0.34% 130.62 kB 131.07 kB +0.32% 40.76 kB 40.89 kB
oss-experimental/react-art/umd/react-art.production.min.js +0.33% 132.13 kB 132.57 kB +0.26% 41.24 kB 41.35 kB
facebook-react-native/react-test-renderer/cjs/ReactTestRenderer-prod.js +0.33% 292.41 kB 293.38 kB +0.41% 51.59 kB 51.80 kB
facebook-react-native/react-test-renderer/cjs/ReactTestRenderer-profiling.js +0.31% 308.15 kB 309.11 kB +0.38% 53.97 kB 54.18 kB
react-native/implementations/ReactFabric-prod.js +0.30% 316.17 kB 317.11 kB +0.32% 55.74 kB 55.92 kB
react-native/implementations/ReactNativeRenderer-prod.js +0.29% 322.24 kB 323.19 kB +0.35% 56.72 kB 56.92 kB
facebook-www/ReactART-prod.modern.js +0.29% 328.25 kB 329.20 kB +0.36% 55.64 kB 55.84 kB
react-native/implementations/ReactFabric-prod.fb.js +0.28% 326.92 kB 327.85 kB +0.31% 57.73 kB 57.91 kB
oss-stable-semver/react-dom/umd/react-dom.production.min.js +0.28% 157.29 kB 157.74 kB +0.29% 50.34 kB 50.49 kB
oss-stable/react-dom/umd/react-dom.production.min.js +0.28% 157.36 kB 157.81 kB +0.28% 50.37 kB 50.51 kB
react-native/implementations/ReactNativeRenderer-prod.fb.js +0.28% 332.98 kB 333.91 kB +0.33% 58.79 kB 58.99 kB
react-native/implementations/ReactFabric-profiling.js +0.28% 335.55 kB 336.49 kB +0.32% 58.92 kB 59.11 kB
react-native/implementations/ReactNativeRenderer-profiling.js +0.28% 341.66 kB 342.61 kB +0.34% 59.95 kB 60.16 kB
oss-experimental/react-dom/umd/react-dom.production.min.js +0.28% 158.95 kB 159.40 kB +0.27% 50.91 kB 51.05 kB
facebook-www/ReactART-prod.classic.js +0.28% 339.23 kB 340.18 kB +0.35% 57.54 kB 57.74 kB
oss-stable-semver/react-dom/umd/react-dom.profiling.min.js +0.27% 166.26 kB 166.70 kB +0.21% 52.75 kB 52.86 kB
oss-stable/react-dom/umd/react-dom.profiling.min.js +0.27% 166.33 kB 166.78 kB +0.21% 52.77 kB 52.88 kB
react-native/implementations/ReactFabric-profiling.fb.js +0.27% 354.14 kB 355.08 kB +0.35% 61.88 kB 62.10 kB
react-native/implementations/ReactNativeRenderer-profiling.fb.js +0.27% 360.23 kB 361.18 kB +0.33% 63.00 kB 63.21 kB
oss-experimental/react-dom/umd/react-dom.profiling.min.js +0.27% 167.92 kB 168.37 kB +0.19% 53.29 kB 53.39 kB
oss-stable-semver/react-dom/cjs/react-dom.production.min.js +0.26% 157.37 kB 157.78 kB +0.26% 50.13 kB 50.26 kB
oss-stable/react-dom/cjs/react-dom.production.min.js +0.26% 157.44 kB 157.85 kB +0.26% 50.15 kB 50.28 kB
oss-experimental/react-dom/cjs/react-dom.production.min.js +0.26% 159.03 kB 159.44 kB +0.25% 50.67 kB 50.79 kB
oss-experimental/react-dom/cjs/react-dom-unstable_testing.production.min.js +0.25% 165.24 kB 165.65 kB +0.27% 53.01 kB 53.15 kB
oss-stable-semver/react-dom/cjs/react-dom.profiling.min.js +0.25% 166.98 kB 167.40 kB +0.21% 52.60 kB 52.71 kB
oss-stable/react-dom/cjs/react-dom.profiling.min.js +0.25% 167.06 kB 167.47 kB +0.23% 52.62 kB 52.74 kB
oss-experimental/react-dom/cjs/react-dom.profiling.min.js +0.25% 168.64 kB 169.06 kB +0.25% 53.12 kB 53.25 kB

Generated by 🚫 dangerJS against a836b04

@acdlite acdlite force-pushed the suspend-commit-phase branch 6 times, most recently from d025547 to f22640e Compare March 16, 2023 04:15
There are several fiber types that can act like a Suspense boundary:
Suspense, SuspenseList, and Offscreen. This extracts the code for
scheduling a retry on those fibers into a shared function. In a later
step I'm going to modify how retries work.

Refactor only, no behavior change.
@acdlite acdlite marked this pull request as ready for review March 16, 2023 05:05
@acdlite acdlite force-pushed the suspend-commit-phase branch 2 times, most recently from d695302 to 7cd3646 Compare March 16, 2023 05:34
This adds a new capability for renderers (React DOM, React Native):
prevent a tree from being displayed until it is ready, showing a
fallback if necessary, but without blocking the React components from
being evaluated in the meantime.

A concrete example is CSS loading: React DOM can block a commit from
being applied until the stylesheet has loaded. This allows us to load
the CSS asynchronously, while also preventing a flash of unstyled
content. Images and fonts are some of the other use cases.

You can think of this as "Suspense for the commit phase". Traditional
Suspense, i.e. with `use`, blocking during the render phase: React
cannot proceed with rendering until the data is available. But in the
case of things like stylesheets, you don't need the CSS in order to
evaluate the component. It just needs to be loaded before the tree is
committed. Because React buffers its side effects and mutations, it can
do work in parallel while the stylesheets load in the background.

Like regular Suspense, a "suspensey" stylesheet or image will trigger
the nearest Suspense fallback if it hasn't loaded yet. For now, though,
we only do this for non-urgent updates, like with startTransition. If
you render a suspensey resource during an urgent update, it will revert
to today's behavior. (We may or may not add a way to suspend the commit
during an urgent update in the future.)

In this PR, I have implemented this capability in the reconciler via new
methods added to the host config. I've used our internal React "no-op"
renderer to write tests that demonstrate the feature. I have not
yet implemented Suspensey CSS, images, etc in React DOM. @gnoff and I
will work on that in subsequent PRs.
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.

I've started to build out suspensey CSS and there are some small changes we will need to for HoistableRoot tracking during the accumulation phase but I'll just roll those into my PR. I think this does the job it needs to now

@acdlite acdlite merged commit db281b3 into facebook:main Mar 17, 2023
github-actions bot pushed a commit that referenced this pull request Mar 17, 2023
This adds a new capability for renderers (React DOM, React Native):
prevent a tree from being displayed until it is ready, showing a
fallback if necessary, but without blocking the React components from
being evaluated in the meantime.

A concrete example is CSS loading: React DOM can block a commit from
being applied until the stylesheet has loaded. This allows us to load
the CSS asynchronously, while also preventing a flash of unstyled
content. Images and fonts are some of the other use cases.

You can think of this as "Suspense for the commit phase". Traditional
Suspense, i.e. with `use`, blocking during the render phase: React
cannot proceed with rendering until the data is available. But in the
case of things like stylesheets, you don't need the CSS in order to
evaluate the component. It just needs to be loaded before the tree is
committed. Because React buffers its side effects and mutations, it can
do work in parallel while the stylesheets load in the background.

Like regular Suspense, a "suspensey" stylesheet or image will trigger
the nearest Suspense fallback if it hasn't loaded yet. For now, though,
we only do this for non-urgent updates, like with startTransition. If
you render a suspensey resource during an urgent update, it will revert
to today's behavior. (We may or may not add a way to suspend the commit
during an urgent update in the future.)

In this PR, I have implemented this capability in the reconciler via new
methods added to the host config. I've used our internal React "no-op"
renderer to write tests that demonstrate the feature. I have not yet
implemented Suspensey CSS, images, etc in React DOM. @gnoff and I will
work on that in subsequent PRs.

DiffTrain build for [db281b3](db281b3)
kassens added a commit to kassens/react that referenced this pull request Mar 20, 2023
kassens added a commit to kassens/react that referenced this pull request Mar 20, 2023
facebook-github-bot pushed a commit to facebook/react-native that referenced this pull request Mar 21, 2023
Summary:
This sync includes the following changes:
- **[3554c8852](facebook/react@3554c8852 )**: Clean interface for public instances between React and React Native ([#26416](facebook/react#26416)) //<Rubén Norte>//
- **[db281b3d9](facebook/react@db281b3d9 )**: Feature: Suspend commit without blocking render ([#26398](facebook/react#26398)) //<Andrew Clark>//
- **[55308554e](facebook/react@55308554e )**: [www] enable enableFilterEmptyStringAttributesDOM flag ([#26410](facebook/react#26410)) //<Jan Kassens>//
- **[163d86e19](facebook/react@163d86e19 )**: Updated comment message ([#26158](facebook/react#26158)) //<Ibrahim Amin>//
- **[108aed083](facebook/react@108aed083 )**: Fix use of stale props in Fabric events ([#26408](facebook/react#26408)) //<Rubén Norte>//
- **[8fa41ffa2](facebook/react@8fa41ffa2 )**: Don't "fix up" mismatched text content with suppressedHydrationWarning ([#26391](facebook/react#26391)) //<Sebastian Markbåge>//
- **[05777ffb0](facebook/react@05777ffb0 )**: Setting transition pending flag shouldn't be part of a surrounding transition ([#26243](facebook/react#26243)) //<Sophie Alpert>//
- **[99aa082be](facebook/react@99aa082be )**: Remove unstable_flushControlled ([#26397](facebook/react#26397)) //<Jan Kassens>//
- **[47cf4e578](facebook/react@47cf4e578 )**: Restore some guards in ReactFabricGlobalResponderHandler after refactor ([#26394](facebook/react#26394)) //<Rubén Norte>//
- **[cfc1274e3](facebook/react@cfc1274e3 )**: Disable IE innerHTML workaround behind a flag ([#26390](facebook/react#26390)) //<Sebastian Markbåge>//
- **[a57f40d83](facebook/react@a57f40d83 )**: Undo dependency injection of batching ([#26389](facebook/react#26389)) //<Sebastian Markbåge>//
- **[d310d654a](facebook/react@d310d654a )**: Avoid meta programming to initialize functions in module scope  ([#26388](facebook/react#26388)) //<Sebastian Markbåge>//
- **[21aee59e4](facebook/react@21aee59e4 )**: Delete unused DOM files ([#26387](facebook/react#26387)) //<Sebastian Markbåge>//
- **[6bd53a5bd](facebook/react@6bd53a5bd )**: Remove FeatureFlags fork for `react-dom/unstable_testing` ([#26383](facebook/react#26383)) //<Sebastian Markbåge>//
- **[2788d0d8d](facebook/react@2788d0d8d )**: Allow empty string to be passed to formAction ([#26379](facebook/react#26379)) //<Sebastian Markbåge>//
- **[f828bad38](facebook/react@f828bad38 )**: Extracted definition and access to public instances to a separate module in Fabric ([#26321](facebook/react#26321)) //<Rubén Norte>//
- **[131768166](facebook/react@131768166 )**: Support Context as renderable node ([#25641](facebook/react#25641)) //<Andrew Clark>//
- **[d4f58c3b8](facebook/react@d4f58c3b8 )**: Support Promise as a renderable node  ([#25634](facebook/react#25634)) //<Andrew Clark>//
- **[633461486](facebook/react@633461486 )**: Add disableLegacyContext test gates where needed ([#26371](facebook/react#26371)) //<Andrew Clark>//
- **[432ffc9d0](facebook/react@432ffc9d0 )**: Convert more Scheduler.unstable_flushAll in tests to new test utils ([#26369](facebook/react#26369)) //<Tianyu Yao>//
- **[69fd78fe3](facebook/react@69fd78fe3 )**: Update Float tests to check for specific errors ([#26367](facebook/react#26367)) //<Andrew Clark>//
- **[93c10dfa6](facebook/react@93c10dfa6 )**: flushSync: Exhaust queue even if something throws ([#26366](facebook/react#26366)) //<Andrew Clark>//
- **[be353d251](facebook/react@be353d251 )**: [Flight Reply] Add undefined and Iterable Support ([#26365](facebook/react#26365)) //<Sebastian Markbåge>//
- **[ef8bdbecb](facebook/react@ef8bdbecb )**: [Flight Reply] Add Reply Encoding ([#26360](facebook/react#26360)) //<Sebastian Markbåge>//
- **[a8875eab7](facebook/react@a8875eab7 )**: Update more tests to not rely on sync queuing ([#26358](facebook/react#26358)) //<Andrew Clark>//
- **[d1ad984db](facebook/react@d1ad984db )**: [Flight] Add support for returning `undefined` from render ([#26349](facebook/react#26349)) //<Sebastian Silbermann>//
- **[39d4b9365](facebook/react@39d4b9365 )**: [Internal tests] Close MessageChannel port to prevent leak ([#26357](facebook/react#26357)) //<Andrew Clark>//
- **[3706edb81](facebook/react@3706edb81 )**: [Float][Fizz]: Don't preload nomodule scripts ([#26353](facebook/react#26353)) //<Josh Story>//
- **[2b003a5cc](facebook/react@2b003a5cc )**: Split out ServerReferenceMetadata into Id and Bound Arguments ([#26351](facebook/react#26351)) //<Sebastian Markbåge>//
- **[62cd5af08](facebook/react@62cd5af08 )**: Codemod redundant async act scopes ([#26350](facebook/react#26350)) //<Andrew Clark>//
- **[037378202](facebook/react@037378202 )**: Internal `act`: Call scope function after an async gap ([#26347](facebook/react#26347)) //<Andrew Clark>//
- **[d8e49f2af](facebook/react@d8e49f2af )**: Use setTimeout to schedule work on the server in Edge environments ([#26348](facebook/react#26348)) //<Sebastian Markbåge>//
- **[83643778b](facebook/react@83643778b )**: Internal test helpers: Use Node's MessageChannel to queue task ([#26345](facebook/react#26345)) //<Andrew Clark>//
- **[44d380794](facebook/react@44d380794 )**: Move internalAct to internal-test-utils package ([#26344](facebook/react#26344)) //<Andrew Clark>//
- **[d81447304](facebook/react@d81447304 )**: [Internal API only] Delete non-awaited form of act ([#26339](facebook/react#26339)) //<Andrew Clark>//
- **[702fc984e](facebook/react@702fc984e )**: Codemod act -> await act (4/?) ([#26338](facebook/react#26338)) //<Andrew Clark>//
- **[9fb2469a6](facebook/react@9fb2469a6 )**: Restore definition of NativeMethods as an object for React Native ([#26341](facebook/react#26341)) //<Rubén Norte>//
- **[161f6ae42](facebook/react@161f6ae42 )**: Codemod act -> await act (3/?) ([#26336](facebook/react#26336)) //<Andrew Clark>//
- **[58605f798](facebook/react@58605f798 )**: Codemod act -> await act (2/?) ([#26335](facebook/react#26335)) //<Andrew Clark>//
- **[703c67560](facebook/react@703c67560 )**: Codemod act -> await act (1/?) ([#26334](facebook/react#26334)) //<Andrew Clark>//
- **[b380c2485](facebook/react@b380c2485 )**: Convert class equivlance tests to flushSync ([#26333](facebook/react#26333)) //<Andrew Clark>//
- **[8f812e75d](facebook/react@8f812e75d )**: Refactor ReactFabricHostComponent ([#26323](facebook/react#26323)) //<Rubén Norte>//
- **[978fae4b4](facebook/react@978fae4b4 )**: [Float][Fiber] implement a faster hydration match for hoistable elements ([#26154](facebook/react#26154)) //<Josh Story>//
- **[8a9f82ed5](facebook/react@8a9f82ed5 )**: [Float][Fizz][Fiber] - Do not hoist elements with `itemProp` & hydrate more tolerantly in hoist contexts ([#26256](facebook/react#26256)) //<Josh Story>//
- **[3cad3a54e](facebook/react@3cad3a54e )**: Use content hash for facebook-www builds ([#26331](facebook/react#26331)) //<Jan Kassens>//
- **[ba353a50a](facebook/react@ba353a50a )**: Build: make version in build artifacts match ([#26329](facebook/react#26329)) //<Jan Kassens>//
- **[6e1756a5a](facebook/react@6e1756a5a )**: Move suspended render logic to ensureRootIsScheduled ([#26328](facebook/react#26328)) //<Andrew Clark>//
- **[1528c5ccd](facebook/react@1528c5ccd )**: SchedulerMock.unstable_yieldValue -> SchedulerMock.log ([#26312](facebook/react#26312)) //<Andrew Clark>//
- **[4bbac04cd](facebook/react@4bbac04cd )**: Upgrade Flow to 0.201 ([#26326](facebook/react#26326)) //<Jan Kassens>//
- **[eb616a12f](facebook/react@eb616a12f )**: Extract duplicated methods in Fabric and the legacy renderer to a shared module ([#26319](facebook/react#26319)) //<Rubén Norte>//
- **[49f741046](facebook/react@49f741046 )**: Fix: Infinite act loop caused by wrong shouldYield ([#26317](facebook/react#26317)) //<Andrew Clark>//
- **[106ea1c58](facebook/react@106ea1c58 )**: Support Iterables in Flight ([#26313](facebook/react#26313)) //<Sebastian Markbåge>//
- **[f905da227](facebook/react@f905da227 )**: [Flight] Send server reference error chunks to the client ([#26293](facebook/react#26293)) //<Hendrik Liebau>//
- **[e0241b660](facebook/react@e0241b660 )**: Simplify Webpack References by encoding file path + export name as single id ([#26300](facebook/react#26300)) //<Sebastian Markbåge>//
- **[25685d8a9](facebook/react@25685d8a9 )**: Codemod tests to waitFor pattern (9/?) ([#26309](facebook/react#26309)) //<Andrew Clark>//
- **[64dde7082](facebook/react@64dde7082 )**: Codemod tests to waitFor pattern (8/?) ([#26308](facebook/react#26308)) //<Andrew Clark>//
- **[3cb5afb82](facebook/react@3cb5afb82 )**: Codemod tests to waitFor pattern (7/?) ([#26307](facebook/react#26307)) //<Andrew Clark>//
- **[e98695db9](facebook/react@e98695db9 )**: Codemod tests to waitFor pattern (6/?) ([#26305](facebook/react#26305)) //<Andrew Clark>//
- **[9a52cc8bc](facebook/react@9a52cc8bc )**: Convert ReactLazy-test to waitFor pattern ([#26304](facebook/react#26304)) //<Andrew Clark>//
- **[03462cfc7](facebook/react@03462cfc7 )**: [Fizz] External runtime: fix bug in processing existing elements ([#26303](facebook/react#26303)) //<mofeiZ>//
- **[faacefb4d](facebook/react@faacefb4d )**: Codemod tests to waitFor pattern (4/?) ([#26302](facebook/react#26302)) //<Andrew Clark>//
- **[06460b6fb](facebook/react@06460b6fb )**: Remove unnecessary (and incorrect) code for compatibility with Paper in the Fabric version of GlobalResponderHandler ([#26290](facebook/react#26290)) //<Rubén Norte>//
- **[ce8a72fd4](facebook/react@ce8a72fd4 )**: Codemod tests to waitFor pattern (2/?) ([#26296](facebook/react#26296)) //<Andrew Clark>//
- **[1f1f8eb55](facebook/react@1f1f8eb55 )**: [Float][Fizz][Fiber]: Refactor <style> Resource implementation to group on flush ([#26280](facebook/react#26280)) //<Josh Story>//
- **[5c633a48f](facebook/react@5c633a48f )**: Add back accidentally deleted test comments ([#26294](facebook/react#26294)) //<Andrew Clark>//
- **[b72ed698f](facebook/react@b72ed698f )**: Fixed incorrect value returned as public instance from reconciler ([#26283](facebook/react#26283)) //<Rubén Norte>//
- **[25a8b9735](facebook/react@25a8b9735 )**: Codemod tests to waitFor pattern (1/?) ([#26288](facebook/react#26288)) //<Andrew Clark>//
- **[e52446733](facebook/react@e52446733 )**: New internal testing helpers: waitFor, waitForAll, waitForPaint ([#26285](facebook/react#26285)) //<Andrew Clark>//
- **[d49e0e0be](facebook/react@d49e0e0be )**: Removed unused imperative events implementation from React Native renderer ([#26282](facebook/react#26282)) //<Rubén Norte>//
- **[41110021f](facebook/react@41110021f )**: Fix: Selective hydration causing incorrect thenable type passed to DevTools ([#26275](facebook/react#26275)) //<Andrew Clark>//
- **[67a61d5bd](facebook/react@67a61d5bd )**: [Flight Fixture] Show SSR Support with CSS ([#26263](facebook/react#26263)) //<Sebastian Markbåge>//
- **[40755c01a](facebook/react@40755c01a )**: [Flight Fixture] Proxy requests through the global server instead of directly ([#26257](facebook/react#26257)) //<Sebastian Markbåge>//
- **[b2ae9ddb3](facebook/react@b2ae9ddb3 )**: Cleanup enableSyncDefaultUpdate flag ([#26236](facebook/react#26236)) //<Jan Kassens>//
- **[6ff1733e6](facebook/react@6ff1733e6 )**: [Float][Fizz][Fiber] support type for ReactDOM.preload() options ([#26239](facebook/react#26239)) //<Josh Story>//
- **[1173a17e6](facebook/react@1173a17e6 )**: [Float][Fizz][Fiber] implement preconnect and prefetchDNS float methods ([#26237](facebook/react#26237)) //<Josh Story>//
- **[a8f971b7a](facebook/react@a8f971b7a )**: Switch to mount dispatcher after use() when needed ([#26232](facebook/react#26232)) //<Sophie Alpert>//
- **[96cdeaf89](facebook/react@96cdeaf89 )**: [Fizz Node] Fix null bytes written at text chunk boundaries ([#26228](facebook/react#26228)) //<Sophie Alpert>//
- **[c04b18070](facebook/react@c04b18070 )**: Remove eventTime field from class Update type ([#26219](facebook/react#26219)) //<Andrew Clark>//
- **[60144a04d](facebook/react@60144a04d )**: Split out Edge and Node implementations of the Flight Client ([#26187](facebook/react#26187)) //<Sebastian Markbåge>//
- **[70b0bbda7](facebook/react@70b0bbda7 )**: [fizz][external-runtime] Fix: process mutation records before disconnecting ([#26169](facebook/react#26169)) //<mofeiZ>//
- **[c7967b194](facebook/react@c7967b194 )**: Distribute bundles more evenly into CI shards ([#26208](facebook/react#26208)) //<Sebastian Silbermann>//
- **[bb1e3d0e1](facebook/react@bb1e3d0e1 )**: Fail yarn build if any bundle fails to build ([#26207](facebook/react#26207)) //<Sebastian Silbermann>//
- **[62e6c4612](facebook/react@62e6c4612 )**: Move Mutation/Persistence fork inline into the functions ([#26206](facebook/react#26206)) //<Sebastian Markbåge>//
- **[80cf4a099](facebook/react@80cf4a099 )**: Update Closure Compiler ([#26205](facebook/react#26205)) //<Sebastian Markbåge>//
- **[6b6d0617e](facebook/react@6b6d0617e )**: Update Rollup and related plugins to their most recent versions ([#24916](facebook/react#24916)) //<Glenn 'devalias' Grant>//
- **[bc38a3dfa](facebook/react@bc38a3dfa )**: Update rollup config to use moduleSideEffects ([#26199](facebook/react#26199)) //<Ming Ye>//
- **[c9d9f524d](facebook/react@c9d9f524d )**: Make enableCustomElementPropertySupport a dynamic flag in www build ([#26194](facebook/react#26194)) //<Andrew Clark>//
- **[189f70e17](facebook/react@189f70e17 )**: Create a bunch of custom webpack vs unbundled node bundles ([#26172](facebook/react#26172)) //<Sebastian Markbåge>//
- **[fbf3bc315](facebook/react@fbf3bc315 )**: Add `scale` as a unitless property ([#25601](facebook/react#25601)) //<Jonny Burger>//

Changelog:
[General][Changed] - React Native sync for revisions fccf3a9...3554c88

jest_e2e[run_all_tests]
bypass-github-export-checks

@public

Fixes tests for current React version.

Reviewed By: sammy-SC

Differential Revision: D44216371

fbshipit-source-id: a569c9aeaf2d96d150219e148f06dcde9ba6f7cd
facebook-github-bot pushed a commit to facebook/relay that referenced this pull request Mar 21, 2023
Summary:
This sync includes the following changes:
- **[3554c8852](facebook/react@3554c8852 )**: Clean interface for public instances between React and React Native ([#26416](facebook/react#26416)) //<Rubén Norte>//
- **[db281b3d9](facebook/react@db281b3d9 )**: Feature: Suspend commit without blocking render ([#26398](facebook/react#26398)) //<Andrew Clark>//
- **[55308554e](facebook/react@55308554e )**: [www] enable enableFilterEmptyStringAttributesDOM flag ([#26410](facebook/react#26410)) //<Jan Kassens>//
- **[163d86e19](facebook/react@163d86e19 )**: Updated comment message ([#26158](facebook/react#26158)) //<Ibrahim Amin>//
- **[108aed083](facebook/react@108aed083 )**: Fix use of stale props in Fabric events ([#26408](facebook/react#26408)) //<Rubén Norte>//
- **[8fa41ffa2](facebook/react@8fa41ffa2 )**: Don't "fix up" mismatched text content with suppressedHydrationWarning ([#26391](facebook/react#26391)) //<Sebastian Markbåge>//
- **[05777ffb0](facebook/react@05777ffb0 )**: Setting transition pending flag shouldn't be part of a surrounding transition ([#26243](facebook/react#26243)) //<Sophie Alpert>//
- **[99aa082be](facebook/react@99aa082be )**: Remove unstable_flushControlled ([#26397](facebook/react#26397)) //<Jan Kassens>//
- **[47cf4e578](facebook/react@47cf4e578 )**: Restore some guards in ReactFabricGlobalResponderHandler after refactor ([#26394](facebook/react#26394)) //<Rubén Norte>//
- **[cfc1274e3](facebook/react@cfc1274e3 )**: Disable IE innerHTML workaround behind a flag ([#26390](facebook/react#26390)) //<Sebastian Markbåge>//
- **[a57f40d83](facebook/react@a57f40d83 )**: Undo dependency injection of batching ([#26389](facebook/react#26389)) //<Sebastian Markbåge>//
- **[d310d654a](facebook/react@d310d654a )**: Avoid meta programming to initialize functions in module scope  ([#26388](facebook/react#26388)) //<Sebastian Markbåge>//
- **[21aee59e4](facebook/react@21aee59e4 )**: Delete unused DOM files ([#26387](facebook/react#26387)) //<Sebastian Markbåge>//
- **[6bd53a5bd](facebook/react@6bd53a5bd )**: Remove FeatureFlags fork for `react-dom/unstable_testing` ([#26383](facebook/react#26383)) //<Sebastian Markbåge>//
- **[2788d0d8d](facebook/react@2788d0d8d )**: Allow empty string to be passed to formAction ([#26379](facebook/react#26379)) //<Sebastian Markbåge>//
- **[f828bad38](facebook/react@f828bad38 )**: Extracted definition and access to public instances to a separate module in Fabric ([#26321](facebook/react#26321)) //<Rubén Norte>//
- **[131768166](facebook/react@131768166 )**: Support Context as renderable node ([#25641](facebook/react#25641)) //<Andrew Clark>//
- **[d4f58c3b8](facebook/react@d4f58c3b8 )**: Support Promise as a renderable node  ([#25634](facebook/react#25634)) //<Andrew Clark>//
- **[633461486](facebook/react@633461486 )**: Add disableLegacyContext test gates where needed ([#26371](facebook/react#26371)) //<Andrew Clark>//
- **[432ffc9d0](facebook/react@432ffc9d0 )**: Convert more Scheduler.unstable_flushAll in tests to new test utils ([#26369](facebook/react#26369)) //<Tianyu Yao>//
- **[69fd78fe3](facebook/react@69fd78fe3 )**: Update Float tests to check for specific errors ([#26367](facebook/react#26367)) //<Andrew Clark>//
- **[93c10dfa6](facebook/react@93c10dfa6 )**: flushSync: Exhaust queue even if something throws ([#26366](facebook/react#26366)) //<Andrew Clark>//
- **[be353d251](facebook/react@be353d251 )**: [Flight Reply] Add undefined and Iterable Support ([#26365](facebook/react#26365)) //<Sebastian Markbåge>//
- **[ef8bdbecb](facebook/react@ef8bdbecb )**: [Flight Reply] Add Reply Encoding ([#26360](facebook/react#26360)) //<Sebastian Markbåge>//
- **[a8875eab7](facebook/react@a8875eab7 )**: Update more tests to not rely on sync queuing ([#26358](facebook/react#26358)) //<Andrew Clark>//
- **[d1ad984db](facebook/react@d1ad984db )**: [Flight] Add support for returning `undefined` from render ([#26349](facebook/react#26349)) //<Sebastian Silbermann>//
- **[39d4b9365](facebook/react@39d4b9365 )**: [Internal tests] Close MessageChannel port to prevent leak ([#26357](facebook/react#26357)) //<Andrew Clark>//
- **[3706edb81](facebook/react@3706edb81 )**: [Float][Fizz]: Don't preload nomodule scripts ([#26353](facebook/react#26353)) //<Josh Story>//
- **[2b003a5cc](facebook/react@2b003a5cc )**: Split out ServerReferenceMetadata into Id and Bound Arguments ([#26351](facebook/react#26351)) //<Sebastian Markbåge>//
- **[62cd5af08](facebook/react@62cd5af08 )**: Codemod redundant async act scopes ([#26350](facebook/react#26350)) //<Andrew Clark>//
- **[037378202](facebook/react@037378202 )**: Internal `act`: Call scope function after an async gap ([#26347](facebook/react#26347)) //<Andrew Clark>//
- **[d8e49f2af](facebook/react@d8e49f2af )**: Use setTimeout to schedule work on the server in Edge environments ([#26348](facebook/react#26348)) //<Sebastian Markbåge>//
- **[83643778b](facebook/react@83643778b )**: Internal test helpers: Use Node's MessageChannel to queue task ([#26345](facebook/react#26345)) //<Andrew Clark>//
- **[44d380794](facebook/react@44d380794 )**: Move internalAct to internal-test-utils package ([#26344](facebook/react#26344)) //<Andrew Clark>//
- **[d81447304](facebook/react@d81447304 )**: [Internal API only] Delete non-awaited form of act ([#26339](facebook/react#26339)) //<Andrew Clark>//
- **[702fc984e](facebook/react@702fc984e )**: Codemod act -> await act (4/?) ([#26338](facebook/react#26338)) //<Andrew Clark>//
- **[9fb2469a6](facebook/react@9fb2469a6 )**: Restore definition of NativeMethods as an object for React Native ([#26341](facebook/react#26341)) //<Rubén Norte>//
- **[161f6ae42](facebook/react@161f6ae42 )**: Codemod act -> await act (3/?) ([#26336](facebook/react#26336)) //<Andrew Clark>//
- **[58605f798](facebook/react@58605f798 )**: Codemod act -> await act (2/?) ([#26335](facebook/react#26335)) //<Andrew Clark>//
- **[703c67560](facebook/react@703c67560 )**: Codemod act -> await act (1/?) ([#26334](facebook/react#26334)) //<Andrew Clark>//
- **[b380c2485](facebook/react@b380c2485 )**: Convert class equivlance tests to flushSync ([#26333](facebook/react#26333)) //<Andrew Clark>//
- **[8f812e75d](facebook/react@8f812e75d )**: Refactor ReactFabricHostComponent ([#26323](facebook/react#26323)) //<Rubén Norte>//
- **[978fae4b4](facebook/react@978fae4b4 )**: [Float][Fiber] implement a faster hydration match for hoistable elements ([#26154](facebook/react#26154)) //<Josh Story>//
- **[8a9f82ed5](facebook/react@8a9f82ed5 )**: [Float][Fizz][Fiber] - Do not hoist elements with `itemProp` & hydrate more tolerantly in hoist contexts ([#26256](facebook/react#26256)) //<Josh Story>//
- **[3cad3a54e](facebook/react@3cad3a54e )**: Use content hash for facebook-www builds ([#26331](facebook/react#26331)) //<Jan Kassens>//
- **[ba353a50a](facebook/react@ba353a50a )**: Build: make version in build artifacts match ([#26329](facebook/react#26329)) //<Jan Kassens>//
- **[6e1756a5a](facebook/react@6e1756a5a )**: Move suspended render logic to ensureRootIsScheduled ([#26328](facebook/react#26328)) //<Andrew Clark>//
- **[1528c5ccd](facebook/react@1528c5ccd )**: SchedulerMock.unstable_yieldValue -> SchedulerMock.log ([#26312](facebook/react#26312)) //<Andrew Clark>//
- **[4bbac04cd](facebook/react@4bbac04cd )**: Upgrade Flow to 0.201 ([#26326](facebook/react#26326)) //<Jan Kassens>//
- **[eb616a12f](facebook/react@eb616a12f )**: Extract duplicated methods in Fabric and the legacy renderer to a shared module ([#26319](facebook/react#26319)) //<Rubén Norte>//
- **[49f741046](facebook/react@49f741046 )**: Fix: Infinite act loop caused by wrong shouldYield ([#26317](facebook/react#26317)) //<Andrew Clark>//
- **[106ea1c58](facebook/react@106ea1c58 )**: Support Iterables in Flight ([#26313](facebook/react#26313)) //<Sebastian Markbåge>//
- **[f905da227](facebook/react@f905da227 )**: [Flight] Send server reference error chunks to the client ([#26293](facebook/react#26293)) //<Hendrik Liebau>//
- **[e0241b660](facebook/react@e0241b660 )**: Simplify Webpack References by encoding file path + export name as single id ([#26300](facebook/react#26300)) //<Sebastian Markbåge>//
- **[25685d8a9](facebook/react@25685d8a9 )**: Codemod tests to waitFor pattern (9/?) ([#26309](facebook/react#26309)) //<Andrew Clark>//
- **[64dde7082](facebook/react@64dde7082 )**: Codemod tests to waitFor pattern (8/?) ([#26308](facebook/react#26308)) //<Andrew Clark>//
- **[3cb5afb82](facebook/react@3cb5afb82 )**: Codemod tests to waitFor pattern (7/?) ([#26307](facebook/react#26307)) //<Andrew Clark>//
- **[e98695db9](facebook/react@e98695db9 )**: Codemod tests to waitFor pattern (6/?) ([#26305](facebook/react#26305)) //<Andrew Clark>//
- **[9a52cc8bc](facebook/react@9a52cc8bc )**: Convert ReactLazy-test to waitFor pattern ([#26304](facebook/react#26304)) //<Andrew Clark>//
- **[03462cfc7](facebook/react@03462cfc7 )**: [Fizz] External runtime: fix bug in processing existing elements ([#26303](facebook/react#26303)) //<mofeiZ>//
- **[faacefb4d](facebook/react@faacefb4d )**: Codemod tests to waitFor pattern (4/?) ([#26302](facebook/react#26302)) //<Andrew Clark>//
- **[06460b6fb](facebook/react@06460b6fb )**: Remove unnecessary (and incorrect) code for compatibility with Paper in the Fabric version of GlobalResponderHandler ([#26290](facebook/react#26290)) //<Rubén Norte>//
- **[ce8a72fd4](facebook/react@ce8a72fd4 )**: Codemod tests to waitFor pattern (2/?) ([#26296](facebook/react#26296)) //<Andrew Clark>//
- **[1f1f8eb55](facebook/react@1f1f8eb55 )**: [Float][Fizz][Fiber]: Refactor <style> Resource implementation to group on flush ([#26280](facebook/react#26280)) //<Josh Story>//
- **[5c633a48f](facebook/react@5c633a48f )**: Add back accidentally deleted test comments ([#26294](facebook/react#26294)) //<Andrew Clark>//
- **[b72ed698f](facebook/react@b72ed698f )**: Fixed incorrect value returned as public instance from reconciler ([#26283](facebook/react#26283)) //<Rubén Norte>//
- **[25a8b9735](facebook/react@25a8b9735 )**: Codemod tests to waitFor pattern (1/?) ([#26288](facebook/react#26288)) //<Andrew Clark>//
- **[e52446733](facebook/react@e52446733 )**: New internal testing helpers: waitFor, waitForAll, waitForPaint ([#26285](facebook/react#26285)) //<Andrew Clark>//
- **[d49e0e0be](facebook/react@d49e0e0be )**: Removed unused imperative events implementation from React Native renderer ([#26282](facebook/react#26282)) //<Rubén Norte>//
- **[41110021f](facebook/react@41110021f )**: Fix: Selective hydration causing incorrect thenable type passed to DevTools ([#26275](facebook/react#26275)) //<Andrew Clark>//
- **[67a61d5bd](facebook/react@67a61d5bd )**: [Flight Fixture] Show SSR Support with CSS ([#26263](facebook/react#26263)) //<Sebastian Markbåge>//
- **[40755c01a](facebook/react@40755c01a )**: [Flight Fixture] Proxy requests through the global server instead of directly ([#26257](facebook/react#26257)) //<Sebastian Markbåge>//
- **[b2ae9ddb3](facebook/react@b2ae9ddb3 )**: Cleanup enableSyncDefaultUpdate flag ([#26236](facebook/react#26236)) //<Jan Kassens>//
- **[6ff1733e6](facebook/react@6ff1733e6 )**: [Float][Fizz][Fiber] support type for ReactDOM.preload() options ([#26239](facebook/react#26239)) //<Josh Story>//
- **[1173a17e6](facebook/react@1173a17e6 )**: [Float][Fizz][Fiber] implement preconnect and prefetchDNS float methods ([#26237](facebook/react#26237)) //<Josh Story>//
- **[a8f971b7a](facebook/react@a8f971b7a )**: Switch to mount dispatcher after use() when needed ([#26232](facebook/react#26232)) //<Sophie Alpert>//
- **[96cdeaf89](facebook/react@96cdeaf89 )**: [Fizz Node] Fix null bytes written at text chunk boundaries ([#26228](facebook/react#26228)) //<Sophie Alpert>//
- **[c04b18070](facebook/react@c04b18070 )**: Remove eventTime field from class Update type ([#26219](facebook/react#26219)) //<Andrew Clark>//
- **[60144a04d](facebook/react@60144a04d )**: Split out Edge and Node implementations of the Flight Client ([#26187](facebook/react#26187)) //<Sebastian Markbåge>//
- **[70b0bbda7](facebook/react@70b0bbda7 )**: [fizz][external-runtime] Fix: process mutation records before disconnecting ([#26169](facebook/react#26169)) //<mofeiZ>//
- **[c7967b194](facebook/react@c7967b194 )**: Distribute bundles more evenly into CI shards ([#26208](facebook/react#26208)) //<Sebastian Silbermann>//
- **[bb1e3d0e1](facebook/react@bb1e3d0e1 )**: Fail yarn build if any bundle fails to build ([#26207](facebook/react#26207)) //<Sebastian Silbermann>//
- **[62e6c4612](facebook/react@62e6c4612 )**: Move Mutation/Persistence fork inline into the functions ([#26206](facebook/react#26206)) //<Sebastian Markbåge>//
- **[80cf4a099](facebook/react@80cf4a099 )**: Update Closure Compiler ([#26205](facebook/react#26205)) //<Sebastian Markbåge>//
- **[6b6d0617e](facebook/react@6b6d0617e )**: Update Rollup and related plugins to their most recent versions ([#24916](facebook/react#24916)) //<Glenn 'devalias' Grant>//
- **[bc38a3dfa](facebook/react@bc38a3dfa )**: Update rollup config to use moduleSideEffects ([#26199](facebook/react#26199)) //<Ming Ye>//
- **[c9d9f524d](facebook/react@c9d9f524d )**: Make enableCustomElementPropertySupport a dynamic flag in www build ([#26194](facebook/react#26194)) //<Andrew Clark>//
- **[189f70e17](facebook/react@189f70e17 )**: Create a bunch of custom webpack vs unbundled node bundles ([#26172](facebook/react#26172)) //<Sebastian Markbåge>//
- **[fbf3bc315](facebook/react@fbf3bc315 )**: Add `scale` as a unitless property ([#25601](facebook/react#25601)) //<Jonny Burger>//

Changelog:
[General][Changed] - React Native sync for revisions fccf3a9...3554c88

jest_e2e[run_all_tests]
bypass-github-export-checks

Fixes tests for current React version.

Reviewed By: sammy-SC

Differential Revision: D44216371

fbshipit-source-id: a569c9aeaf2d96d150219e148f06dcde9ba6f7cd
@gaojude
Copy link

gaojude commented Apr 8, 2023

Does this mean that the fallback container for suspense cannot use asynchronous CSS?

@gnoff
Copy link
Collaborator

gnoff commented Apr 8, 2023

The fallback is conceptually part of the parent Suspense Boundary. If it used css that needed to load the parent boundary would also not commit u til it loaded. So it works,
Just one level higher.

jeongshin pushed a commit to jeongshin/react-native that referenced this pull request May 7, 2023
Summary:
This sync includes the following changes:
- **[3554c8852](facebook/react@3554c8852 )**: Clean interface for public instances between React and React Native ([facebook#26416](facebook/react#26416)) //<Rubén Norte>//
- **[db281b3d9](facebook/react@db281b3d9 )**: Feature: Suspend commit without blocking render ([facebook#26398](facebook/react#26398)) //<Andrew Clark>//
- **[55308554e](facebook/react@55308554e )**: [www] enable enableFilterEmptyStringAttributesDOM flag ([facebook#26410](facebook/react#26410)) //<Jan Kassens>//
- **[163d86e19](facebook/react@163d86e19 )**: Updated comment message ([facebook#26158](facebook/react#26158)) //<Ibrahim Amin>//
- **[108aed083](facebook/react@108aed083 )**: Fix use of stale props in Fabric events ([facebook#26408](facebook/react#26408)) //<Rubén Norte>//
- **[8fa41ffa2](facebook/react@8fa41ffa2 )**: Don't "fix up" mismatched text content with suppressedHydrationWarning ([facebook#26391](facebook/react#26391)) //<Sebastian Markbåge>//
- **[05777ffb0](facebook/react@05777ffb0 )**: Setting transition pending flag shouldn't be part of a surrounding transition ([facebook#26243](facebook/react#26243)) //<Sophie Alpert>//
- **[99aa082be](facebook/react@99aa082be )**: Remove unstable_flushControlled ([facebook#26397](facebook/react#26397)) //<Jan Kassens>//
- **[47cf4e578](facebook/react@47cf4e578 )**: Restore some guards in ReactFabricGlobalResponderHandler after refactor ([facebook#26394](facebook/react#26394)) //<Rubén Norte>//
- **[cfc1274e3](facebook/react@cfc1274e3 )**: Disable IE innerHTML workaround behind a flag ([facebook#26390](facebook/react#26390)) //<Sebastian Markbåge>//
- **[a57f40d83](facebook/react@a57f40d83 )**: Undo dependency injection of batching ([facebook#26389](facebook/react#26389)) //<Sebastian Markbåge>//
- **[d310d654a](facebook/react@d310d654a )**: Avoid meta programming to initialize functions in module scope  ([facebook#26388](facebook/react#26388)) //<Sebastian Markbåge>//
- **[21aee59e4](facebook/react@21aee59e4 )**: Delete unused DOM files ([facebook#26387](facebook/react#26387)) //<Sebastian Markbåge>//
- **[6bd53a5bd](facebook/react@6bd53a5bd )**: Remove FeatureFlags fork for `react-dom/unstable_testing` ([facebook#26383](facebook/react#26383)) //<Sebastian Markbåge>//
- **[2788d0d8d](facebook/react@2788d0d8d )**: Allow empty string to be passed to formAction ([facebook#26379](facebook/react#26379)) //<Sebastian Markbåge>//
- **[f828bad38](facebook/react@f828bad38 )**: Extracted definition and access to public instances to a separate module in Fabric ([facebook#26321](facebook/react#26321)) //<Rubén Norte>//
- **[131768166](facebook/react@131768166 )**: Support Context as renderable node ([facebook#25641](facebook/react#25641)) //<Andrew Clark>//
- **[d4f58c3b8](facebook/react@d4f58c3b8 )**: Support Promise as a renderable node  ([facebook#25634](facebook/react#25634)) //<Andrew Clark>//
- **[633461486](facebook/react@633461486 )**: Add disableLegacyContext test gates where needed ([facebook#26371](facebook/react#26371)) //<Andrew Clark>//
- **[432ffc9d0](facebook/react@432ffc9d0 )**: Convert more Scheduler.unstable_flushAll in tests to new test utils ([facebook#26369](facebook/react#26369)) //<Tianyu Yao>//
- **[69fd78fe3](facebook/react@69fd78fe3 )**: Update Float tests to check for specific errors ([facebook#26367](facebook/react#26367)) //<Andrew Clark>//
- **[93c10dfa6](facebook/react@93c10dfa6 )**: flushSync: Exhaust queue even if something throws ([facebook#26366](facebook/react#26366)) //<Andrew Clark>//
- **[be353d251](facebook/react@be353d251 )**: [Flight Reply] Add undefined and Iterable Support ([facebook#26365](facebook/react#26365)) //<Sebastian Markbåge>//
- **[ef8bdbecb](facebook/react@ef8bdbecb )**: [Flight Reply] Add Reply Encoding ([facebook#26360](facebook/react#26360)) //<Sebastian Markbåge>//
- **[a8875eab7](facebook/react@a8875eab7 )**: Update more tests to not rely on sync queuing ([facebook#26358](facebook/react#26358)) //<Andrew Clark>//
- **[d1ad984db](facebook/react@d1ad984db )**: [Flight] Add support for returning `undefined` from render ([facebook#26349](facebook/react#26349)) //<Sebastian Silbermann>//
- **[39d4b9365](facebook/react@39d4b9365 )**: [Internal tests] Close MessageChannel port to prevent leak ([facebook#26357](facebook/react#26357)) //<Andrew Clark>//
- **[3706edb81](facebook/react@3706edb81 )**: [Float][Fizz]: Don't preload nomodule scripts ([facebook#26353](facebook/react#26353)) //<Josh Story>//
- **[2b003a5cc](facebook/react@2b003a5cc )**: Split out ServerReferenceMetadata into Id and Bound Arguments ([facebook#26351](facebook/react#26351)) //<Sebastian Markbåge>//
- **[62cd5af08](facebook/react@62cd5af08 )**: Codemod redundant async act scopes ([facebook#26350](facebook/react#26350)) //<Andrew Clark>//
- **[037378202](facebook/react@037378202 )**: Internal `act`: Call scope function after an async gap ([facebook#26347](facebook/react#26347)) //<Andrew Clark>//
- **[d8e49f2af](facebook/react@d8e49f2af )**: Use setTimeout to schedule work on the server in Edge environments ([facebook#26348](facebook/react#26348)) //<Sebastian Markbåge>//
- **[83643778b](facebook/react@83643778b )**: Internal test helpers: Use Node's MessageChannel to queue task ([facebook#26345](facebook/react#26345)) //<Andrew Clark>//
- **[44d380794](facebook/react@44d380794 )**: Move internalAct to internal-test-utils package ([facebook#26344](facebook/react#26344)) //<Andrew Clark>//
- **[d81447304](facebook/react@d81447304 )**: [Internal API only] Delete non-awaited form of act ([facebook#26339](facebook/react#26339)) //<Andrew Clark>//
- **[702fc984e](facebook/react@702fc984e )**: Codemod act -> await act (4/?) ([facebook#26338](facebook/react#26338)) //<Andrew Clark>//
- **[9fb2469a6](facebook/react@9fb2469a6 )**: Restore definition of NativeMethods as an object for React Native ([facebook#26341](facebook/react#26341)) //<Rubén Norte>//
- **[161f6ae42](facebook/react@161f6ae42 )**: Codemod act -> await act (3/?) ([facebook#26336](facebook/react#26336)) //<Andrew Clark>//
- **[58605f798](facebook/react@58605f798 )**: Codemod act -> await act (2/?) ([facebook#26335](facebook/react#26335)) //<Andrew Clark>//
- **[703c67560](facebook/react@703c67560 )**: Codemod act -> await act (1/?) ([facebook#26334](facebook/react#26334)) //<Andrew Clark>//
- **[b380c2485](facebook/react@b380c2485 )**: Convert class equivlance tests to flushSync ([facebook#26333](facebook/react#26333)) //<Andrew Clark>//
- **[8f812e75d](facebook/react@8f812e75d )**: Refactor ReactFabricHostComponent ([facebook#26323](facebook/react#26323)) //<Rubén Norte>//
- **[978fae4b4](facebook/react@978fae4b4 )**: [Float][Fiber] implement a faster hydration match for hoistable elements ([facebook#26154](facebook/react#26154)) //<Josh Story>//
- **[8a9f82ed5](facebook/react@8a9f82ed5 )**: [Float][Fizz][Fiber] - Do not hoist elements with `itemProp` & hydrate more tolerantly in hoist contexts ([facebook#26256](facebook/react#26256)) //<Josh Story>//
- **[3cad3a54e](facebook/react@3cad3a54e )**: Use content hash for facebook-www builds ([facebook#26331](facebook/react#26331)) //<Jan Kassens>//
- **[ba353a50a](facebook/react@ba353a50a )**: Build: make version in build artifacts match ([facebook#26329](facebook/react#26329)) //<Jan Kassens>//
- **[6e1756a5a](facebook/react@6e1756a5a )**: Move suspended render logic to ensureRootIsScheduled ([facebook#26328](facebook/react#26328)) //<Andrew Clark>//
- **[1528c5ccd](facebook/react@1528c5ccd )**: SchedulerMock.unstable_yieldValue -> SchedulerMock.log ([facebook#26312](facebook/react#26312)) //<Andrew Clark>//
- **[4bbac04cd](facebook/react@4bbac04cd )**: Upgrade Flow to 0.201 ([facebook#26326](facebook/react#26326)) //<Jan Kassens>//
- **[eb616a12f](facebook/react@eb616a12f )**: Extract duplicated methods in Fabric and the legacy renderer to a shared module ([facebook#26319](facebook/react#26319)) //<Rubén Norte>//
- **[49f741046](facebook/react@49f741046 )**: Fix: Infinite act loop caused by wrong shouldYield ([facebook#26317](facebook/react#26317)) //<Andrew Clark>//
- **[106ea1c58](facebook/react@106ea1c58 )**: Support Iterables in Flight ([facebook#26313](facebook/react#26313)) //<Sebastian Markbåge>//
- **[f905da227](facebook/react@f905da227 )**: [Flight] Send server reference error chunks to the client ([facebook#26293](facebook/react#26293)) //<Hendrik Liebau>//
- **[e0241b660](facebook/react@e0241b660 )**: Simplify Webpack References by encoding file path + export name as single id ([facebook#26300](facebook/react#26300)) //<Sebastian Markbåge>//
- **[25685d8a9](facebook/react@25685d8a9 )**: Codemod tests to waitFor pattern (9/?) ([facebook#26309](facebook/react#26309)) //<Andrew Clark>//
- **[64dde7082](facebook/react@64dde7082 )**: Codemod tests to waitFor pattern (8/?) ([facebook#26308](facebook/react#26308)) //<Andrew Clark>//
- **[3cb5afb82](facebook/react@3cb5afb82 )**: Codemod tests to waitFor pattern (7/?) ([facebook#26307](facebook/react#26307)) //<Andrew Clark>//
- **[e98695db9](facebook/react@e98695db9 )**: Codemod tests to waitFor pattern (6/?) ([facebook#26305](facebook/react#26305)) //<Andrew Clark>//
- **[9a52cc8bc](facebook/react@9a52cc8bc )**: Convert ReactLazy-test to waitFor pattern ([facebook#26304](facebook/react#26304)) //<Andrew Clark>//
- **[03462cfc7](facebook/react@03462cfc7 )**: [Fizz] External runtime: fix bug in processing existing elements ([facebook#26303](facebook/react#26303)) //<mofeiZ>//
- **[faacefb4d](facebook/react@faacefb4d )**: Codemod tests to waitFor pattern (4/?) ([facebook#26302](facebook/react#26302)) //<Andrew Clark>//
- **[06460b6fb](facebook/react@06460b6fb )**: Remove unnecessary (and incorrect) code for compatibility with Paper in the Fabric version of GlobalResponderHandler ([facebook#26290](facebook/react#26290)) //<Rubén Norte>//
- **[ce8a72fd4](facebook/react@ce8a72fd4 )**: Codemod tests to waitFor pattern (2/?) ([facebook#26296](facebook/react#26296)) //<Andrew Clark>//
- **[1f1f8eb55](facebook/react@1f1f8eb55 )**: [Float][Fizz][Fiber]: Refactor <style> Resource implementation to group on flush ([facebook#26280](facebook/react#26280)) //<Josh Story>//
- **[5c633a48f](facebook/react@5c633a48f )**: Add back accidentally deleted test comments ([facebook#26294](facebook/react#26294)) //<Andrew Clark>//
- **[b72ed698f](facebook/react@b72ed698f )**: Fixed incorrect value returned as public instance from reconciler ([facebook#26283](facebook/react#26283)) //<Rubén Norte>//
- **[25a8b9735](facebook/react@25a8b9735 )**: Codemod tests to waitFor pattern (1/?) ([facebook#26288](facebook/react#26288)) //<Andrew Clark>//
- **[e52446733](facebook/react@e52446733 )**: New internal testing helpers: waitFor, waitForAll, waitForPaint ([facebook#26285](facebook/react#26285)) //<Andrew Clark>//
- **[d49e0e0be](facebook/react@d49e0e0be )**: Removed unused imperative events implementation from React Native renderer ([facebook#26282](facebook/react#26282)) //<Rubén Norte>//
- **[41110021f](facebook/react@41110021f )**: Fix: Selective hydration causing incorrect thenable type passed to DevTools ([facebook#26275](facebook/react#26275)) //<Andrew Clark>//
- **[67a61d5bd](facebook/react@67a61d5bd )**: [Flight Fixture] Show SSR Support with CSS ([facebook#26263](facebook/react#26263)) //<Sebastian Markbåge>//
- **[40755c01a](facebook/react@40755c01a )**: [Flight Fixture] Proxy requests through the global server instead of directly ([facebook#26257](facebook/react#26257)) //<Sebastian Markbåge>//
- **[b2ae9ddb3](facebook/react@b2ae9ddb3 )**: Cleanup enableSyncDefaultUpdate flag ([facebook#26236](facebook/react#26236)) //<Jan Kassens>//
- **[6ff1733e6](facebook/react@6ff1733e6 )**: [Float][Fizz][Fiber] support type for ReactDOM.preload() options ([facebook#26239](facebook/react#26239)) //<Josh Story>//
- **[1173a17e6](facebook/react@1173a17e6 )**: [Float][Fizz][Fiber] implement preconnect and prefetchDNS float methods ([facebook#26237](facebook/react#26237)) //<Josh Story>//
- **[a8f971b7a](facebook/react@a8f971b7a )**: Switch to mount dispatcher after use() when needed ([facebook#26232](facebook/react#26232)) //<Sophie Alpert>//
- **[96cdeaf89](facebook/react@96cdeaf89 )**: [Fizz Node] Fix null bytes written at text chunk boundaries ([facebook#26228](facebook/react#26228)) //<Sophie Alpert>//
- **[c04b18070](facebook/react@c04b18070 )**: Remove eventTime field from class Update type ([facebook#26219](facebook/react#26219)) //<Andrew Clark>//
- **[60144a04d](facebook/react@60144a04d )**: Split out Edge and Node implementations of the Flight Client ([facebook#26187](facebook/react#26187)) //<Sebastian Markbåge>//
- **[70b0bbda7](facebook/react@70b0bbda7 )**: [fizz][external-runtime] Fix: process mutation records before disconnecting ([facebook#26169](facebook/react#26169)) //<mofeiZ>//
- **[c7967b194](facebook/react@c7967b194 )**: Distribute bundles more evenly into CI shards ([facebook#26208](facebook/react#26208)) //<Sebastian Silbermann>//
- **[bb1e3d0e1](facebook/react@bb1e3d0e1 )**: Fail yarn build if any bundle fails to build ([facebook#26207](facebook/react#26207)) //<Sebastian Silbermann>//
- **[62e6c4612](facebook/react@62e6c4612 )**: Move Mutation/Persistence fork inline into the functions ([facebook#26206](facebook/react#26206)) //<Sebastian Markbåge>//
- **[80cf4a099](facebook/react@80cf4a099 )**: Update Closure Compiler ([facebook#26205](facebook/react#26205)) //<Sebastian Markbåge>//
- **[6b6d0617e](facebook/react@6b6d0617e )**: Update Rollup and related plugins to their most recent versions ([facebook#24916](facebook/react#24916)) //<Glenn 'devalias' Grant>//
- **[bc38a3dfa](facebook/react@bc38a3dfa )**: Update rollup config to use moduleSideEffects ([facebook#26199](facebook/react#26199)) //<Ming Ye>//
- **[c9d9f524d](facebook/react@c9d9f524d )**: Make enableCustomElementPropertySupport a dynamic flag in www build ([facebook#26194](facebook/react#26194)) //<Andrew Clark>//
- **[189f70e17](facebook/react@189f70e17 )**: Create a bunch of custom webpack vs unbundled node bundles ([facebook#26172](facebook/react#26172)) //<Sebastian Markbåge>//
- **[fbf3bc315](facebook/react@fbf3bc315 )**: Add `scale` as a unitless property ([facebook#25601](facebook/react#25601)) //<Jonny Burger>//

Changelog:
[General][Changed] - React Native sync for revisions fccf3a9...3554c88

jest_e2e[run_all_tests]
bypass-github-export-checks

@public

Fixes tests for current React version.

Reviewed By: sammy-SC

Differential Revision: D44216371

fbshipit-source-id: a569c9aeaf2d96d150219e148f06dcde9ba6f7cd
OlimpiaZurek pushed a commit to OlimpiaZurek/react-native that referenced this pull request May 22, 2023
Summary:
This sync includes the following changes:
- **[3554c8852](facebook/react@3554c8852 )**: Clean interface for public instances between React and React Native ([facebook#26416](facebook/react#26416)) //<Rubén Norte>//
- **[db281b3d9](facebook/react@db281b3d9 )**: Feature: Suspend commit without blocking render ([facebook#26398](facebook/react#26398)) //<Andrew Clark>//
- **[55308554e](facebook/react@55308554e )**: [www] enable enableFilterEmptyStringAttributesDOM flag ([facebook#26410](facebook/react#26410)) //<Jan Kassens>//
- **[163d86e19](facebook/react@163d86e19 )**: Updated comment message ([facebook#26158](facebook/react#26158)) //<Ibrahim Amin>//
- **[108aed083](facebook/react@108aed083 )**: Fix use of stale props in Fabric events ([facebook#26408](facebook/react#26408)) //<Rubén Norte>//
- **[8fa41ffa2](facebook/react@8fa41ffa2 )**: Don't "fix up" mismatched text content with suppressedHydrationWarning ([facebook#26391](facebook/react#26391)) //<Sebastian Markbåge>//
- **[05777ffb0](facebook/react@05777ffb0 )**: Setting transition pending flag shouldn't be part of a surrounding transition ([facebook#26243](facebook/react#26243)) //<Sophie Alpert>//
- **[99aa082be](facebook/react@99aa082be )**: Remove unstable_flushControlled ([facebook#26397](facebook/react#26397)) //<Jan Kassens>//
- **[47cf4e578](facebook/react@47cf4e578 )**: Restore some guards in ReactFabricGlobalResponderHandler after refactor ([facebook#26394](facebook/react#26394)) //<Rubén Norte>//
- **[cfc1274e3](facebook/react@cfc1274e3 )**: Disable IE innerHTML workaround behind a flag ([facebook#26390](facebook/react#26390)) //<Sebastian Markbåge>//
- **[a57f40d83](facebook/react@a57f40d83 )**: Undo dependency injection of batching ([facebook#26389](facebook/react#26389)) //<Sebastian Markbåge>//
- **[d310d654a](facebook/react@d310d654a )**: Avoid meta programming to initialize functions in module scope  ([facebook#26388](facebook/react#26388)) //<Sebastian Markbåge>//
- **[21aee59e4](facebook/react@21aee59e4 )**: Delete unused DOM files ([facebook#26387](facebook/react#26387)) //<Sebastian Markbåge>//
- **[6bd53a5bd](facebook/react@6bd53a5bd )**: Remove FeatureFlags fork for `react-dom/unstable_testing` ([facebook#26383](facebook/react#26383)) //<Sebastian Markbåge>//
- **[2788d0d8d](facebook/react@2788d0d8d )**: Allow empty string to be passed to formAction ([facebook#26379](facebook/react#26379)) //<Sebastian Markbåge>//
- **[f828bad38](facebook/react@f828bad38 )**: Extracted definition and access to public instances to a separate module in Fabric ([facebook#26321](facebook/react#26321)) //<Rubén Norte>//
- **[131768166](facebook/react@131768166 )**: Support Context as renderable node ([facebook#25641](facebook/react#25641)) //<Andrew Clark>//
- **[d4f58c3b8](facebook/react@d4f58c3b8 )**: Support Promise as a renderable node  ([facebook#25634](facebook/react#25634)) //<Andrew Clark>//
- **[633461486](facebook/react@633461486 )**: Add disableLegacyContext test gates where needed ([facebook#26371](facebook/react#26371)) //<Andrew Clark>//
- **[432ffc9d0](facebook/react@432ffc9d0 )**: Convert more Scheduler.unstable_flushAll in tests to new test utils ([facebook#26369](facebook/react#26369)) //<Tianyu Yao>//
- **[69fd78fe3](facebook/react@69fd78fe3 )**: Update Float tests to check for specific errors ([facebook#26367](facebook/react#26367)) //<Andrew Clark>//
- **[93c10dfa6](facebook/react@93c10dfa6 )**: flushSync: Exhaust queue even if something throws ([facebook#26366](facebook/react#26366)) //<Andrew Clark>//
- **[be353d251](facebook/react@be353d251 )**: [Flight Reply] Add undefined and Iterable Support ([facebook#26365](facebook/react#26365)) //<Sebastian Markbåge>//
- **[ef8bdbecb](facebook/react@ef8bdbecb )**: [Flight Reply] Add Reply Encoding ([facebook#26360](facebook/react#26360)) //<Sebastian Markbåge>//
- **[a8875eab7](facebook/react@a8875eab7 )**: Update more tests to not rely on sync queuing ([facebook#26358](facebook/react#26358)) //<Andrew Clark>//
- **[d1ad984db](facebook/react@d1ad984db )**: [Flight] Add support for returning `undefined` from render ([facebook#26349](facebook/react#26349)) //<Sebastian Silbermann>//
- **[39d4b9365](facebook/react@39d4b9365 )**: [Internal tests] Close MessageChannel port to prevent leak ([facebook#26357](facebook/react#26357)) //<Andrew Clark>//
- **[3706edb81](facebook/react@3706edb81 )**: [Float][Fizz]: Don't preload nomodule scripts ([facebook#26353](facebook/react#26353)) //<Josh Story>//
- **[2b003a5cc](facebook/react@2b003a5cc )**: Split out ServerReferenceMetadata into Id and Bound Arguments ([facebook#26351](facebook/react#26351)) //<Sebastian Markbåge>//
- **[62cd5af08](facebook/react@62cd5af08 )**: Codemod redundant async act scopes ([facebook#26350](facebook/react#26350)) //<Andrew Clark>//
- **[037378202](facebook/react@037378202 )**: Internal `act`: Call scope function after an async gap ([facebook#26347](facebook/react#26347)) //<Andrew Clark>//
- **[d8e49f2af](facebook/react@d8e49f2af )**: Use setTimeout to schedule work on the server in Edge environments ([facebook#26348](facebook/react#26348)) //<Sebastian Markbåge>//
- **[83643778b](facebook/react@83643778b )**: Internal test helpers: Use Node's MessageChannel to queue task ([facebook#26345](facebook/react#26345)) //<Andrew Clark>//
- **[44d380794](facebook/react@44d380794 )**: Move internalAct to internal-test-utils package ([facebook#26344](facebook/react#26344)) //<Andrew Clark>//
- **[d81447304](facebook/react@d81447304 )**: [Internal API only] Delete non-awaited form of act ([facebook#26339](facebook/react#26339)) //<Andrew Clark>//
- **[702fc984e](facebook/react@702fc984e )**: Codemod act -> await act (4/?) ([facebook#26338](facebook/react#26338)) //<Andrew Clark>//
- **[9fb2469a6](facebook/react@9fb2469a6 )**: Restore definition of NativeMethods as an object for React Native ([facebook#26341](facebook/react#26341)) //<Rubén Norte>//
- **[161f6ae42](facebook/react@161f6ae42 )**: Codemod act -> await act (3/?) ([facebook#26336](facebook/react#26336)) //<Andrew Clark>//
- **[58605f798](facebook/react@58605f798 )**: Codemod act -> await act (2/?) ([facebook#26335](facebook/react#26335)) //<Andrew Clark>//
- **[703c67560](facebook/react@703c67560 )**: Codemod act -> await act (1/?) ([facebook#26334](facebook/react#26334)) //<Andrew Clark>//
- **[b380c2485](facebook/react@b380c2485 )**: Convert class equivlance tests to flushSync ([facebook#26333](facebook/react#26333)) //<Andrew Clark>//
- **[8f812e75d](facebook/react@8f812e75d )**: Refactor ReactFabricHostComponent ([facebook#26323](facebook/react#26323)) //<Rubén Norte>//
- **[978fae4b4](facebook/react@978fae4b4 )**: [Float][Fiber] implement a faster hydration match for hoistable elements ([facebook#26154](facebook/react#26154)) //<Josh Story>//
- **[8a9f82ed5](facebook/react@8a9f82ed5 )**: [Float][Fizz][Fiber] - Do not hoist elements with `itemProp` & hydrate more tolerantly in hoist contexts ([facebook#26256](facebook/react#26256)) //<Josh Story>//
- **[3cad3a54e](facebook/react@3cad3a54e )**: Use content hash for facebook-www builds ([facebook#26331](facebook/react#26331)) //<Jan Kassens>//
- **[ba353a50a](facebook/react@ba353a50a )**: Build: make version in build artifacts match ([facebook#26329](facebook/react#26329)) //<Jan Kassens>//
- **[6e1756a5a](facebook/react@6e1756a5a )**: Move suspended render logic to ensureRootIsScheduled ([facebook#26328](facebook/react#26328)) //<Andrew Clark>//
- **[1528c5ccd](facebook/react@1528c5ccd )**: SchedulerMock.unstable_yieldValue -> SchedulerMock.log ([facebook#26312](facebook/react#26312)) //<Andrew Clark>//
- **[4bbac04cd](facebook/react@4bbac04cd )**: Upgrade Flow to 0.201 ([facebook#26326](facebook/react#26326)) //<Jan Kassens>//
- **[eb616a12f](facebook/react@eb616a12f )**: Extract duplicated methods in Fabric and the legacy renderer to a shared module ([facebook#26319](facebook/react#26319)) //<Rubén Norte>//
- **[49f741046](facebook/react@49f741046 )**: Fix: Infinite act loop caused by wrong shouldYield ([facebook#26317](facebook/react#26317)) //<Andrew Clark>//
- **[106ea1c58](facebook/react@106ea1c58 )**: Support Iterables in Flight ([facebook#26313](facebook/react#26313)) //<Sebastian Markbåge>//
- **[f905da227](facebook/react@f905da227 )**: [Flight] Send server reference error chunks to the client ([facebook#26293](facebook/react#26293)) //<Hendrik Liebau>//
- **[e0241b660](facebook/react@e0241b660 )**: Simplify Webpack References by encoding file path + export name as single id ([facebook#26300](facebook/react#26300)) //<Sebastian Markbåge>//
- **[25685d8a9](facebook/react@25685d8a9 )**: Codemod tests to waitFor pattern (9/?) ([facebook#26309](facebook/react#26309)) //<Andrew Clark>//
- **[64dde7082](facebook/react@64dde7082 )**: Codemod tests to waitFor pattern (8/?) ([facebook#26308](facebook/react#26308)) //<Andrew Clark>//
- **[3cb5afb82](facebook/react@3cb5afb82 )**: Codemod tests to waitFor pattern (7/?) ([facebook#26307](facebook/react#26307)) //<Andrew Clark>//
- **[e98695db9](facebook/react@e98695db9 )**: Codemod tests to waitFor pattern (6/?) ([facebook#26305](facebook/react#26305)) //<Andrew Clark>//
- **[9a52cc8bc](facebook/react@9a52cc8bc )**: Convert ReactLazy-test to waitFor pattern ([facebook#26304](facebook/react#26304)) //<Andrew Clark>//
- **[03462cfc7](facebook/react@03462cfc7 )**: [Fizz] External runtime: fix bug in processing existing elements ([facebook#26303](facebook/react#26303)) //<mofeiZ>//
- **[faacefb4d](facebook/react@faacefb4d )**: Codemod tests to waitFor pattern (4/?) ([facebook#26302](facebook/react#26302)) //<Andrew Clark>//
- **[06460b6fb](facebook/react@06460b6fb )**: Remove unnecessary (and incorrect) code for compatibility with Paper in the Fabric version of GlobalResponderHandler ([facebook#26290](facebook/react#26290)) //<Rubén Norte>//
- **[ce8a72fd4](facebook/react@ce8a72fd4 )**: Codemod tests to waitFor pattern (2/?) ([facebook#26296](facebook/react#26296)) //<Andrew Clark>//
- **[1f1f8eb55](facebook/react@1f1f8eb55 )**: [Float][Fizz][Fiber]: Refactor <style> Resource implementation to group on flush ([facebook#26280](facebook/react#26280)) //<Josh Story>//
- **[5c633a48f](facebook/react@5c633a48f )**: Add back accidentally deleted test comments ([facebook#26294](facebook/react#26294)) //<Andrew Clark>//
- **[b72ed698f](facebook/react@b72ed698f )**: Fixed incorrect value returned as public instance from reconciler ([facebook#26283](facebook/react#26283)) //<Rubén Norte>//
- **[25a8b9735](facebook/react@25a8b9735 )**: Codemod tests to waitFor pattern (1/?) ([facebook#26288](facebook/react#26288)) //<Andrew Clark>//
- **[e52446733](facebook/react@e52446733 )**: New internal testing helpers: waitFor, waitForAll, waitForPaint ([facebook#26285](facebook/react#26285)) //<Andrew Clark>//
- **[d49e0e0be](facebook/react@d49e0e0be )**: Removed unused imperative events implementation from React Native renderer ([facebook#26282](facebook/react#26282)) //<Rubén Norte>//
- **[41110021f](facebook/react@41110021f )**: Fix: Selective hydration causing incorrect thenable type passed to DevTools ([facebook#26275](facebook/react#26275)) //<Andrew Clark>//
- **[67a61d5bd](facebook/react@67a61d5bd )**: [Flight Fixture] Show SSR Support with CSS ([facebook#26263](facebook/react#26263)) //<Sebastian Markbåge>//
- **[40755c01a](facebook/react@40755c01a )**: [Flight Fixture] Proxy requests through the global server instead of directly ([facebook#26257](facebook/react#26257)) //<Sebastian Markbåge>//
- **[b2ae9ddb3](facebook/react@b2ae9ddb3 )**: Cleanup enableSyncDefaultUpdate flag ([facebook#26236](facebook/react#26236)) //<Jan Kassens>//
- **[6ff1733e6](facebook/react@6ff1733e6 )**: [Float][Fizz][Fiber] support type for ReactDOM.preload() options ([facebook#26239](facebook/react#26239)) //<Josh Story>//
- **[1173a17e6](facebook/react@1173a17e6 )**: [Float][Fizz][Fiber] implement preconnect and prefetchDNS float methods ([facebook#26237](facebook/react#26237)) //<Josh Story>//
- **[a8f971b7a](facebook/react@a8f971b7a )**: Switch to mount dispatcher after use() when needed ([facebook#26232](facebook/react#26232)) //<Sophie Alpert>//
- **[96cdeaf89](facebook/react@96cdeaf89 )**: [Fizz Node] Fix null bytes written at text chunk boundaries ([facebook#26228](facebook/react#26228)) //<Sophie Alpert>//
- **[c04b18070](facebook/react@c04b18070 )**: Remove eventTime field from class Update type ([facebook#26219](facebook/react#26219)) //<Andrew Clark>//
- **[60144a04d](facebook/react@60144a04d )**: Split out Edge and Node implementations of the Flight Client ([facebook#26187](facebook/react#26187)) //<Sebastian Markbåge>//
- **[70b0bbda7](facebook/react@70b0bbda7 )**: [fizz][external-runtime] Fix: process mutation records before disconnecting ([facebook#26169](facebook/react#26169)) //<mofeiZ>//
- **[c7967b194](facebook/react@c7967b194 )**: Distribute bundles more evenly into CI shards ([facebook#26208](facebook/react#26208)) //<Sebastian Silbermann>//
- **[bb1e3d0e1](facebook/react@bb1e3d0e1 )**: Fail yarn build if any bundle fails to build ([facebook#26207](facebook/react#26207)) //<Sebastian Silbermann>//
- **[62e6c4612](facebook/react@62e6c4612 )**: Move Mutation/Persistence fork inline into the functions ([facebook#26206](facebook/react#26206)) //<Sebastian Markbåge>//
- **[80cf4a099](facebook/react@80cf4a099 )**: Update Closure Compiler ([facebook#26205](facebook/react#26205)) //<Sebastian Markbåge>//
- **[6b6d0617e](facebook/react@6b6d0617e )**: Update Rollup and related plugins to their most recent versions ([facebook#24916](facebook/react#24916)) //<Glenn 'devalias' Grant>//
- **[bc38a3dfa](facebook/react@bc38a3dfa )**: Update rollup config to use moduleSideEffects ([facebook#26199](facebook/react#26199)) //<Ming Ye>//
- **[c9d9f524d](facebook/react@c9d9f524d )**: Make enableCustomElementPropertySupport a dynamic flag in www build ([facebook#26194](facebook/react#26194)) //<Andrew Clark>//
- **[189f70e17](facebook/react@189f70e17 )**: Create a bunch of custom webpack vs unbundled node bundles ([facebook#26172](facebook/react#26172)) //<Sebastian Markbåge>//
- **[fbf3bc315](facebook/react@fbf3bc315 )**: Add `scale` as a unitless property ([facebook#25601](facebook/react#25601)) //<Jonny Burger>//

Changelog:
[General][Changed] - React Native sync for revisions fccf3a9...3554c88

jest_e2e[run_all_tests]
bypass-github-export-checks

@public

Fixes tests for current React version.

Reviewed By: sammy-SC

Differential Revision: D44216371

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