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,