-
Notifications
You must be signed in to change notification settings - Fork 47k
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
Support Promise as a renderable node #25634
Conversation
ca01d51
to
324cf1f
Compare
a665a00
to
e593439
Compare
e593439
to
b494eb5
Compare
lanes: Lanes, | ||
): Fiber | null { | ||
// This indirection only exists so we can reset `thenableState` at the end. | ||
// It should get inlined by Closure. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This doesn't appear to be the case. This function is called in many places and it's larger than closure considers inlinable. reconcileChildFibersImpl is returned as first class so it can't be inlined and is also recursive, so it's also not inlined into this function.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hmm maybe it would work if I move the indirection into the factory function
I could also submit a PR to get rid of createChildReconciler
and thread the arguments through instead
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It makes sense to me that reconcileChildFibersImpl
wouldn't get inlined, since it's recursive. Do you have a guess for why the outer one (reconcileChildFibers
) isn't inlined into its callers, though? Since it's only a few lines long.
b494eb5
to
7f46ef1
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Seems like we need to refactor more in this space in follow ups anyway.
Just a rename. Scope of this test file has expanded.
Implements Promise as a valid React node types. The idea is that any type that can be unwrapped with `use` should also be renderable. When the reconciler encounters a Usable in a child position, it will transparently unwrap the value before reconciling it. The value of the inner value will determine the identity of the child during reconciliation, not the Usable object that wraps around it. Unlike `use`, the reconciler will recursively unwrap the value until it reaches a non-Usable type, e.g. Usable<Usable<Usable<T>>> will resolve to T. In this initial commit, I've added support for Promises. I will do Context in the next step. Being able to render a promise as a child has several interesting implications. The Server Components response format can use this feature in its implementation — instead of wrapping references to client components in `React.lazy`, it can just use a promise. This also fulfills one of the requirements for async components on the client, because an async component always returns a promise for a React node. However, we will likely warn and/or lint against this for the time being because there are major caveats if you re-render an async component in response to user input. (Note: async components already work in a Server Components environment — the caveats only apply to running them in the browser.) To suspend, React uses the same algorithm as `use`: by throwing an exception to unwind the stack, then replaying the begin phase once the promise resolves. It's a little weird to suspend during reconciliation, however, `lazy` already does this so if there were any obvious bugs related to that we likely would have already found them. Still, the structure is a bit unfortunate. Ideally, we shouldn't need to replay the entire begin phase of the parent fiber in order to reconcile the children again. This would require a somewhat significant refactor, because reconciliation happens deep within the begin phase, and depending on the type of work, not always at the end. We should consider as a future improvement.
7f46ef1
to
610b9df
Compare
Comparing: f411e89...610b9df Critical size changesIncludes critical production bundles, as well as any change greater than 2%:
Significant size changesIncludes any change greater than 0.2%: Expand to show
|
Implements Promise as a valid React node types. The idea is that any type that can be unwrapped with `use` should also be renderable. When the reconciler encounters a Usable in a child position, it will transparently unwrap the value before reconciling it. The value of the inner value will determine the identity of the child during reconciliation, not the Usable object that wraps around it. Unlike `use`, the reconciler will recursively unwrap the value until it reaches a non-Usable type, e.g. `Usable<Usable<Usable<T>>>` will resolve to T. In this initial commit, I've added support for Promises. I will do Context in the [next step](#25641). Being able to render a promise as a child has several interesting implications. The Server Components response format can use this feature in its implementation — instead of wrapping references to client components in `React.lazy`, it can just use a promise. This also fulfills one of the requirements for async components on the client, because an async component always returns a promise for a React node. However, we will likely warn and/or lint against this for the time being because there are major caveats if you re-render an async component in response to user input. (Note: async components already work in a Server Components environment — the caveats only apply to running them in the browser.) To suspend, React uses the same algorithm as `use`: by throwing an exception to unwind the stack, then replaying the begin phase once the promise resolves. It's a little weird to suspend during reconciliation, however, `lazy` already does this so if there were any obvious bugs related to that we likely would have already found them. Still, the structure is a bit unfortunate. Ideally, we shouldn't need to replay the entire begin phase of the parent fiber in order to reconcile the children again. This would require a somewhat significant refactor, because reconciliation happens deep within the begin phase, and depending on the type of work, not always at the end. We should consider as a future improvement. DiffTrain build for [d4f58c3](d4f58c3)
## Based on #25634 Like promises, this adds support for Context as a React node. In this initial implementation, the context dependency is added to the parent of child node. This allows the parent to re-reconcile its children when the context updates, so that it can delete the old node if the identity of the child has changed (i.e. if the key or type of an element has changed). But it also means that the parent will replay its entire begin phase. Ideally React would delete the old node and mount the new node without reconciling all the children. I'll leave this for a future optimization.
## Based on #25634 Like promises, this adds support for Context as a React node. In this initial implementation, the context dependency is added to the parent of child node. This allows the parent to re-reconcile its children when the context updates, so that it can delete the old node if the identity of the child has changed (i.e. if the key or type of an element has changed). But it also means that the parent will replay its entire begin phase. Ideally React would delete the old node and mount the new node without reconciling all the children. I'll leave this for a future optimization. DiffTrain build for [1317681](1317681)
Summary: This sync includes the following changes: - **[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...f828bad jest_e2e[run_all_tests] Reviewed By: robhogan, rshest Differential Revision: D44024996 fbshipit-source-id: 8ac9754c5ffe12bd5d9c3499515c0925bd411f70
This is now possible because facebook/react#25634 got merged.
Summary: This sync includes the following changes: - **[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...47cf4e5 jest_e2e[run_all_tests] Reviewed By: sammy-SC Differential Revision: D44090004 fbshipit-source-id: 6ac2d1d22a078d07ce011481063e78843bded28e
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
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
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
Summary: This sync includes the following changes: - **[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...f828bad jest_e2e[run_all_tests] Reviewed By: robhogan, rshest Differential Revision: D44024996 fbshipit-source-id: 8ac9754c5ffe12bd5d9c3499515c0925bd411f70
Summary: This sync includes the following changes: - **[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...47cf4e5 jest_e2e[run_all_tests] Reviewed By: sammy-SC Differential Revision: D44090004 fbshipit-source-id: 6ac2d1d22a078d07ce011481063e78843bded28e
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
Implements Promise as a valid React node types. The idea is that any type that can be unwrapped with
use
should also be renderable.When the reconciler encounters a Usable in a child position, it will transparently unwrap the value before reconciling it. The value of the inner value will determine the identity of the child during reconciliation, not the Usable object that wraps around it.
Unlike
use
, the reconciler will recursively unwrap the value until it reaches a non-Usable type, e.g.Usable<Usable<Usable<T>>>
will resolve to T.In this initial commit, I've added support for Promises. I will do Context in the next step.
Being able to render a promise as a child has several interesting implications. The Server Components response format can use this feature in its implementation — instead of wrapping references to client components in
React.lazy
, it can just use a promise.This also fulfills one of the requirements for async components on the client, because an async component always returns a promise for a React node. However, we will likely warn and/or lint against this for the time being because there are major caveats if you re-render an async component in response to user input. (Note: async components already work in a Server Components environment — the caveats only apply to running them in the browser.)
To suspend, React uses the same algorithm as
use
: by throwing an exception to unwind the stack, then replaying the begin phase once the promise resolves. It's a little weird to suspend during reconciliation, however,lazy
already does this so if there were any obvious bugs related to that we likely would have already found them.Still, the structure is a bit unfortunate. Ideally, we shouldn't need to replay the entire begin phase of the parent fiber in order to reconcile the children again. This would require a somewhat significant refactor, because reconciliation happens deep within the begin phase, and depending on the type of work, not always at the end. We should consider as a future improvement.