From 04154f8e4eae902cbf598065833420242b1d2dec Mon Sep 17 00:00:00 2001 From: Rick Hanlon Date: Wed, 18 Dec 2024 14:01:41 -0500 Subject: [PATCH] [flags] Remove enableModernStrictMode --- .../src/ReactFiberWorkLoop.js | 3 +- .../src/__tests__/ActivityStrictMode-test.js | 2 +- .../src/__tests__/StrictEffectsMode-test.js | 49 ++++++++----------- ...StrictEffectsModeDefaults-test.internal.js | 1 - packages/shared/ReactFeatureFlags.js | 6 --- .../forks/ReactFeatureFlags.native-fb.js | 1 - .../forks/ReactFeatureFlags.native-oss.js | 1 - .../forks/ReactFeatureFlags.test-renderer.js | 1 - ...actFeatureFlags.test-renderer.native-fb.js | 1 - .../ReactFeatureFlags.test-renderer.www.js | 1 - .../shared/forks/ReactFeatureFlags.www.js | 1 - 11 files changed, 22 insertions(+), 45 deletions(-) diff --git a/packages/react-reconciler/src/ReactFiberWorkLoop.js b/packages/react-reconciler/src/ReactFiberWorkLoop.js index a71eb543cfe5d..7377f605a8811 100644 --- a/packages/react-reconciler/src/ReactFiberWorkLoop.js +++ b/packages/react-reconciler/src/ReactFiberWorkLoop.js @@ -32,7 +32,6 @@ import { enableSchedulingProfiler, enableUpdaterTracking, enableTransitionTracing, - useModernStrictMode, disableLegacyContext, alwaysThrottleRetries, enableInfiniteRenderLoopDetection, @@ -4205,7 +4204,7 @@ function commitDoubleInvokeEffectsInDEV( hasPassiveEffects: boolean, ) { if (__DEV__) { - if (useModernStrictMode && (disableLegacyMode || root.tag !== LegacyRoot)) { + if (disableLegacyMode || root.tag !== LegacyRoot) { let doubleInvokeEffects = true; if ( diff --git a/packages/react-reconciler/src/__tests__/ActivityStrictMode-test.js b/packages/react-reconciler/src/__tests__/ActivityStrictMode-test.js index 85365d3e708fc..12b319080de5c 100644 --- a/packages/react-reconciler/src/__tests__/ActivityStrictMode-test.js +++ b/packages/react-reconciler/src/__tests__/ActivityStrictMode-test.js @@ -77,7 +77,7 @@ describe('Activity StrictMode', () => { ]); }); - // @gate __DEV__ && enableActivity && useModernStrictMode + // @gate __DEV__ && enableActivity it('should not trigger strict effects when offscreen is hidden', async () => { await act(() => { ReactNoop.render( diff --git a/packages/react-reconciler/src/__tests__/StrictEffectsMode-test.js b/packages/react-reconciler/src/__tests__/StrictEffectsMode-test.js index 0ce01a650c323..0c7e75c39a4a5 100644 --- a/packages/react-reconciler/src/__tests__/StrictEffectsMode-test.js +++ b/packages/react-reconciler/src/__tests__/StrictEffectsMode-test.js @@ -945,34 +945,25 @@ describe('StrictEffectsMode', () => { shouldSuspend = false; }); - if (gate(flags => flags.useModernStrictMode)) { - expect(log).toEqual([ - 'Child rendered', - 'Child rendered', - // !!! Committed, destroy and create effect. - // !!! The other effect is not destroyed and created - // !!! because the dep didn't change - 'Child dep destroy', - 'Child dep create', - - // Double invoke both effects - 'Child destroy', - 'Child dep destroy', - 'Child create', - 'Child dep create', - // Fires setState - '-----------------------after setState', - 'Child rendered', - 'Child rendered', - 'Child dep create', - ]); - } else { - expect(log).toEqual([ - 'Child rendered', - 'Child rendered', - 'Child dep destroy', - 'Child dep create', - ]); - } + expect(log).toEqual([ + 'Child rendered', + 'Child rendered', + // !!! Committed, destroy and create effect. + // !!! The other effect is not destroyed and created + // !!! because the dep didn't change + 'Child dep destroy', + 'Child dep create', + + // Double invoke both effects + 'Child destroy', + 'Child dep destroy', + 'Child create', + 'Child dep create', + // Fires setState + '-----------------------after setState', + 'Child rendered', + 'Child rendered', + 'Child dep create', + ]); }); }); diff --git a/packages/react-reconciler/src/__tests__/StrictEffectsModeDefaults-test.internal.js b/packages/react-reconciler/src/__tests__/StrictEffectsModeDefaults-test.internal.js index c9f65a20a0c7b..5829cd0904266 100644 --- a/packages/react-reconciler/src/__tests__/StrictEffectsModeDefaults-test.internal.js +++ b/packages/react-reconciler/src/__tests__/StrictEffectsModeDefaults-test.internal.js @@ -461,7 +461,6 @@ describe('StrictEffectsMode defaults', () => { expect(log).toEqual([]); }); - //@gate useModernStrictMode it('disconnects refs during double invoking', async () => { const onRefMock = jest.fn(); function App({text}) { diff --git a/packages/shared/ReactFeatureFlags.js b/packages/shared/ReactFeatureFlags.js index 8540d6e14721a..7d45abe69f5a9 100644 --- a/packages/shared/ReactFeatureFlags.js +++ b/packages/shared/ReactFeatureFlags.js @@ -186,12 +186,6 @@ export const disableLegacyContext = true; */ export const disableLegacyContextForFunctionComponents = true; -// Not ready to break experimental yet. -// Modern behaviour aligns more with what components -// components will encounter in production, especially when used With . -// TODO: clean up legacy once tests pass WWW. -export const useModernStrictMode = true; - // Enable the moveBefore() alternative to insertBefore(). This preserves states of moves. export const enableMoveBefore = false; diff --git a/packages/shared/forks/ReactFeatureFlags.native-fb.js b/packages/shared/forks/ReactFeatureFlags.native-fb.js index 45807e9d876af..73ccd5fb8eda9 100644 --- a/packages/shared/forks/ReactFeatureFlags.native-fb.js +++ b/packages/shared/forks/ReactFeatureFlags.native-fb.js @@ -80,7 +80,6 @@ export const renameElementSymbol = false; export const retryLaneExpirationMs = 5000; export const syncLaneExpirationMs = 250; export const transitionLaneExpirationMs = 5000; -export const useModernStrictMode = true; export const enableHydrationLaneScheduling = true; export const enableYieldingBeforePassive = false; diff --git a/packages/shared/forks/ReactFeatureFlags.native-oss.js b/packages/shared/forks/ReactFeatureFlags.native-oss.js index c29da18a42055..7699aa73f7fa7 100644 --- a/packages/shared/forks/ReactFeatureFlags.native-oss.js +++ b/packages/shared/forks/ReactFeatureFlags.native-oss.js @@ -70,7 +70,6 @@ export const renameElementSymbol = true; export const retryLaneExpirationMs = 5000; export const syncLaneExpirationMs = 250; export const transitionLaneExpirationMs = 5000; -export const useModernStrictMode = true; export const enableSiblingPrerendering = true; export const enableUseResourceEffectHook = false; diff --git a/packages/shared/forks/ReactFeatureFlags.test-renderer.js b/packages/shared/forks/ReactFeatureFlags.test-renderer.js index df58c53eda9a4..c23c4ba131a72 100644 --- a/packages/shared/forks/ReactFeatureFlags.test-renderer.js +++ b/packages/shared/forks/ReactFeatureFlags.test-renderer.js @@ -52,7 +52,6 @@ export const enableLegacyHidden = false; export const enableTransitionTracing = false; -export const useModernStrictMode = true; export const enableDO_NOT_USE_disableStrictPassiveEffect = false; export const enableFizzExternalRuntime = true; export const enableDeferRootSchedulingToMicrotask = true; diff --git a/packages/shared/forks/ReactFeatureFlags.test-renderer.native-fb.js b/packages/shared/forks/ReactFeatureFlags.test-renderer.native-fb.js index a4dc5cb76d109..8574f34c4e952 100644 --- a/packages/shared/forks/ReactFeatureFlags.test-renderer.native-fb.js +++ b/packages/shared/forks/ReactFeatureFlags.test-renderer.native-fb.js @@ -65,7 +65,6 @@ export const renameElementSymbol = false; export const retryLaneExpirationMs = 5000; export const syncLaneExpirationMs = 250; export const transitionLaneExpirationMs = 5000; -export const useModernStrictMode = true; export const enableFabricCompleteRootInCommitPhase = false; export const enableSiblingPrerendering = true; export const enableUseResourceEffectHook = true; diff --git a/packages/shared/forks/ReactFeatureFlags.test-renderer.www.js b/packages/shared/forks/ReactFeatureFlags.test-renderer.www.js index e7c92602a0abf..97743f0d46ae9 100644 --- a/packages/shared/forks/ReactFeatureFlags.test-renderer.www.js +++ b/packages/shared/forks/ReactFeatureFlags.test-renderer.www.js @@ -54,7 +54,6 @@ export const enableLegacyHidden = false; export const enableTransitionTracing = false; -export const useModernStrictMode = true; export const enableDO_NOT_USE_disableStrictPassiveEffect = false; export const enableFizzExternalRuntime = false; export const enableDeferRootSchedulingToMicrotask = true; diff --git a/packages/shared/forks/ReactFeatureFlags.www.js b/packages/shared/forks/ReactFeatureFlags.www.js index da62754a13359..c027e2bdc121c 100644 --- a/packages/shared/forks/ReactFeatureFlags.www.js +++ b/packages/shared/forks/ReactFeatureFlags.www.js @@ -106,7 +106,6 @@ export const disableClientCache = true; export const enableServerComponentLogs = true; export const enableReactTestRendererWarning = false; -export const useModernStrictMode = true; export const disableLegacyMode = true;