Remove Reconciler fork (1/2)#25774
Conversation
|
It would actually be better to do it in the reverse way and keep Compared the blame of: https://github.com/facebook/react/blame/main/packages/react-reconciler/src/ReactFiber.old.js The |
86db9a7 to
b718d46
Compare
|
Updated to remove the |
|
Sorry for the noise, this should now be ready for review. |
|
Oh nice! For some reason I thought I had messed that up. Glad it's still there. |
We've heard from multiple contributors that the Reconciler forking mechanism was confusing and/or annoying to deal with. Since it's currently unused and there's no immediate plans to start using it again, this removes the forking. Fully removing the fork is split into 2 steps to preserve file history: **#25774 previous PR that did the bulk of the work:** - remove `enableNewReconciler` feature flag. - remove `unstable_isNewReconciler` export - remove eslint rules for cross fork imports - remove `*.new.js` files and update imports - merge non-suffixed files into `*.old` files where both exist (sometimes types were defined there) **This PR** - rename `*.old` files
Summary: Three problems popped up during the sync: - react/react@07f46ecf2 breaks breaks tests - react/react@6fb8133ed breaks fbsource tests. I added a workaround and created a test for the team that owns the test. - https://fb.workplace.com/groups/flowlang/permalink/1198137807458547/ enables local type interference in fbsource but not in github React repo and some code breaks. Addressed in react/react#26064 This sync includes the following changes: - **[17f6912](react/react@17f6912a4 )**: Add flow types to ReactFiberHooks ([#25752](react/react#25752)) //<Samuel Susla>// - **[f101c2d](react/react@f101c2d0d )**: Remove Reconciler fork (2/2) ([#25775](react/react#25775)) //<Jan Kassens>// - **[420f0b7](react/react@420f0b7fa )**: Remove Reconciler fork (1/2) ([#25774](react/react#25774)) //<Jan Kassens>// - **[3ba7add](react/react@3ba7add60 )**: Allow async blocks in `to(Error|Warn)Dev` ([#25338](react/react#25338)) //<Sebastian Silbermann>// - **[fa11bd6](react/react@fa11bd6ec )**: [ServerRenderer] Add option to send instructions as data attributes ([#25437](react/react#25437)) //<mofeiZ>// - **[e982254](react/react@e98225485 )**: Add ref cleanup function ([#25686](react/react#25686)) //<Samuel Susla>// - **[15557fa](react/react@15557fa67 )**: [Fix] properly track `useId` use in StrictMode in development ([#25713](react/react#25713)) //<Josh Story>// - **[8a23def](react/react@8a23def32 )**: Resubmit Add HydrationSyncLane ([#25711](react/react#25711)) //<Tianyu Yao>// - **[2655c93](react/react@2655c9354 )**: Fizz Browser: fix precomputed chunk being cleared on Node 18 ([#25645](react/react#25645)) //<Jimmy Lai>// - **[c08d8b8](react/react@c08d8b804 )**: Revert "Add SyncHydrationLane" ([#25708](react/react#25708)) //<Tianyu Yao>// - **[56ffca8](react/react@56ffca8b9 )**: Add Bun streaming server renderer ([#25597](react/react#25597)) //<Colin McDonnell>// - **[f31005d](react/react@f31005d6a )**: Add SyncHydrationLane ([#25698](react/react#25698)) //<Tianyu Yao>// - **[f284d9f](react/react@f284d9faf )**: Track ThenableState alongside other hooks //<Andrew Clark>// - **[6b4c031](react/react@6b4c0314e )**: Check thenable instead of thenableState //<Andrew Clark>// - **[33e3d28](react/react@33e3d2878 )**: Reuse hooks when replaying a suspended component //<Andrew Clark>// - **[4387d75](react/react@4387d752d )**: Allow more hooks to be added when replaying mount //<Andrew Clark>// - **[5eb78d0](react/react@5eb78d0a0 )**: Pass ThenableState to replaySuspendedUnitOfWork //<Andrew Clark>// - **[4a2d86b](react/react@4a2d86bdd )**: Don't reset work loop until stack is unwound //<Andrew Clark>// - **[9dfbd9f](react/react@9dfbd9fa9 )**: use: Don't suspend if there are pending updates //<Andrew Clark>// - **[44c4e6f](react/react@44c4e6f4d )**: Force unwind work loop during selective hydration ([#25695](react/react#25695)) //<Andrew Clark>// - **[7b17f7b](react/react@7b17f7bbf )**: Enable warning for defaultProps on function components for everyone ([#25699](react/react#25699)) //<Sebastian Markbåge>// - **[6fb8133](react/react@6fb8133ed )**: Turn on string ref deprecation warning for everybody (not codemoddable) ([#25383](react/react#25383)) //<Sebastian Silbermann>// - **[07f46ec](react/react@07f46ecf2 )**: Turn on key spread warning in jsx-runtime for everyone ([#25697](react/react#25697)) //<Sebastian Markbåge>// - **[d65b88d](react/react@d65b88d03 )**: Eagerly initialize an mutable object for instance.refs ([#25696](react/react#25696)) //<Sebastian Markbåge>// - **[c343f80](react/react@c343f8025 )**: [react-float] feature detect getRootNode ([#25689](react/react#25689)) //<Jan Kassens>// - **[e1dd0a2](react/react@e1dd0a2f5 )**: Remove recoverable error when a sync update flows into a dehydrated boundary ([#25692](react/react#25692)) //<Sebastian Markbåge>// - **[c54e354](react/react@c54e3541b )**: [DevTools] bug fix for Hydrating fibers ([#25663](react/react#25663)) //<Mengdi Chen>// Changelog: [General][Changed] - React Native sync for revisions d1e35c7...17f6912 jest_e2e[run_all_tests] Reviewed By: makovkastar Differential Revision: D42804802 fbshipit-source-id: 6a9f00724cc73378025bbd04edb2d17760a87280
We've heard from multiple contributors that the Reconciler forking mechanism was confusing and/or annoying to deal with. Since it's currently unused and there's no immediate plans to start using it again, this removes the forking. Fully removing the fork is split into 2 steps to preserve file history: **This PR** - remove `enableNewReconciler` feature flag. - remove `unstable_isNewReconciler` export - remove eslint rules for cross fork imports - remove `*.new.js` files and update imports - merge non-suffixed files into `*.old` files where both exist (sometimes types were defined there) **react#25775** - rename `*.old` files
We've heard from multiple contributors that the Reconciler forking mechanism was confusing and/or annoying to deal with. Since it's currently unused and there's no immediate plans to start using it again, this removes the forking. Fully removing the fork is split into 2 steps to preserve file history: **react#25774 previous PR that did the bulk of the work:** - remove `enableNewReconciler` feature flag. - remove `unstable_isNewReconciler` export - remove eslint rules for cross fork imports - remove `*.new.js` files and update imports - merge non-suffixed files into `*.old` files where both exist (sometimes types were defined there) **This PR** - rename `*.old` files
We've heard from multiple contributors that the Reconciler forking mechanism was confusing and/or annoying to deal with. Since it's currently unused and there's no immediate plans to start using it again, this removes the forking.
Fully removing the fork is split into 2 steps to preserve file history:
This PR
enableNewReconcilerfeature flag.unstable_isNewReconcilerexport*.new.jsfiles and update imports*.oldfiles where both exist (sometimes types were defined there)#25775
*.oldfiles