@samitouri / QOS-React-2 / commits / 3eeb645515

Remove flag that reverts #15650 (#16372)

The change in #15650 has fully rolled out, so we can remove the flag that reverts it.

Andrew Clark committed Aug 12, 2019 at 14:31 UTC 3eeb645515fad1c5f99339744d0f8804b9c6ced1
12 files changed +3 -88
packages/react-reconciler/src/ReactFiberClassComponent.js
-10
@@ -55,7 +55,6 @@ import {
55 scheduleWork,
56 flushPassiveEffects,
57 } from './ReactFiberWorkLoop';
58 -import {revertPassiveEffectsChange} from 'shared/ReactFeatureFlags';
58 import {requestCurrentSuspenseConfig} from './ReactFiberSuspenseConfig';
59
60 const fakeInternalInstance = {};
@@ -202,9 +201,6 @@ const classComponentUpdater = {
201 update.callback = callback;
202 }
203
205 - if (revertPassiveEffectsChange) {
206 - flushPassiveEffects();
207 - }
204 enqueueUpdate(fiber, update);
205 scheduleWork(fiber, expirationTime);
206 },
@@ -229,9 +225,6 @@ const classComponentUpdater = {
225 update.callback = callback;
226 }
227
232 - if (revertPassiveEffectsChange) {
233 - flushPassiveEffects();
234 - }
228 enqueueUpdate(fiber, update);
229 scheduleWork(fiber, expirationTime);
230 },
@@ -255,9 +248,6 @@ const classComponentUpdater = {
248 update.callback = callback;
249 }
250
258 - if (revertPassiveEffectsChange) {
259 - flushPassiveEffects();
260 - }
251 enqueueUpdate(fiber, update);
252 scheduleWork(fiber, expirationTime);
253 },
packages/react-reconciler/src/ReactFiberHooks.js
-5
@@ -51,7 +51,6 @@ import warning from 'shared/warning';
51 import getComponentName from 'shared/getComponentName';
52 import is from 'shared/objectIs';
53 import {markWorkInProgressReceivedUpdate} from './ReactFiberBeginWork';
54 -import {revertPassiveEffectsChange} from 'shared/ReactFeatureFlags';
54 import {requestCurrentSuspenseConfig} from './ReactFiberSuspenseConfig';
55 import {getCurrentPriorityLevel} from './SchedulerWithReactIntegration';
56
@@ -1166,10 +1165,6 @@ function dispatchAction<S, A>(
1165 lastRenderPhaseUpdate.next = update;
1166 }
1167 } else {
1169 - if (revertPassiveEffectsChange) {
1170 - flushPassiveEffects();
1171 - }
1172 -
1168 const currentTime = requestCurrentTime();
1169 const suspenseConfig = requestCurrentSuspenseConfig();
1170 const expirationTime = computeExpirationForFiber(
packages/react-reconciler/src/ReactFiberReconciler.js
-14
@@ -70,7 +70,6 @@ import {
70 } from './ReactCurrentFiber';
71 import {StrictMode} from './ReactTypeOfMode';
72 import {Sync} from './ReactFiberExpirationTime';
73 -import {revertPassiveEffectsChange} from 'shared/ReactFeatureFlags';
73 import {requestCurrentSuspenseConfig} from './ReactFiberSuspenseConfig';
74 import {
75 scheduleRefresh,
@@ -167,9 +166,6 @@ function scheduleRootUpdate(
166 update.callback = callback;
167 }
168
170 - if (revertPassiveEffectsChange) {
171 - flushPassiveEffects();
172 - }
169 enqueueUpdate(current, update);
170 scheduleWork(current, expirationTime);
171
@@ -434,10 +430,6 @@ if (__DEV__) {
430 id--;
431 }
432 if (currentHook !== null) {
437 - if (revertPassiveEffectsChange) {
438 - flushPassiveEffects();
439 - }
440 -
433 const newState = copyWithSet(currentHook.memoizedState, path, value);
434 currentHook.memoizedState = newState;
435 currentHook.baseState = newState;
@@ -455,9 +447,6 @@ if (__DEV__) {
447
448 // Support DevTools props for function components, forwardRef, memo, host components, etc.
449 overrideProps = (fiber: Fiber, path: Array<string | number>, value: any) => {
458 - if (revertPassiveEffectsChange) {
459 - flushPassiveEffects();
460 - }
450 fiber.pendingProps = copyWithSet(fiber.memoizedProps, path, value);
451 if (fiber.alternate) {
452 fiber.alternate.pendingProps = fiber.pendingProps;
@@ -466,9 +455,6 @@ if (__DEV__) {
455 };
456
457 scheduleUpdate = (fiber: Fiber) => {
469 - if (revertPassiveEffectsChange) {
470 - flushPassiveEffects();
471 - }
458 scheduleWork(fiber, Sync);
459 };
460
packages/react-reconciler/src/ReactFiberWorkLoop.js
+3 -6
@@ -24,7 +24,6 @@ import {
24 replayFailedUnitOfWorkWithInvokeGuardedCallback,
25 enableProfilerTimer,
26 enableSchedulerTracing,
27 - revertPassiveEffectsChange,
27 warnAboutUnmockedScheduler,
28 flushSuspenseFallbacksInTests,
29 disableSchedulerTimeoutBasedOnReactExpirationTime,
@@ -621,11 +620,9 @@ export function flushDiscreteUpdates() {
620 return;
621 }
622 flushPendingDiscreteUpdates();
624 - if (!revertPassiveEffectsChange) {
625 - // If the discrete updates scheduled passive effects, flush them now so that
626 - // they fire before the next serial event.
627 - flushPassiveEffects();
628 - }
623 + // If the discrete updates scheduled passive effects, flush them now so that
624 + // they fire before the next serial event.
625 + flushPassiveEffects();
626 }
627
628 function resolveLocksOnRoot(root: FiberRoot, expirationTime: ExpirationTime) {
packages/react-reconciler/src/__tests__/ReactHooksWithNoopRenderer-test.internal.js
-43
@@ -2170,47 +2170,4 @@ describe('ReactHooksWithNoopRenderer', () => {
2170 expect(Scheduler).toHaveYielded(['Step: 5, Shadow: 5']);
2171 expect(ReactNoop).toMatchRenderedOutput('5');
2172 });
2173 -
2174 - describe('revertPassiveEffectsChange', () => {
2175 - it('flushes serial effects before enqueueing work', () => {
2176 - jest.resetModules();
2177 -
2178 - ReactFeatureFlags = require('shared/ReactFeatureFlags');
2179 - ReactFeatureFlags.debugRenderPhaseSideEffectsForStrictMode = false;
2180 - ReactFeatureFlags.enableSchedulerTracing = true;
2181 - ReactFeatureFlags.revertPassiveEffectsChange = true;
2182 - React = require('react');
2183 - ReactNoop = require('react-noop-renderer');
2184 - Scheduler = require('scheduler');
2185 - SchedulerTracing = require('scheduler/tracing');
2186 - useState = React.useState;
2187 - useEffect = React.useEffect;
2188 - act = ReactNoop.act;
2189 -
2190 - let _updateCount;
2191 - function Counter(props) {
2192 - const [count, updateCount] = useState(0);
2193 - _updateCount = updateCount;
2194 - useEffect(() => {
2195 - Scheduler.unstable_yieldValue(`Will set count to 1`);
2196 - updateCount(1);
2197 - }, []);
2198 - return <Text text={'Count: ' + count} />;
2199 - }
2200 -
2201 - act(() => {
2202 - ReactNoop.render(<Counter count={0} />, () =>
2203 - Scheduler.unstable_yieldValue('Sync effect'),
2204 - );
2205 - expect(Scheduler).toFlushAndYieldThrough(['Count: 0', 'Sync effect']);
2206 - expect(ReactNoop.getChildren()).toEqual([span('Count: 0')]);
2207 - // Enqueuing this update forces the passive effect to be flushed --
2208 - // updateCount(1) happens first, so 2 wins.
2209 - act(() => _updateCount(2));
2210 - expect(Scheduler).toHaveYielded(['Will set count to 1']);
2211 - expect(Scheduler).toFlushAndYield(['Count: 2']);
2212 - expect(ReactNoop.getChildren()).toEqual([span('Count: 2')]);
2213 - });
2214 - });
2215 - });
2173 });
packages/shared/ReactFeatureFlags.js
-2
@@ -71,8 +71,6 @@ export const enableJSXTransformAPI = false;
71 // We will enforce mocking scheduler with scheduler/unstable_mock at some point. (v17?)
72 // Till then, we warn about the missing mock, but still fallback to a sync mode compatible version
73 export const warnAboutUnmockedScheduler = false;
74 -// Temporary flag to revert the fix in #15650
75 -export const revertPassiveEffectsChange = false;
74
75 // For tests, we flush suspense fallbacks in an act scope;
76 // *except* in some of our own tests, where we test incremental loading states.
packages/shared/forks/ReactFeatureFlags.native-fb.js
-1
@@ -35,7 +35,6 @@ export const enableFlareAPI = false;
35 export const enableFundamentalAPI = false;
36 export const enableJSXTransformAPI = false;
37 export const warnAboutUnmockedScheduler = true;
38 -export const revertPassiveEffectsChange = false;
38 export const flushSuspenseFallbacksInTests = true;
39 export const enableUserBlockingEvents = false;
40 export const enableSuspenseCallback = false;
packages/shared/forks/ReactFeatureFlags.native-oss.js
-1
@@ -30,7 +30,6 @@ export const enableFlareAPI = false;
30 export const enableFundamentalAPI = false;
31 export const enableJSXTransformAPI = false;
32 export const warnAboutUnmockedScheduler = false;
33 -export const revertPassiveEffectsChange = false;
33 export const flushSuspenseFallbacksInTests = true;
34 export const enableUserBlockingEvents = false;
35 export const enableSuspenseCallback = false;
packages/shared/forks/ReactFeatureFlags.persistent.js
-1
@@ -30,7 +30,6 @@ export const enableFlareAPI = false;
30 export const enableFundamentalAPI = false;
31 export const enableJSXTransformAPI = false;
32 export const warnAboutUnmockedScheduler = true;
33 -export const revertPassiveEffectsChange = false;
33 export const flushSuspenseFallbacksInTests = true;
34 export const enableUserBlockingEvents = false;
35 export const enableSuspenseCallback = false;
packages/shared/forks/ReactFeatureFlags.test-renderer.js
-1
@@ -30,7 +30,6 @@ export const enableFlareAPI = false;
30 export const enableFundamentalAPI = false;
31 export const enableJSXTransformAPI = false;
32 export const warnAboutUnmockedScheduler = false;
33 -export const revertPassiveEffectsChange = false;
33 export const flushSuspenseFallbacksInTests = true;
34 export const enableUserBlockingEvents = false;
35 export const enableSuspenseCallback = false;
packages/shared/forks/ReactFeatureFlags.test-renderer.www.js
-3
@@ -12,9 +12,6 @@ import invariant from 'shared/invariant';
12 import typeof * as FeatureFlagsType from 'shared/ReactFeatureFlags';
13 import typeof * as PersistentFeatureFlagsType from './ReactFeatureFlags.persistent';
14
15 -// Re-export dynamic flags from the www version.
16 -export const {revertPassiveEffectsChange} = require('ReactFeatureFlags');
17 -
15 export const debugRenderPhaseSideEffects = false;
16 export const debugRenderPhaseSideEffectsForStrictMode = false;
17 export const enableUserTimingAPI = __DEV__;
packages/shared/forks/ReactFeatureFlags.www.js
-1
@@ -19,7 +19,6 @@ export const {
19 disableInputAttributeSyncing,
20 warnAboutShorthandPropertyCollision,
21 warnAboutDeprecatedSetNativeProps,
22 - revertPassiveEffectsChange,
22 enableUserBlockingEvents,
23 disableLegacyContext,
24 disableSchedulerTimeoutBasedOnReactExpirationTime,