Revert "Ship enableFabricCompleteRootInCommitPhase (#32318)" (#32434)
This reverts commit 8759c5c8d6aef34df576827215ff7ebaeafc79ea / https://github.com/facebook/react/pull/32318 We discovered that the experiment setup for this was faulty and we need to re-run as a back test.
Jack Pope committed
Feb 20, 2025 at 12:29 UTC
885532c124f32436723cd51627d06de6e8c13fdd
9 files changed
+20
-2
packages/react-native-renderer/src/ReactFiberConfigFabric.js
+8
-2
@@ -58,6 +58,7 @@ import {
58
} from './ReactNativeFiberInspector';
59
60
import {
61
+ enableFabricCompleteRootInCommitPhase,
62
passChildrenWhenCloningPersistedNodes,
63
enableLazyPublicInstanceInFabric,
64
} from 'shared/ReactFeatureFlags';
@@ -533,14 +534,19 @@ export function finalizeContainerChildren(
534
container: Container,
535
newChildren: ChildSet,
536
): void {
536
- // Noop - children will be finalized in replaceContainerChildren
537
+ if (!enableFabricCompleteRootInCommitPhase) {
538
+ completeRoot(container.containerTag, newChildren);
539
+ }
540
}
541
542
export function replaceContainerChildren(
543
container: Container,
544
newChildren: ChildSet,
545
): void {
543
- completeRoot(container.containerTag, newChildren);
546
+ // Noop - children will be replaced in finalizeContainerChildren
547
+ if (enableFabricCompleteRootInCommitPhase) {
548
+ completeRoot(container.containerTag, newChildren);
549
+ }
550
}
551
552
export {getClosestInstanceFromNode as getInstanceFromNode};
packages/shared/ReactFeatureFlags.js
+5
@@ -94,6 +94,11 @@ export const enableViewTransition = __EXPERIMENTAL__;
94
95
export const enableSwipeTransition = __EXPERIMENTAL__;
96
97
+/**
98
+ * Switches the Fabric API from doing layout in commit work instead of complete work.
99
+ */
100
+export const enableFabricCompleteRootInCommitPhase = false;
101
+
102
/**
103
* Switches Fiber creation to a simple object instead of a constructor.
104
*/
packages/shared/forks/ReactFeatureFlags.native-fb-dynamic.js
+1
@@ -23,6 +23,7 @@ export const enableHiddenSubtreeInsertionEffectCleanup = __VARIANT__;
23
export const enablePersistedModeClonedFlag = __VARIANT__;
24
export const enableShallowPropDiffing = __VARIANT__;
25
export const passChildrenWhenCloningPersistedNodes = __VARIANT__;
26
+export const enableFabricCompleteRootInCommitPhase = __VARIANT__;
27
export const enableSiblingPrerendering = __VARIANT__;
28
export const enableUseEffectCRUDOverload = __VARIANT__;
29
export const enableFastAddPropertiesInDiffing = __VARIANT__;
packages/shared/forks/ReactFeatureFlags.native-fb.js
+1
@@ -20,6 +20,7 @@ const dynamicFlags: DynamicExportsType = (dynamicFlagsUntyped: any);
20
// the exports object every time a flag is read.
21
export const {
22
alwaysThrottleRetries,
23
+ enableFabricCompleteRootInCommitPhase,
24
enableHiddenSubtreeInsertionEffectCleanup,
25
enableObjectFiber,
26
enablePersistedModeClonedFlag,
packages/shared/forks/ReactFeatureFlags.native-oss.js
+1
@@ -30,6 +30,7 @@ export const enableAsyncIterableChildren = false;
30
export const enableCPUSuspense = false;
31
export const enableCreateEventHandleAPI = false;
32
export const enableDO_NOT_USE_disableStrictPassiveEffect = false;
33
+export const enableFabricCompleteRootInCommitPhase = false;
34
export const enableMoveBefore = true;
35
export const enableFizzExternalRuntime = true;
36
export const enableHalt = false;
packages/shared/forks/ReactFeatureFlags.test-renderer.js
+1
@@ -36,6 +36,7 @@ export const enableUseEffectEventHook = false;
36
export const favorSafetyOverHydrationPerf = true;
37
export const enableLegacyFBSupport = false;
38
export const enableMoveBefore = false;
39
+export const enableFabricCompleteRootInCommitPhase = false;
40
export const enableHiddenSubtreeInsertionEffectCleanup = false;
41
export const enableHydrationLaneScheduling = true;
42
packages/shared/forks/ReactFeatureFlags.test-renderer.native-fb.js
+1
@@ -61,6 +61,7 @@ export const renameElementSymbol = false;
61
export const retryLaneExpirationMs = 5000;
62
export const syncLaneExpirationMs = 250;
63
export const transitionLaneExpirationMs = 5000;
64
+export const enableFabricCompleteRootInCommitPhase = false;
65
export const enableSiblingPrerendering = true;
66
export const enableUseEffectCRUDOverload = true;
67
export const enableHydrationLaneScheduling = true;
packages/shared/forks/ReactFeatureFlags.test-renderer.www.js
+1
@@ -39,6 +39,7 @@ export const favorSafetyOverHydrationPerf = true;
39
export const enableLegacyFBSupport = false;
40
export const enableMoveBefore = false;
41
export const enableRenderableContext = false;
42
+export const enableFabricCompleteRootInCommitPhase = false;
43
export const enableHiddenSubtreeInsertionEffectCleanup = true;
44
45
export const enableRetryLaneExpiration = false;
packages/shared/forks/ReactFeatureFlags.www.js
+1
@@ -50,6 +50,7 @@ export const enableProfilerTimer = __PROFILE__;
50
export const enableProfilerCommitHooks = __PROFILE__;
51
export const enableProfilerNestedUpdatePhase = __PROFILE__;
52
export const enableUpdaterTracking = __PROFILE__;
53
+export const enableFabricCompleteRootInCommitPhase = false;
54
55
export const enableSuspenseAvoidThisFallback = true;
56