@samitouri / QOS-React / commits / 518d06d26a

Turn off `enableYieldingBeforePassive` (#31857)

Sebastian "Sebbie" Silbermann committed Dec 19, 2024 at 20:43 UTC 518d06d26a97df6d4f5b04e529e5018ad35ea936
2 files changed +44 -1
packages/react-reconciler/src/__tests__/ReactSuspenseyCommitPhase-test.js
+42
@@ -491,4 +491,46 @@ describe('ReactSuspenseyCommitPhase', () => {
491 </>,
492 );
493 });
494 +
495 + // FIXME: Should pass with `enableYieldingBeforePassive`
496 + // @gate !enableYieldingBeforePassive
497 + it('runs passive effects after suspended commit resolves', async () => {
498 + function Effect() {
499 + React.useEffect(() => {
500 + Scheduler.log('flush effect');
501 + });
502 + return <Text text="render effect" />;
503 + }
504 +
505 + const root = ReactNoop.createRoot();
506 +
507 + await act(() => {
508 + root.render(
509 + <Suspense fallback={<Text text="Loading..." />}>
510 + <Effect />
511 + <SuspenseyImage src="A" />
512 + </Suspense>,
513 + );
514 + });
515 +
516 + assertLog([
517 + 'render effect',
518 + 'Image requested [A]',
519 + 'Loading...',
520 + 'render effect',
521 + ]);
522 + expect(root).toMatchRenderedOutput('Loading...');
523 +
524 + await act(() => {
525 + resolveSuspenseyThing('A');
526 + });
527 +
528 + assertLog(['flush effect']);
529 + expect(root).toMatchRenderedOutput(
530 + <>
531 + {'render effect'}
532 + <suspensey-thing src="A" />
533 + </>,
534 + );
535 + });
536 });
packages/shared/ReactFeatureFlags.js
+2 -1
@@ -78,7 +78,8 @@ export const enableLegacyFBSupport = false;
78 // -----------------------------------------------------------------------------
79
80 // Yield to the browser event loop and not just the scheduler event loop before passive effects.
81 -export const enableYieldingBeforePassive = __EXPERIMENTAL__;
81 +// Fix gated tests that fail with this flag enabled before turning it back on.
82 +export const enableYieldingBeforePassive = false;
83
84 export const enableLegacyCache = __EXPERIMENTAL__;
85