@samitouri / QOS-React-2 / commits / b8da12e8f8

Add dynamic flag for infinite loop detection on React Native FB (#28456)

Add dynamic flag for infinite loop detection on React Native FB

Jan Kassens committed Feb 29, 2024 at 13:19 UTC b8da12e8f8e6a6b087f6531c1c791ab41e5273d4
3 files changed +3 -1
packages/shared/forks/ReactFeatureFlags.native-fb-dynamic.js
+1
@@ -27,6 +27,7 @@ export const enableUseRefAccessWarning = __VARIANT__;
27 export const passChildrenWhenCloningPersistedNodes = __VARIANT__;
28 export const useMicrotasksForSchedulingInFabric = __VARIANT__;
29 export const enableUnifiedSyncLane = __VARIANT__;
30 +export const enableInfiniteRenderLoopDetection = __VARIANT__;
31
32 // Flow magic to verify the exports of this file match the original version.
33 ((((null: any): ExportsType): DynamicFlagsType): ExportsType);
packages/shared/forks/ReactFeatureFlags.native-fb.js
+1 -1
@@ -25,6 +25,7 @@ export const {
25 passChildrenWhenCloningPersistedNodes,
26 useMicrotasksForSchedulingInFabric,
27 enableUnifiedSyncLane,
28 + enableInfiniteRenderLoopDetection,
29 } = dynamicFlags;
30
31 // The rest of the flags are static for better dead code elimination.
@@ -96,7 +97,6 @@ export const disableClientCache = true;
97
98 export const enableServerComponentKeys = true;
99 export const enableServerComponentLogs = true;
99 -export const enableInfiniteRenderLoopDetection = false;
100
101 // TODO: Roll out with GK. Don't keep as dynamic flag for too long, though,
102 // because JSX is an extremely hot path.
scripts/flow/xplat.js
+1
@@ -15,4 +15,5 @@ declare module 'ReactNativeInternalFeatureFlags' {
15 declare export var passChildrenWhenCloningPersistedNodes: boolean;
16 declare export var useMicrotasksForSchedulingInFabric: boolean;
17 declare export var enableUnifiedSyncLane: boolean;
18 + declare export var enableInfiniteRenderLoopDetection: boolean;
19 }