diff --git a/packages/react-devtools-scheduling-profiler/src/import-worker/__tests__/preprocessData-test.internal.js b/packages/react-devtools-scheduling-profiler/src/import-worker/__tests__/preprocessData-test.internal.js index df81af097ba54..b5b3a4561e8ff 100644 --- a/packages/react-devtools-scheduling-profiler/src/import-worker/__tests__/preprocessData-test.internal.js +++ b/packages/react-devtools-scheduling-profiler/src/import-worker/__tests__/preprocessData-test.internal.js @@ -404,7 +404,7 @@ describe(preprocessData, () => { { componentStack: '', laneLabels: ['Default'], - lanes: [7], + lanes: [5], timestamp: 0.005, type: 'schedule-render', }, @@ -413,7 +413,7 @@ describe(preprocessData, () => { componentStack: '', isCascading: false, laneLabels: ['Default'], - lanes: [7], + lanes: [5], timestamp: 0.013, type: 'schedule-state-update', }, @@ -425,7 +425,7 @@ describe(preprocessData, () => { depth: 0, duration: 0.004999999999999999, laneLabels: ['Default'], - lanes: [7], + lanes: [5], timestamp: 0.006, type: 'render-idle', }, @@ -434,7 +434,7 @@ describe(preprocessData, () => { depth: 0, duration: 0.001, laneLabels: ['Default'], - lanes: [7], + lanes: [5], timestamp: 0.006, type: 'render', }, @@ -443,7 +443,7 @@ describe(preprocessData, () => { depth: 0, duration: 0.002999999999999999, laneLabels: ['Default'], - lanes: [7], + lanes: [5], timestamp: 0.008, type: 'commit', }, @@ -452,7 +452,7 @@ describe(preprocessData, () => { depth: 1, duration: 0.0010000000000000009, laneLabels: ['Default'], - lanes: [7], + lanes: [5], timestamp: 0.009, type: 'layout-effects', }, @@ -461,7 +461,7 @@ describe(preprocessData, () => { depth: 0, duration: 0.002, laneLabels: ['Default'], - lanes: [7], + lanes: [5], timestamp: 0.012, type: 'passive-effects', }, @@ -470,7 +470,7 @@ describe(preprocessData, () => { depth: 0, duration: 0.005000000000000001, laneLabels: ['Default'], - lanes: [7], + lanes: [5], timestamp: 0.015, type: 'render-idle', }, @@ -479,7 +479,7 @@ describe(preprocessData, () => { depth: 0, duration: 0.0010000000000000009, laneLabels: ['Default'], - lanes: [7], + lanes: [5], timestamp: 0.015, type: 'render', }, @@ -488,7 +488,7 @@ describe(preprocessData, () => { depth: 0, duration: 0.002999999999999999, laneLabels: ['Default'], - lanes: [7], + lanes: [5], timestamp: 0.017, type: 'commit', }, @@ -497,7 +497,7 @@ describe(preprocessData, () => { depth: 1, duration: 0.0010000000000000009, laneLabels: ['Default'], - lanes: [7], + lanes: [5], timestamp: 0.018, type: 'layout-effects', }, @@ -506,7 +506,7 @@ describe(preprocessData, () => { depth: 0, duration: 0.0009999999999999974, laneLabels: ['Default'], - lanes: [7], + lanes: [5], timestamp: 0.021, type: 'passive-effects', }, diff --git a/packages/react-dom/src/events/ReactDOMEventListener.js b/packages/react-dom/src/events/ReactDOMEventListener.js index 0869bebe330bb..1c0bc724b7063 100644 --- a/packages/react-dom/src/events/ReactDOMEventListener.js +++ b/packages/react-dom/src/events/ReactDOMEventListener.js @@ -48,14 +48,12 @@ import { } from './ReactDOMUpdateBatching'; import { - InputDiscreteLanePriority as InputDiscreteLanePriority_old, InputContinuousLanePriority as InputContinuousLanePriority_old, DefaultLanePriority as DefaultLanePriority_old, getCurrentUpdateLanePriority as getCurrentUpdateLanePriority_old, setCurrentUpdateLanePriority as setCurrentUpdateLanePriority_old, } from 'react-reconciler/src/ReactFiberLane.old'; import { - InputDiscreteLanePriority as InputDiscreteLanePriority_new, InputContinuousLanePriority as InputContinuousLanePriority_new, DefaultLanePriority as DefaultLanePriority_new, getCurrentUpdateLanePriority as getCurrentUpdateLanePriority_new, @@ -75,9 +73,6 @@ import { } from 'react-reconciler/src/SchedulerWithReactIntegration.new'; import type {LanePriority} from 'react-reconciler/src/ReactFiberLane.new'; -const InputDiscreteLanePriority = enableNewReconciler - ? InputDiscreteLanePriority_new - : InputDiscreteLanePriority_old; const InputContinuousLanePriority = enableNewReconciler ? InputContinuousLanePriority_new : InputContinuousLanePriority_old; @@ -147,7 +142,7 @@ export function createEventListenerWrapperWithPriority( const eventPriority = getEventPriority(domEventName); let listenerWrapper; switch (eventPriority) { - case InputDiscreteLanePriority: + case SyncLanePriority: listenerWrapper = dispatchDiscreteEvent; break; case InputContinuousLanePriority: @@ -412,7 +407,7 @@ export function getEventPriority(domEventName: DOMEventName): * { case 'popstate': case 'select': case 'selectstart': - return InputDiscreteLanePriority; + return SyncLanePriority; case 'drag': case 'dragenter': case 'dragexit': diff --git a/packages/react-reconciler/src/ReactFiberLane.new.js b/packages/react-reconciler/src/ReactFiberLane.new.js index bf5086acb9432..692f799bce858 100644 --- a/packages/react-reconciler/src/ReactFiberLane.new.js +++ b/packages/react-reconciler/src/ReactFiberLane.new.js @@ -46,11 +46,8 @@ import { NoPriority as NoSchedulerPriority, } from './SchedulerWithReactIntegration.new'; -export const SyncLanePriority: LanePriority = 15; -export const SyncBatchedLanePriority: LanePriority = 14; - -const InputDiscreteHydrationLanePriority: LanePriority = 13; -export const InputDiscreteLanePriority: LanePriority = 12; +export const SyncLanePriority: LanePriority = 13; +export const SyncBatchedLanePriority: LanePriority = 12; const InputContinuousHydrationLanePriority: LanePriority = 11; export const InputContinuousLanePriority: LanePriority = 10; @@ -83,31 +80,30 @@ export const NoLane: Lane = /* */ 0b0000000000000000000 export const SyncLane: Lane = /* */ 0b0000000000000000000000000000001; export const SyncBatchedLane: Lane = /* */ 0b0000000000000000000000000000010; -export const InputDiscreteHydrationLane: Lane = /* */ 0b0000000000000000000000000000100; -export const InputDiscreteLane: Lanes = /* */ 0b0000000000000000000000000001000; - -const InputContinuousHydrationLane: Lane = /* */ 0b0000000000000000000000000010000; -export const InputContinuousLane: Lanes = /* */ 0b0000000000000000000000000100000; - -export const DefaultHydrationLane: Lane = /* */ 0b0000000000000000000000001000000; -export const DefaultLane: Lanes = /* */ 0b0000000000000000000000010000000; - -const TransitionHydrationLane: Lane = /* */ 0b0000000000000000000000100000000; -const TransitionLanes: Lanes = /* */ 0b0000000011111111111111000000000; -const TransitionLane1: Lane = /* */ 0b0000000000000000000001000000000; -const TransitionLane2: Lane = /* */ 0b0000000000000000000010000000000; -const TransitionLane3: Lane = /* */ 0b0000000000000000000100000000000; -const TransitionLane4: Lane = /* */ 0b0000000000000000001000000000000; -const TransitionLane5: Lane = /* */ 0b0000000000000000010000000000000; -const TransitionLane6: Lane = /* */ 0b0000000000000000100000000000000; -const TransitionLane7: Lane = /* */ 0b0000000000000001000000000000000; -const TransitionLane8: Lane = /* */ 0b0000000000000010000000000000000; -const TransitionLane9: Lane = /* */ 0b0000000000000100000000000000000; -const TransitionLane10: Lane = /* */ 0b0000000000001000000000000000000; -const TransitionLane11: Lane = /* */ 0b0000000000010000000000000000000; -const TransitionLane12: Lane = /* */ 0b0000000000100000000000000000000; -const TransitionLane13: Lane = /* */ 0b0000000001000000000000000000000; -const TransitionLane14: Lane = /* */ 0b0000000010000000000000000000000; +const InputContinuousHydrationLane: Lane = /* */ 0b0000000000000000000000000000100; +export const InputContinuousLane: Lanes = /* */ 0b0000000000000000000000000001000; + +export const DefaultHydrationLane: Lane = /* */ 0b0000000000000000000000000010000; +export const DefaultLane: Lanes = /* */ 0b0000000000000000000000000100000; + +const TransitionHydrationLane: Lane = /* */ 0b0000000000000000000000001000000; +const TransitionLanes: Lanes = /* */ 0b0000000011111111111111110000000; +const TransitionLane1: Lane = /* */ 0b0000000000000000000000010000000; +const TransitionLane2: Lane = /* */ 0b0000000000000000000000100000000; +const TransitionLane3: Lane = /* */ 0b0000000000000000000001000000000; +const TransitionLane4: Lane = /* */ 0b0000000000000000000010000000000; +const TransitionLane5: Lane = /* */ 0b0000000000000000000100000000000; +const TransitionLane6: Lane = /* */ 0b0000000000000000001000000000000; +const TransitionLane7: Lane = /* */ 0b0000000000000000010000000000000; +const TransitionLane8: Lane = /* */ 0b0000000000000000100000000000000; +const TransitionLane9: Lane = /* */ 0b0000000000000001000000000000000; +const TransitionLane10: Lane = /* */ 0b0000000000000010000000000000000; +const TransitionLane11: Lane = /* */ 0b0000000000000100000000000000000; +const TransitionLane12: Lane = /* */ 0b0000000000001000000000000000000; +const TransitionLane13: Lane = /* */ 0b0000000000010000000000000000000; +const TransitionLane14: Lane = /* */ 0b0000000000100000000000000000000; +const TransitionLane15: Lane = /* */ 0b0000000001000000000000000000000; +const TransitionLane16: Lane = /* */ 0b0000000010000000000000000000000; const RetryLanes: Lanes = /* */ 0b0000111100000000000000000000000; const RetryLane1: Lane = /* */ 0b0000000100000000000000000000000; @@ -137,12 +133,6 @@ export function getLabelsForLanes(lanes: Lanes): Array | void { if (lanes & SyncBatchedLane) { labels.push('SyncBatched'); } - if (lanes & InputDiscreteHydrationLane) { - labels.push('InputDiscreteHydration'); - } - if (lanes & InputDiscreteLane) { - labels.push('InputDiscrete'); - } if (lanes & InputContinuousHydrationLane) { labels.push('InputContinuousHydration'); } @@ -207,12 +197,6 @@ function getHighestPriorityLanes(lanes: Lanes | Lane): Lanes { case SyncBatchedLane: return_highestLanePriority = SyncBatchedLanePriority; return SyncBatchedLane; - case InputDiscreteHydrationLane: - return_highestLanePriority = InputDiscreteHydrationLanePriority; - return InputDiscreteHydrationLane; - case InputDiscreteLane: - return_highestLanePriority = InputDiscreteLanePriority; - return InputDiscreteLane; case InputContinuousHydrationLane: return_highestLanePriority = InputContinuousHydrationLanePriority; return InputContinuousHydrationLane; @@ -242,6 +226,8 @@ function getHighestPriorityLanes(lanes: Lanes | Lane): Lanes { case TransitionLane12: case TransitionLane13: case TransitionLane14: + case TransitionLane15: + case TransitionLane16: return_highestLanePriority = TransitionPriority; return lanes & TransitionLanes; case RetryLane1: @@ -281,8 +267,6 @@ export function lanePriorityToSchedulerPriority( case SyncLanePriority: case SyncBatchedLanePriority: return ImmediateSchedulerPriority; - case InputDiscreteHydrationLanePriority: - case InputDiscreteLanePriority: case InputContinuousHydrationLanePriority: case InputContinuousLanePriority: return UserBlockingSchedulerPriority; @@ -565,8 +549,6 @@ export function findUpdateLane(lanePriority: LanePriority): Lane { return SyncLane; case SyncBatchedLanePriority: return SyncBatchedLane; - case InputDiscreteLanePriority: - return SyncLane; case InputContinuousLanePriority: return InputContinuousLane; case DefaultLanePriority: @@ -826,11 +808,6 @@ export function getBumpedLaneForHydration( case SyncBatchedLanePriority: lane = NoLane; break; - case InputDiscreteHydrationLanePriority: - case InputDiscreteLanePriority: - lane = InputDiscreteHydrationLane; - break; - case InputContinuousHydrationLanePriority: case InputContinuousLanePriority: lane = InputContinuousHydrationLane; break; diff --git a/packages/react-reconciler/src/ReactFiberLane.old.js b/packages/react-reconciler/src/ReactFiberLane.old.js index fae8239afdb66..aaf63a66403b5 100644 --- a/packages/react-reconciler/src/ReactFiberLane.old.js +++ b/packages/react-reconciler/src/ReactFiberLane.old.js @@ -46,11 +46,8 @@ import { NoPriority as NoSchedulerPriority, } from './SchedulerWithReactIntegration.old'; -export const SyncLanePriority: LanePriority = 15; -export const SyncBatchedLanePriority: LanePriority = 14; - -const InputDiscreteHydrationLanePriority: LanePriority = 13; -export const InputDiscreteLanePriority: LanePriority = 12; +export const SyncLanePriority: LanePriority = 13; +export const SyncBatchedLanePriority: LanePriority = 12; const InputContinuousHydrationLanePriority: LanePriority = 11; export const InputContinuousLanePriority: LanePriority = 10; @@ -83,31 +80,30 @@ export const NoLane: Lane = /* */ 0b0000000000000000000 export const SyncLane: Lane = /* */ 0b0000000000000000000000000000001; export const SyncBatchedLane: Lane = /* */ 0b0000000000000000000000000000010; -export const InputDiscreteHydrationLane: Lane = /* */ 0b0000000000000000000000000000100; -export const InputDiscreteLane: Lanes = /* */ 0b0000000000000000000000000001000; - -const InputContinuousHydrationLane: Lane = /* */ 0b0000000000000000000000000010000; -export const InputContinuousLane: Lanes = /* */ 0b0000000000000000000000000100000; - -export const DefaultHydrationLane: Lane = /* */ 0b0000000000000000000000001000000; -export const DefaultLane: Lanes = /* */ 0b0000000000000000000000010000000; - -const TransitionHydrationLane: Lane = /* */ 0b0000000000000000000000100000000; -const TransitionLanes: Lanes = /* */ 0b0000000011111111111111000000000; -const TransitionLane1: Lane = /* */ 0b0000000000000000000001000000000; -const TransitionLane2: Lane = /* */ 0b0000000000000000000010000000000; -const TransitionLane3: Lane = /* */ 0b0000000000000000000100000000000; -const TransitionLane4: Lane = /* */ 0b0000000000000000001000000000000; -const TransitionLane5: Lane = /* */ 0b0000000000000000010000000000000; -const TransitionLane6: Lane = /* */ 0b0000000000000000100000000000000; -const TransitionLane7: Lane = /* */ 0b0000000000000001000000000000000; -const TransitionLane8: Lane = /* */ 0b0000000000000010000000000000000; -const TransitionLane9: Lane = /* */ 0b0000000000000100000000000000000; -const TransitionLane10: Lane = /* */ 0b0000000000001000000000000000000; -const TransitionLane11: Lane = /* */ 0b0000000000010000000000000000000; -const TransitionLane12: Lane = /* */ 0b0000000000100000000000000000000; -const TransitionLane13: Lane = /* */ 0b0000000001000000000000000000000; -const TransitionLane14: Lane = /* */ 0b0000000010000000000000000000000; +const InputContinuousHydrationLane: Lane = /* */ 0b0000000000000000000000000000100; +export const InputContinuousLane: Lanes = /* */ 0b0000000000000000000000000001000; + +export const DefaultHydrationLane: Lane = /* */ 0b0000000000000000000000000010000; +export const DefaultLane: Lanes = /* */ 0b0000000000000000000000000100000; + +const TransitionHydrationLane: Lane = /* */ 0b0000000000000000000000001000000; +const TransitionLanes: Lanes = /* */ 0b0000000011111111111111110000000; +const TransitionLane1: Lane = /* */ 0b0000000000000000000000010000000; +const TransitionLane2: Lane = /* */ 0b0000000000000000000000100000000; +const TransitionLane3: Lane = /* */ 0b0000000000000000000001000000000; +const TransitionLane4: Lane = /* */ 0b0000000000000000000010000000000; +const TransitionLane5: Lane = /* */ 0b0000000000000000000100000000000; +const TransitionLane6: Lane = /* */ 0b0000000000000000001000000000000; +const TransitionLane7: Lane = /* */ 0b0000000000000000010000000000000; +const TransitionLane8: Lane = /* */ 0b0000000000000000100000000000000; +const TransitionLane9: Lane = /* */ 0b0000000000000001000000000000000; +const TransitionLane10: Lane = /* */ 0b0000000000000010000000000000000; +const TransitionLane11: Lane = /* */ 0b0000000000000100000000000000000; +const TransitionLane12: Lane = /* */ 0b0000000000001000000000000000000; +const TransitionLane13: Lane = /* */ 0b0000000000010000000000000000000; +const TransitionLane14: Lane = /* */ 0b0000000000100000000000000000000; +const TransitionLane15: Lane = /* */ 0b0000000001000000000000000000000; +const TransitionLane16: Lane = /* */ 0b0000000010000000000000000000000; const RetryLanes: Lanes = /* */ 0b0000111100000000000000000000000; const RetryLane1: Lane = /* */ 0b0000000100000000000000000000000; @@ -137,12 +133,6 @@ export function getLabelsForLanes(lanes: Lanes): Array | void { if (lanes & SyncBatchedLane) { labels.push('SyncBatched'); } - if (lanes & InputDiscreteHydrationLane) { - labels.push('InputDiscreteHydration'); - } - if (lanes & InputDiscreteLane) { - labels.push('InputDiscrete'); - } if (lanes & InputContinuousHydrationLane) { labels.push('InputContinuousHydration'); } @@ -207,12 +197,6 @@ function getHighestPriorityLanes(lanes: Lanes | Lane): Lanes { case SyncBatchedLane: return_highestLanePriority = SyncBatchedLanePriority; return SyncBatchedLane; - case InputDiscreteHydrationLane: - return_highestLanePriority = InputDiscreteHydrationLanePriority; - return InputDiscreteHydrationLane; - case InputDiscreteLane: - return_highestLanePriority = InputDiscreteLanePriority; - return InputDiscreteLane; case InputContinuousHydrationLane: return_highestLanePriority = InputContinuousHydrationLanePriority; return InputContinuousHydrationLane; @@ -242,6 +226,8 @@ function getHighestPriorityLanes(lanes: Lanes | Lane): Lanes { case TransitionLane12: case TransitionLane13: case TransitionLane14: + case TransitionLane15: + case TransitionLane16: return_highestLanePriority = TransitionPriority; return lanes & TransitionLanes; case RetryLane1: @@ -281,8 +267,6 @@ export function lanePriorityToSchedulerPriority( case SyncLanePriority: case SyncBatchedLanePriority: return ImmediateSchedulerPriority; - case InputDiscreteHydrationLanePriority: - case InputDiscreteLanePriority: case InputContinuousHydrationLanePriority: case InputContinuousLanePriority: return UserBlockingSchedulerPriority; @@ -565,8 +549,6 @@ export function findUpdateLane(lanePriority: LanePriority): Lane { return SyncLane; case SyncBatchedLanePriority: return SyncBatchedLane; - case InputDiscreteLanePriority: - return SyncLane; case InputContinuousLanePriority: return InputContinuousLane; case DefaultLanePriority: @@ -826,11 +808,6 @@ export function getBumpedLaneForHydration( case SyncBatchedLanePriority: lane = NoLane; break; - case InputDiscreteHydrationLanePriority: - case InputDiscreteLanePriority: - lane = InputDiscreteHydrationLane; - break; - case InputContinuousHydrationLanePriority: case InputContinuousLanePriority: lane = InputContinuousHydrationLane; break; diff --git a/packages/react-reconciler/src/ReactFiberReconciler.new.js b/packages/react-reconciler/src/ReactFiberReconciler.new.js index bd1f901177935..5538b131fd923 100644 --- a/packages/react-reconciler/src/ReactFiberReconciler.new.js +++ b/packages/react-reconciler/src/ReactFiberReconciler.new.js @@ -97,7 +97,7 @@ import {markRenderScheduled} from './SchedulingProfiler'; // entry point, but we can't do this because of a circular dependency. // They are used by third-party renderers so they need to stay up to date. export { - InputDiscreteLanePriority as DiscreteEventPriority, + SyncLanePriority as DiscreteEventPriority, InputContinuousLanePriority as ContinuousEventPriority, DefaultLanePriority as DefaultEventPriority, IdleLanePriority as IdleEventPriority, diff --git a/packages/react-reconciler/src/ReactFiberReconciler.old.js b/packages/react-reconciler/src/ReactFiberReconciler.old.js index 0f0520eb71200..1e63a9999de24 100644 --- a/packages/react-reconciler/src/ReactFiberReconciler.old.js +++ b/packages/react-reconciler/src/ReactFiberReconciler.old.js @@ -97,7 +97,7 @@ import {markRenderScheduled} from './SchedulingProfiler'; // entry point, but we can't do this because of a circular dependency. // They are used by third-party renderers so they need to stay up to date. export { - InputDiscreteLanePriority as DiscreteEventPriority, + SyncLanePriority as DiscreteEventPriority, InputContinuousLanePriority as ContinuousEventPriority, DefaultLanePriority as DefaultEventPriority, IdleLanePriority as IdleEventPriority, diff --git a/packages/react-reconciler/src/ReactFiberWorkLoop.new.js b/packages/react-reconciler/src/ReactFiberWorkLoop.new.js index b7c92ae72d703..186381b9b5cf8 100644 --- a/packages/react-reconciler/src/ReactFiberWorkLoop.new.js +++ b/packages/react-reconciler/src/ReactFiberWorkLoop.new.js @@ -133,7 +133,6 @@ import { NoLanePriority, SyncLanePriority, SyncBatchedLanePriority, - InputDiscreteLanePriority, DefaultLanePriority, NoLanes, NoLane, @@ -674,7 +673,6 @@ function ensureRootIsScheduled(root: FiberRoot, currentTime: number) { // TODO: Temporary until we confirm this warning is not fired. if ( existingCallbackNode == null && - existingCallbackPriority !== InputDiscreteLanePriority && existingCallbackPriority !== SyncLanePriority ) { console.error( @@ -980,20 +978,6 @@ function performSyncWorkOnRoot(root) { exitStatus = renderRootSync(root, lanes); } else { lanes = getNextLanes(root, NoLanes); - // Because we don't cancel synchronous tasks, sometimes more than one - // synchronous task ends up being scheduled. This is an artifact of the fact - // that we have two different lanes that schedule sync tasks: discrete and - // sync. If we had only one, then (I believe) this extra check wouldn't be - // necessary, because there's nothing higher priority than sync that would - // cause us to cancel it. - // TODO: Merge InputDiscreteLanePriority with SyncLanePriority, then delete - // this bailout. - if (supportsMicrotasks) { - const nextLanesPriority = returnNextLanesPriority(); - if (nextLanesPriority < InputDiscreteLanePriority) { - return null; - } - } exitStatus = renderRootSync(root, lanes); } @@ -1132,7 +1116,7 @@ export function discreteUpdates( ): R { const previousLanePriority = getCurrentUpdateLanePriority(); try { - setCurrentUpdateLanePriority(InputDiscreteLanePriority); + setCurrentUpdateLanePriority(SyncLanePriority); return fn(a, b, c, d); } finally { setCurrentUpdateLanePriority(previousLanePriority); diff --git a/packages/react-reconciler/src/ReactFiberWorkLoop.old.js b/packages/react-reconciler/src/ReactFiberWorkLoop.old.js index f84e5b2eed569..ba328d5fdb449 100644 --- a/packages/react-reconciler/src/ReactFiberWorkLoop.old.js +++ b/packages/react-reconciler/src/ReactFiberWorkLoop.old.js @@ -133,7 +133,6 @@ import { NoLanePriority, SyncLanePriority, SyncBatchedLanePriority, - InputDiscreteLanePriority, DefaultLanePriority, NoLanes, NoLane, @@ -674,7 +673,6 @@ function ensureRootIsScheduled(root: FiberRoot, currentTime: number) { // TODO: Temporary until we confirm this warning is not fired. if ( existingCallbackNode == null && - existingCallbackPriority !== InputDiscreteLanePriority && existingCallbackPriority !== SyncLanePriority ) { console.error( @@ -980,20 +978,6 @@ function performSyncWorkOnRoot(root) { exitStatus = renderRootSync(root, lanes); } else { lanes = getNextLanes(root, NoLanes); - // Because we don't cancel synchronous tasks, sometimes more than one - // synchronous task ends up being scheduled. This is an artifact of the fact - // that we have two different lanes that schedule sync tasks: discrete and - // sync. If we had only one, then (I believe) this extra check wouldn't be - // necessary, because there's nothing higher priority than sync that would - // cause us to cancel it. - // TODO: Merge InputDiscreteLanePriority with SyncLanePriority, then delete - // this bailout. - if (supportsMicrotasks) { - const nextLanesPriority = returnNextLanesPriority(); - if (nextLanesPriority < InputDiscreteLanePriority) { - return null; - } - } exitStatus = renderRootSync(root, lanes); } @@ -1132,7 +1116,7 @@ export function discreteUpdates( ): R { const previousLanePriority = getCurrentUpdateLanePriority(); try { - setCurrentUpdateLanePriority(InputDiscreteLanePriority); + setCurrentUpdateLanePriority(SyncLanePriority); return fn(a, b, c, d); } finally { setCurrentUpdateLanePriority(previousLanePriority); diff --git a/packages/react-reconciler/src/__tests__/DebugTracing-test.internal.js b/packages/react-reconciler/src/__tests__/DebugTracing-test.internal.js index 963660e39ca41..3191158b67d1a 100644 --- a/packages/react-reconciler/src/__tests__/DebugTracing-test.internal.js +++ b/packages/react-reconciler/src/__tests__/DebugTracing-test.internal.js @@ -16,7 +16,7 @@ describe('DebugTracing', () => { let logs; - const DEFAULT_LANE_STRING = '0b0000000000000000000000010000000'; + const DEFAULT_LANE_STRING = '0b0000000000000000000000000100000'; const RETRY_LANE_STRING = '0b0000000100000000000000000000000'; beforeEach(() => {