@samitouri / QOS-React / commits / cec5a9bd9c

Enable enableEffectEventMutationPhase everywhere (#37039)

Enable it first, will be removed later in https://github.com/react/react/pull/37013, once it gets to stable. See https://github.com/react/react/pull/35548 for context on the gated changes.

Ruslan Lesiutin committed Jul 16, 2026 at 14:21 UTC cec5a9bd9cb55ac20320ce188d6b127d3bbedc6b
9 files changed +8 -10
packages/shared/ReactFeatureFlags.js
+1 -1
@@ -127,7 +127,7 @@ export const alwaysThrottleRetries: boolean = true;
127
128 // Gate whether useEffectEvent uses the mutation phase (true) or before-mutation
129 // phase (false) for updating event function references.
130 -export const enableEffectEventMutationPhase: boolean = false;
130 +export const enableEffectEventMutationPhase: boolean = true;
131
132 export const passChildrenWhenCloningPersistedNodes: boolean = false;
133
packages/shared/forks/ReactFeatureFlags.native-fb-dynamic.js
-1
@@ -23,6 +23,5 @@ export const passChildrenWhenCloningPersistedNodes = __VARIANT__;
23 export const enableFragmentRefs = __VARIANT__;
24 export const enableFragmentRefsScrollIntoView = __VARIANT__;
25 export const enableFragmentRefsInstanceHandles = __VARIANT__;
26 -export const enableEffectEventMutationPhase = __VARIANT__;
26 export const enableFragmentRefsTextNodes = __VARIANT__;
27 export const enableViewTransitionForPersistenceMode = __VARIANT__;
packages/shared/forks/ReactFeatureFlags.native-fb.js
+1 -1
@@ -20,7 +20,6 @@ const dynamicFlags: DynamicExportsType = dynamicFlagsUntyped as any;
20 // the exports object every time a flag is read.
21 export const {
22 alwaysThrottleRetries,
23 - enableEffectEventMutationPhase,
23 enableObjectFiber,
24 passChildrenWhenCloningPersistedNodes,
25 enableFragmentRefs,
@@ -43,6 +42,7 @@ export const enableAsyncDebugInfo: boolean = true;
42 export const enableAsyncIterableChildren: boolean = false;
43 export const enableCPUSuspense: boolean = true;
44 export const enableCreateEventHandleAPI: boolean = false;
45 +export const enableEffectEventMutationPhase: boolean = true;
46 export const enableMoveBefore: boolean = true;
47 export const enableFizzExternalRuntime: boolean = true;
48 export const enableInfiniteRenderLoopDetection: boolean = false;
packages/shared/forks/ReactFeatureFlags.native-oss.js
+1 -1
@@ -44,7 +44,7 @@ export const enablePerformanceIssueReporting: boolean = false;
44 export const enableSchedulingProfiler: boolean =
45 !enableComponentPerformanceTrack && __PROFILE__;
46 export const enableScopeAPI: boolean = false;
47 -export const enableEffectEventMutationPhase: boolean = false;
47 +export const enableEffectEventMutationPhase: boolean = true;
48 export const enableSuspenseAvoidThisFallback: boolean = false;
49 export const enableSuspenseCallback: boolean = false;
50 export const enableTaint: boolean = true;
packages/shared/forks/ReactFeatureFlags.test-renderer.js
+1 -1
@@ -54,7 +54,7 @@ export const disableClientCache: boolean = true;
54 export const enableInfiniteRenderLoopDetection: boolean = false;
55 export const enableInfiniteRenderLoopDetectionForceThrow: boolean = false;
56
57 -export const enableEffectEventMutationPhase: boolean = false;
57 +export const enableEffectEventMutationPhase: boolean = true;
58
59 export const enableYieldingBeforePassive: boolean = true;
60
packages/shared/forks/ReactFeatureFlags.test-renderer.native-fb.js
+1 -1
@@ -41,7 +41,7 @@ export const enableSchedulingProfiler = __PROFILE__;
41 export const enableComponentPerformanceTrack = false;
42 export const enablePerformanceIssueReporting = false;
43 export const enableScopeAPI = false;
44 -export const enableEffectEventMutationPhase = false;
44 +export const enableEffectEventMutationPhase = true;
45 export const enableSuspenseAvoidThisFallback = false;
46 export const enableSuspenseCallback = false;
47 export const enableTaint = true;
packages/shared/forks/ReactFeatureFlags.test-renderer.www.js
+1 -1
@@ -60,7 +60,7 @@ export const enableReactTestRendererWarning: boolean = false;
60 export const disableLegacyMode: boolean = true;
61
62 export const enableObjectFiber: boolean = false;
63 -export const enableEffectEventMutationPhase: boolean = false;
63 +export const enableEffectEventMutationPhase: boolean = true;
64
65 export const enableYieldingBeforePassive: boolean = false;
66
packages/shared/forks/ReactFeatureFlags.www-dynamic.js
-2
@@ -40,8 +40,6 @@ export const enableFragmentRefsTextNodes: boolean = __VARIANT__;
40 export const enableInternalInstanceMap: boolean = __VARIANT__;
41 export const enableParallelTransitions: boolean = __VARIANT__;
42
43 -export const enableEffectEventMutationPhase: boolean = __VARIANT__;
44 -
43 // TODO: These flags are hard-coded to the default values used in open source.
44 // Update the tests so that they pass in either mode, then set these
45 // to __VARIANT__.
packages/shared/forks/ReactFeatureFlags.www.js
+2 -1
@@ -18,7 +18,6 @@ export const {
18 alwaysThrottleRetries,
19 disableLegacyContextForFunctionComponents,
20 disableSchedulerTimeoutInWorkLoop,
21 - enableEffectEventMutationPhase,
21 enableInfiniteRenderLoopDetection,
22 enableInfiniteRenderLoopDetectionForceThrow,
23 enableNoCloningMemoCache,
@@ -81,6 +80,8 @@ export const disableCommentsAsDOMContainers: boolean = false;
80
81 export const enableCreateEventHandleAPI: boolean = true;
82
83 +export const enableEffectEventMutationPhase: boolean = true;
84 +
85 export const enableScopeAPI: boolean = true;
86
87 export const enableSuspenseCallback: boolean = true;