From 69c226d78d85761c1737a3c2f88dcc824b0b007f Mon Sep 17 00:00:00 2001 From: Dan Abramov Date: Mon, 31 May 2021 15:48:33 +0100 Subject: [PATCH 1/3] Enable the StrictEffects flag --- packages/shared/ReactFeatureFlags.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/shared/ReactFeatureFlags.js b/packages/shared/ReactFeatureFlags.js index 3fa8cf284268c..284c1c0448469 100644 --- a/packages/shared/ReactFeatureFlags.js +++ b/packages/shared/ReactFeatureFlags.js @@ -25,7 +25,7 @@ export const debugRenderPhaseSideEffectsForStrictMode = __DEV__; // Helps identify code that is not safe for planned Offscreen API and Suspense semantics; // this feature flag only impacts StrictEffectsMode. -export const enableStrictEffects = false; +export const enableStrictEffects = true; // If TRUE, trees rendered with createRoot will be StrictEffectsMode. // If FALSE, these trees will be StrictLegacyMode. From 78728a477c738c83182f24189da88a8996e3e2a3 Mon Sep 17 00:00:00 2001 From: Brian Vaughn Date: Tue, 1 Jun 2021 13:33:35 -0400 Subject: [PATCH 2/3] Updated enableStrictEffects feature flag to be __DEV__ --- packages/shared/ReactFeatureFlags.js | 2 +- packages/shared/forks/ReactFeatureFlags.www.js | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/packages/shared/ReactFeatureFlags.js b/packages/shared/ReactFeatureFlags.js index 284c1c0448469..c08db3a926cf8 100644 --- a/packages/shared/ReactFeatureFlags.js +++ b/packages/shared/ReactFeatureFlags.js @@ -25,7 +25,7 @@ export const debugRenderPhaseSideEffectsForStrictMode = __DEV__; // Helps identify code that is not safe for planned Offscreen API and Suspense semantics; // this feature flag only impacts StrictEffectsMode. -export const enableStrictEffects = true; +export const enableStrictEffects = __DEV__; // If TRUE, trees rendered with createRoot will be StrictEffectsMode. // If FALSE, these trees will be StrictLegacyMode. diff --git a/packages/shared/forks/ReactFeatureFlags.www.js b/packages/shared/forks/ReactFeatureFlags.www.js index 4ce769c617500..a5972151b79a1 100644 --- a/packages/shared/forks/ReactFeatureFlags.www.js +++ b/packages/shared/forks/ReactFeatureFlags.www.js @@ -25,7 +25,6 @@ export const { deferRenderPhaseUpdateToNextBatch, enableDebugTracing, skipUnmountedBoundaries, - enableStrictEffects, createRootStrictEffectsByDefault, enableSuspenseLayoutEffectSemantics, enableUseRefAccessWarning, @@ -39,6 +38,8 @@ export const { // On WWW, __EXPERIMENTAL__ is used for a new modern build. // It's not used anywhere in production yet. +export const enableStrictEffects = + __DEV__ && dynamicFeatureFlags.enableStrictEffects; export const debugRenderPhaseSideEffectsForStrictMode = __DEV__; export const enableProfilerTimer = __PROFILE__; export const enableProfilerCommitHooks = __PROFILE__; From f27b230487f29ddf5f26e5320396dec2f18c2f94 Mon Sep 17 00:00:00 2001 From: Brian Vaughn Date: Tue, 1 Jun 2021 13:36:54 -0400 Subject: [PATCH 3/3] Enable enableSuspenseLayoutEffectSemantics for OSS flags --- packages/shared/ReactFeatureFlags.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/shared/ReactFeatureFlags.js b/packages/shared/ReactFeatureFlags.js index c08db3a926cf8..29232d83a595d 100644 --- a/packages/shared/ReactFeatureFlags.js +++ b/packages/shared/ReactFeatureFlags.js @@ -128,7 +128,7 @@ export const deletedTreeCleanUpLevel = 1; // Destroy layout effects for components that are hidden because something suspended in an update // and recreate them when they are shown again (after the suspended boundary has resolved). // Note that this should be an uncommon use case and can be avoided by using the transition API. -export const enableSuspenseLayoutEffectSemantics = false; +export const enableSuspenseLayoutEffectSemantics = true; // -------------------------- // Future APIs to be deprecated