@samitouri / QOS-React-1 / commits / 3d1da1f9ab

Remove createRootStrictEffectsByDefault flag (#28102)

There's no need to separate strict mode from strict effects mode any more. I didn't clean up the `StrictEffectMode` fiber flag, because it's used to prevent strict effects in legacy mode. I could replace those checks with `LegacyMode` checks, but when we remove legacy mode, we can remove that flag and condense them into one StrictMode flag away.

Ricky committed Feb 1, 2024 at 14:54 UTC 3d1da1f9ab7d54984c096e6a04c8729f3a50fd8a
12 files changed +248 -118
packages/react-dom/src/__tests__/ReactDOMServerPartialHydration-test.internal.js
+1 -8
@@ -776,14 +776,7 @@ describe('ReactDOMServerPartialHydration', () => {
776 const span2 = container.getElementsByTagName('span')[0];
777 // This is a new node.
778 expect(span).not.toBe(span2);
779 -
780 - if (gate(flags => flags.dfsEffectsRefactor)) {
781 - // The effects list refactor causes this to be null because the Suspense Activity's child
782 - // is null. However, since we can't hydrate Suspense in legacy this change in behavior is ok
783 - expect(ref.current).toBe(null);
784 - } else {
785 - expect(ref.current).toBe(span2);
786 - }
779 + expect(ref.current).toBe(null);
780
781 // Resolving the promise should render the final content.
782 suspend = false;
packages/react-reconciler/src/ReactFiber.js
+1 -2
@@ -28,7 +28,6 @@ import {
28 isHostSingletonType,
29 } from './ReactFiberConfig';
30 import {
31 - createRootStrictEffectsByDefault,
31 enableCache,
32 enableProfilerTimer,
33 enableScopeAPI,
@@ -456,7 +455,7 @@ export function createHostRootFiber(
455 let mode;
456 if (tag === ConcurrentRoot) {
457 mode = ConcurrentMode;
459 - if (isStrictMode === true || createRootStrictEffectsByDefault) {
458 + if (isStrictMode === true) {
459 mode |= StrictLegacyMode | StrictEffectsMode;
460 }
461 if (
packages/react-reconciler/src/__tests__/StrictEffectsMode-test.js
+146 -60
@@ -27,15 +27,6 @@ describe('StrictEffectsMode', () => {
27 assertLog = InternalTestUtils.assertLog;
28 });
29
30 - function supportsDoubleInvokeEffects() {
31 - return gate(
32 - flags =>
33 - flags.build === 'development' &&
34 - flags.createRootStrictEffectsByDefault &&
35 - flags.dfsEffectsRefactor,
36 - );
37 - }
38 -
30 it('should not double invoke effects in legacy mode', async () => {
31 function App({text}) {
32 React.useEffect(() => {
@@ -52,7 +43,11 @@ describe('StrictEffectsMode', () => {
43 }
44
45 await act(() => {
55 - ReactTestRenderer.create(<App text={'mount'} />);
46 + ReactTestRenderer.create(
47 + <React.StrictMode>
48 + <App text={'mount'} />
49 + </React.StrictMode>,
50 + );
51 });
52
53 assertLog(['useLayoutEffect mount', 'useEffect mount']);
@@ -75,12 +70,17 @@ describe('StrictEffectsMode', () => {
70
71 let renderer;
72 await act(() => {
78 - renderer = ReactTestRenderer.create(<App text={'mount'} />, {
79 - isConcurrent: true,
80 - });
73 + renderer = ReactTestRenderer.create(
74 + <React.StrictMode>
75 + <App text={'mount'} />
76 + </React.StrictMode>,
77 + {
78 + isConcurrent: true,
79 + },
80 + );
81 });
82
83 - if (supportsDoubleInvokeEffects()) {
83 + if (__DEV__) {
84 assertLog([
85 'useLayoutEffect mount',
86 'useEffect mount',
@@ -94,7 +94,11 @@ describe('StrictEffectsMode', () => {
94 }
95
96 await act(() => {
97 - renderer.update(<App text={'update'} />);
97 + renderer.update(
98 + <React.StrictMode>
99 + <App text={'update'} />
100 + </React.StrictMode>,
101 + );
102 });
103
104 assertLog([
@@ -128,12 +132,17 @@ describe('StrictEffectsMode', () => {
132
133 let renderer;
134 await act(() => {
131 - renderer = ReactTestRenderer.create(<App text={'mount'} />, {
132 - isConcurrent: true,
133 - });
135 + renderer = ReactTestRenderer.create(
136 + <React.StrictMode>
137 + <App text={'mount'} />
138 + </React.StrictMode>,
139 + {
140 + isConcurrent: true,
141 + },
142 + );
143 });
144
136 - if (supportsDoubleInvokeEffects()) {
145 + if (__DEV__) {
146 assertLog([
147 'useEffect One mount',
148 'useEffect Two mount',
@@ -147,7 +156,11 @@ describe('StrictEffectsMode', () => {
156 }
157
158 await act(() => {
150 - renderer.update(<App text={'update'} />);
159 + renderer.update(
160 + <React.StrictMode>
161 + <App text={'update'} />
162 + </React.StrictMode>,
163 + );
164 });
165
166 assertLog([
@@ -181,12 +194,17 @@ describe('StrictEffectsMode', () => {
194
195 let renderer;
196 await act(() => {
184 - renderer = ReactTestRenderer.create(<App text={'mount'} />, {
185 - isConcurrent: true,
186 - });
197 + renderer = ReactTestRenderer.create(
198 + <React.StrictMode>
199 + <App text={'mount'} />
200 + </React.StrictMode>,
201 + {
202 + isConcurrent: true,
203 + },
204 + );
205 });
206
189 - if (supportsDoubleInvokeEffects()) {
207 + if (__DEV__) {
208 assertLog([
209 'useLayoutEffect One mount',
210 'useLayoutEffect Two mount',
@@ -200,7 +218,11 @@ describe('StrictEffectsMode', () => {
218 }
219
220 await act(() => {
203 - renderer.update(<App text={'update'} />);
221 + renderer.update(
222 + <React.StrictMode>
223 + <App text={'update'} />
224 + </React.StrictMode>,
225 + );
226 });
227
228 assertLog([
@@ -232,12 +254,17 @@ describe('StrictEffectsMode', () => {
254
255 let renderer;
256 await act(() => {
235 - renderer = ReactTestRenderer.create(<App text={'mount'} />, {
236 - isConcurrent: true,
237 - });
257 + renderer = ReactTestRenderer.create(
258 + <React.StrictMode>
259 + <App text={'mount'} />
260 + </React.StrictMode>,
261 + {
262 + isConcurrent: true,
263 + },
264 + );
265 });
266
240 - if (supportsDoubleInvokeEffects()) {
267 + if (__DEV__) {
268 assertLog([
269 'useLayoutEffect mount',
270 'useEffect mount',
@@ -249,7 +276,11 @@ describe('StrictEffectsMode', () => {
276 }
277
278 await act(() => {
252 - renderer.update(<App text={'update'} />);
279 + renderer.update(
280 + <React.StrictMode>
281 + <App text={'update'} />
282 + </React.StrictMode>,
283 + );
284 });
285
286 assertLog(['useLayoutEffect mount', 'useEffect mount']);
@@ -286,10 +317,15 @@ describe('StrictEffectsMode', () => {
317 }
318
319 await act(() => {
289 - ReactTestRenderer.create(<App />, {isConcurrent: true});
320 + ReactTestRenderer.create(
321 + <React.StrictMode>
322 + <App />
323 + </React.StrictMode>,
324 + {isConcurrent: true},
325 + );
326 });
327
292 - if (supportsDoubleInvokeEffects()) {
328 + if (__DEV__) {
329 assertLog([
330 'componentDidMount',
331 'componentWillUnmount',
@@ -321,12 +357,17 @@ describe('StrictEffectsMode', () => {
357
358 let renderer;
359 await act(() => {
324 - renderer = ReactTestRenderer.create(<App text={'mount'} />, {
325 - isConcurrent: true,
326 - });
360 + renderer = ReactTestRenderer.create(
361 + <React.StrictMode>
362 + <App text={'mount'} />
363 + </React.StrictMode>,
364 + {
365 + isConcurrent: true,
366 + },
367 + );
368 });
369
329 - if (supportsDoubleInvokeEffects()) {
370 + if (__DEV__) {
371 assertLog([
372 'componentDidMount',
373 'componentWillUnmount',
@@ -337,7 +378,11 @@ describe('StrictEffectsMode', () => {
378 }
379
380 await act(() => {
340 - renderer.update(<App text={'update'} />);
381 + renderer.update(
382 + <React.StrictMode>
383 + <App text={'update'} />
384 + </React.StrictMode>,
385 + );
386 });
387
388 assertLog(['componentDidUpdate']);
@@ -366,19 +411,28 @@ describe('StrictEffectsMode', () => {
411
412 let renderer;
413 await act(() => {
369 - renderer = ReactTestRenderer.create(<App text={'mount'} />, {
370 - isConcurrent: true,
371 - });
414 + renderer = ReactTestRenderer.create(
415 + <React.StrictMode>
416 + <App text={'mount'} />
417 + </React.StrictMode>,
418 + {
419 + isConcurrent: true,
420 + },
421 + );
422 });
423
374 - if (supportsDoubleInvokeEffects()) {
424 + if (__DEV__) {
425 assertLog(['componentWillUnmount']);
426 } else {
427 assertLog([]);
428 }
429
430 await act(() => {
381 - renderer.update(<App text={'update'} />);
431 + renderer.update(
432 + <React.StrictMode>
433 + <App text={'update'} />
434 + </React.StrictMode>,
435 + );
436 });
437
438 assertLog(['componentDidUpdate']);
@@ -410,7 +464,11 @@ describe('StrictEffectsMode', () => {
464 }
465
466 await act(() => {
413 - ReactTestRenderer.create(<App text={'mount'} />);
467 + ReactTestRenderer.create(
468 + <React.StrictMode>
469 + <App text={'mount'} />
470 + </React.StrictMode>,
471 + );
472 });
473
474 assertLog(['componentDidMount']);
@@ -437,12 +495,17 @@ describe('StrictEffectsMode', () => {
495 }
496
497 await act(() => {
440 - ReactTestRenderer.create(<App text={'mount'} />, {
441 - isConcurrent: true,
442 - });
498 + ReactTestRenderer.create(
499 + <React.StrictMode>
500 + <App text={'mount'} />
501 + </React.StrictMode>,
502 + {
503 + isConcurrent: true,
504 + },
505 + );
506 });
507
445 - if (supportsDoubleInvokeEffects()) {
508 + if (__DEV__) {
509 assertLog([
510 'mount',
511 'useLayoutEffect mount',
@@ -502,10 +565,15 @@ describe('StrictEffectsMode', () => {
565 }
566
567 await act(() => {
505 - ReactTestRenderer.create(<App />, {isConcurrent: true});
568 + ReactTestRenderer.create(
569 + <React.StrictMode>
570 + <App />
571 + </React.StrictMode>,
572 + {isConcurrent: true},
573 + );
574 });
575
508 - if (supportsDoubleInvokeEffects()) {
576 + if (__DEV__) {
577 assertLog([
578 'App useLayoutEffect mount',
579 'App useEffect mount',
@@ -522,7 +590,7 @@ describe('StrictEffectsMode', () => {
590 _setShowChild(true);
591 });
592
525 - if (supportsDoubleInvokeEffects()) {
593 + if (__DEV__) {
594 assertLog([
595 'App useLayoutEffect unmount',
596 'Child useLayoutEffect mount',
@@ -585,12 +653,17 @@ describe('StrictEffectsMode', () => {
653
654 let renderer;
655 await act(() => {
588 - renderer = ReactTestRenderer.create(<App text={'mount'} />, {
589 - isConcurrent: true,
590 - });
656 + renderer = ReactTestRenderer.create(
657 + <React.StrictMode>
658 + <App text={'mount'} />
659 + </React.StrictMode>,
660 + {
661 + isConcurrent: true,
662 + },
663 + );
664 });
665
593 - if (supportsDoubleInvokeEffects()) {
666 + if (__DEV__) {
667 assertLog([
668 'componentDidMount',
669 'useLayoutEffect mount',
@@ -611,7 +684,11 @@ describe('StrictEffectsMode', () => {
684 }
685
686 await act(() => {
614 - renderer.update(<App text={'mount'} />);
687 + renderer.update(
688 + <React.StrictMode>
689 + <App text={'mount'} />
690 + </React.StrictMode>,
691 + );
692 });
693
694 assertLog([
@@ -666,12 +743,17 @@ describe('StrictEffectsMode', () => {
743
744 let renderer;
745 await act(() => {
669 - renderer = ReactTestRenderer.create(<App text={'mount'} />, {
670 - isConcurrent: true,
671 - });
746 + renderer = ReactTestRenderer.create(
747 + <React.StrictMode>
748 + <App text={'mount'} />
749 + </React.StrictMode>,
750 + {
751 + isConcurrent: true,
752 + },
753 + );
754 });
755
674 - if (supportsDoubleInvokeEffects()) {
756 + if (__DEV__) {
757 assertLog([
758 'useLayoutEffect mount',
759 'useEffect mount',
@@ -686,7 +768,11 @@ describe('StrictEffectsMode', () => {
768 }
769
770 await act(() => {
689 - renderer.update(<App text={'mount'} />);
771 + renderer.update(
772 + <React.StrictMode>
773 + <App text={'mount'} />
774 + </React.StrictMode>,
775 + );
776 });
777
778 assertLog([
packages/react-reconciler/src/__tests__/StrictEffectsModeDefaults-test.internal.js
+100 -31
@@ -32,9 +32,6 @@ describe('StrictEffectsMode defaults', () => {
32 waitForAll = InternalTestUtils.waitForAll;
33 waitForPaint = InternalTestUtils.waitForPaint;
34 assertLog = InternalTestUtils.assertLog;
35 -
36 - const ReactFeatureFlags = require('shared/ReactFeatureFlags');
37 - ReactFeatureFlags.createRootStrictEffectsByDefault = __DEV__;
35 });
36
37 it('should not double invoke effects in legacy mode', async () => {
@@ -53,7 +50,11 @@ describe('StrictEffectsMode defaults', () => {
50 }
51
52 await act(() => {
56 - ReactNoop.renderLegacySyncRoot(<App text={'mount'} />);
53 + ReactNoop.renderLegacySyncRoot(
54 + <React.StrictMode>
55 + <App text={'mount'} />
56 + </React.StrictMode>,
57 + );
58 });
59
60 assertLog(['useLayoutEffect mount', 'useEffect mount']);
@@ -79,7 +80,11 @@ describe('StrictEffectsMode defaults', () => {
80 }
81
82 await act(() => {
82 - ReactNoop.renderLegacySyncRoot(<App text={'mount'} />);
83 + ReactNoop.renderLegacySyncRoot(
84 + <React.StrictMode>
85 + <App text={'mount'} />
86 + </React.StrictMode>,
87 + );
88 });
89
90 assertLog(['componentDidMount']);
@@ -98,9 +103,9 @@ describe('StrictEffectsMode defaults', () => {
103
104 await act(async () => {
105 ReactNoop.render(
101 - <>
106 + <React.StrictMode>
107 <ComponentWithEffects label={'one'} />
103 - </>,
108 + </React.StrictMode>,
109 );
110
111 await waitForPaint([
@@ -112,10 +117,10 @@ describe('StrictEffectsMode defaults', () => {
117
118 await act(async () => {
119 ReactNoop.render(
115 - <>
120 + <React.StrictMode>
121 <ComponentWithEffects label={'one'} />
122 <ComponentWithEffects label={'two'} />
118 - </>,
123 + </React.StrictMode>,
124 );
125
126 assertLog([]);
@@ -151,9 +156,9 @@ describe('StrictEffectsMode defaults', () => {
156
157 await act(async () => {
158 ReactNoop.render(
154 - <>
159 + <React.StrictMode>
160 <ComponentWithEffects label={'one'} />
156 - </>,
161 + </React.StrictMode>,
162 );
163
164 await waitForAll([
@@ -168,10 +173,10 @@ describe('StrictEffectsMode defaults', () => {
173
174 await act(async () => {
175 ReactNoop.render(
171 - <>
176 + <React.StrictMode>
177 <ComponentWithEffects label={'one'} />
178 <ComponentWithEffects label={'two'} />
174 - </>,
179 + </React.StrictMode>,
180 );
181
182 await waitFor([
@@ -209,7 +214,11 @@ describe('StrictEffectsMode defaults', () => {
214 return text;
215 }
216 await act(() => {
212 - ReactNoop.render(<App text={'mount'} />);
217 + ReactNoop.render(
218 + <React.StrictMode>
219 + <App text={'mount'} />
220 + </React.StrictMode>,
221 + );
222 });
223
224 assertLog([
@@ -222,7 +231,11 @@ describe('StrictEffectsMode defaults', () => {
231 ]);
232
233 await act(() => {
225 - ReactNoop.render(<App text={'update'} />);
234 + ReactNoop.render(
235 + <React.StrictMode>
236 + <App text={'update'} />
237 + </React.StrictMode>,
238 + );
239 });
240
241 assertLog([
@@ -255,7 +268,11 @@ describe('StrictEffectsMode defaults', () => {
268 }
269
270 await act(() => {
258 - ReactNoop.render(<App text={'mount'} />);
271 + ReactNoop.render(
272 + <React.StrictMode>
273 + <App text={'mount'} />
274 + </React.StrictMode>,
275 + );
276 });
277
278 assertLog([
@@ -268,7 +285,11 @@ describe('StrictEffectsMode defaults', () => {
285 ]);
286
287 await act(() => {
271 - ReactNoop.render(<App text={'update'} />);
288 + ReactNoop.render(
289 + <React.StrictMode>
290 + <App text={'update'} />
291 + </React.StrictMode>,
292 + );
293 });
294
295 assertLog([
@@ -301,7 +322,11 @@ describe('StrictEffectsMode defaults', () => {
322 }
323
324 await act(() => {
304 - ReactNoop.render(<App text={'mount'} />);
325 + ReactNoop.render(
326 + <React.StrictMode>
327 + <App text={'mount'} />
328 + </React.StrictMode>,
329 + );
330 });
331
332 assertLog([
@@ -314,7 +339,11 @@ describe('StrictEffectsMode defaults', () => {
339 ]);
340
341 await act(() => {
317 - ReactNoop.render(<App text={'update'} />);
342 + ReactNoop.render(
343 + <React.StrictMode>
344 + <App text={'update'} />
345 + </React.StrictMode>,
346 + );
347 });
348
349 assertLog([
@@ -345,7 +374,11 @@ describe('StrictEffectsMode defaults', () => {
374 }
375
376 await act(() => {
348 - ReactNoop.render(<App text={'mount'} />);
377 + ReactNoop.render(
378 + <React.StrictMode>
379 + <App text={'mount'} />
380 + </React.StrictMode>,
381 + );
382 });
383
384 assertLog([
@@ -356,7 +389,11 @@ describe('StrictEffectsMode defaults', () => {
389 ]);
390
391 await act(() => {
359 - ReactNoop.render(<App text={'update'} />);
392 + ReactNoop.render(
393 + <React.StrictMode>
394 + <App text={'update'} />
395 + </React.StrictMode>,
396 + );
397 });
398
399 assertLog(['useLayoutEffect mount', 'useEffect mount']);
@@ -383,7 +420,11 @@ describe('StrictEffectsMode defaults', () => {
420 }
421
422 await act(() => {
386 - ReactNoop.render(<App text={'mount'} />);
423 + ReactNoop.render(
424 + <React.StrictMode>
425 + <App text={'mount'} />
426 + </React.StrictMode>,
427 + );
428 });
429
430 expect(onRefMock.mock.calls.length).toBe(3);
@@ -417,7 +458,11 @@ describe('StrictEffectsMode defaults', () => {
458 }
459
460 await act(() => {
420 - ReactNoop.render(<App />);
461 + ReactNoop.render(
462 + <React.StrictMode>
463 + <App />
464 + </React.StrictMode>,
465 + );
466 });
467
468 assertLog([
@@ -447,7 +492,11 @@ describe('StrictEffectsMode defaults', () => {
492 }
493
494 await act(() => {
450 - ReactNoop.render(<App text={'mount'} />);
495 + ReactNoop.render(
496 + <React.StrictMode>
497 + <App text={'mount'} />
498 + </React.StrictMode>,
499 + );
500 });
501
502 assertLog([
@@ -457,7 +506,11 @@ describe('StrictEffectsMode defaults', () => {
506 ]);
507
508 await act(() => {
460 - ReactNoop.render(<App text={'update'} />);
509 + ReactNoop.render(
510 + <React.StrictMode>
511 + <App text={'update'} />
512 + </React.StrictMode>,
513 + );
514 });
515
516 assertLog(['componentDidUpdate']);
@@ -490,7 +543,11 @@ describe('StrictEffectsMode defaults', () => {
543 }
544
545 await act(() => {
493 - ReactNoop.render(<App text={'mount'} />);
546 + ReactNoop.render(
547 + <React.StrictMode>
548 + <App text={'mount'} />
549 + </React.StrictMode>,
550 + );
551 });
552
553 assertLog([
@@ -540,7 +597,11 @@ describe('StrictEffectsMode defaults', () => {
597 }
598
599 await act(() => {
543 - ReactNoop.render(<App />);
600 + ReactNoop.render(
601 + <React.StrictMode>
602 + <App />
603 + </React.StrictMode>,
604 + );
605 });
606
607 assertLog([
@@ -599,15 +660,19 @@ describe('StrictEffectsMode defaults', () => {
660
661 function App({text}) {
662 return (
602 - <>
663 + <React.StrictMode>
664 <ClassChild text={text} />
665 <FunctionChild text={text} />
605 - </>
666 + </React.StrictMode>
667 );
668 }
669
670 await act(() => {
610 - ReactNoop.render(<App text={'mount'} />);
671 + ReactNoop.render(
672 + <React.StrictMode>
673 + <App text={'mount'} />
674 + </React.StrictMode>,
675 + );
676 });
677
678 assertLog([
@@ -623,7 +688,11 @@ describe('StrictEffectsMode defaults', () => {
688 ]);
689
690 await act(() => {
626 - ReactNoop.render(<App text={'mount'} />);
691 + ReactNoop.render(
692 + <React.StrictMode>
693 + <App text={'mount'} />
694 + </React.StrictMode>,
695 + );
696 });
697
698 assertLog([
packages/shared/ReactFeatureFlags.js
-7
@@ -171,13 +171,6 @@ export const enableFilterEmptyStringAttributesDOM = __NEXT_MAJOR__;
171 // when we plan to enable them.
172 // -----------------------------------------------------------------------------
173
174 -// This flag enables Strict Effects by default. We're not turning this on until
175 -// after 18 because it requires migration work. Recommendation is to use
176 -// <StrictMode /> to gradually upgrade components.
177 -// If TRUE, trees rendered with createRoot will be StrictEffectsMode.
178 -// If FALSE, these trees will be StrictLegacyMode.
179 -export const createRootStrictEffectsByDefault = false;
180 -
174 export const disableModulePatternComponents = false;
175
176 export const enableUseRefAccessWarning = false;
packages/shared/forks/ReactFeatureFlags.native-fb.js
-2
@@ -72,8 +72,6 @@ export const retryLaneExpirationMs = 5000;
72 export const syncLaneExpirationMs = 250;
73 export const transitionLaneExpirationMs = 5000;
74
75 -export const createRootStrictEffectsByDefault = false;
76 -
75 export const disableSchedulerTimeoutInWorkLoop = false;
76 export const enableLazyContextPropagation = false;
77 export const enableLegacyHidden = true;
packages/shared/forks/ReactFeatureFlags.native-oss.js
-1
@@ -55,7 +55,6 @@ export const retryLaneExpirationMs = 5000;
55 export const syncLaneExpirationMs = 250;
56 export const transitionLaneExpirationMs = 5000;
57
58 -export const createRootStrictEffectsByDefault = false;
58 export const enableUseRefAccessWarning = false;
59
60 export const disableSchedulerTimeoutInWorkLoop = false;
packages/shared/forks/ReactFeatureFlags.test-renderer.js
-1
@@ -55,7 +55,6 @@ export const retryLaneExpirationMs = 5000;
55 export const syncLaneExpirationMs = 250;
56 export const transitionLaneExpirationMs = 5000;
57
58 -export const createRootStrictEffectsByDefault = false;
58 export const enableUseRefAccessWarning = false;
59
60 export const disableSchedulerTimeoutInWorkLoop = false;
packages/shared/forks/ReactFeatureFlags.test-renderer.native.js
-1
@@ -49,7 +49,6 @@ export const enableCPUSuspense = false;
49 export const enableUseMemoCacheHook = true;
50 export const enableUseEffectEventHook = false;
51 export const enableClientRenderFallbackOnTextMismatch = true;
52 -export const createRootStrictEffectsByDefault = false;
52 export const enableUseRefAccessWarning = false;
53
54 export const enableRetryLaneExpiration = false;
packages/shared/forks/ReactFeatureFlags.test-renderer.www.js
-1
@@ -55,7 +55,6 @@ export const retryLaneExpirationMs = 5000;
55 export const syncLaneExpirationMs = 250;
56 export const transitionLaneExpirationMs = 5000;
57
58 -export const createRootStrictEffectsByDefault = false;
58 export const enableUseRefAccessWarning = false;
59
60 export const disableSchedulerTimeoutInWorkLoop = false;
packages/shared/forks/ReactFeatureFlags.www.js
-1
@@ -49,7 +49,6 @@ export const enableProfilerNestedUpdateScheduledHook: boolean =
49 __PROFILE__ && dynamicFeatureFlags.enableProfilerNestedUpdateScheduledHook;
50 export const enableUpdaterTracking = __PROFILE__;
51
52 -export const createRootStrictEffectsByDefault = false;
52 export const enableSuspenseAvoidThisFallback = true;
53 export const enableSuspenseAvoidThisFallbackFizz = false;
54
scripts/jest/TestFlags.js
-3
@@ -50,9 +50,6 @@ const environmentFlags = {
50 FIXME: false,
51 TODO: false,
52
53 - // Turn these flags back on (or delete) once the effect list is removed in
54 - // favor of a depth-first traversal using `subtreeTags`.
55 - dfsEffectsRefactor: true,
53 enableUseJSStackToTrackPassiveDurations: false,
54 };
55