@samitouri / QOS-React / commits / 885532c124

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