Skip to content

Commit 5d78b8f

Browse files
committed
Include SyncLane in includesBlockingLane helper (#34543)
This helper weirdly doesn't include the sync lane. Everywhere we use it we have to check the sync lane separately. We can simplify things by simply including the sync lane. This fixes a lack of optimization because we should not check the store consistency for a `flushSync` render. https://github.com/facebook/react/blob/d91d28c8ba6fe7c96e651f82fc47c9d5481bf5f9/packages/react-reconciler/src/ReactFiberHooks.js#L1691-L1693 DiffTrain build for [e0c421a](e0c421a)
1 parent d27539e commit 5d78b8f

24 files changed

+457
-506
lines changed

compiled-rn/VERSION_NATIVE_FB

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
19.2.0-native-fb-e02c173f-20250923
1+
19.2.0-native-fb-e0c421ab-20250924

compiled-rn/facebook-fbsource/xplat/js/RKJSModules/vendor/react/react-dom/cjs/ReactDOM-dev.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
* @noflow
88
* @nolint
99
* @preventMunge
10-
* @generated SignedSource<<4c01ccdbbe01add0d26e3844ac654967>>
10+
* @generated SignedSource<<195fc6ed89ffd3e6b532c623418fdb4d>>
1111
*/
1212

1313
"use strict";
@@ -404,5 +404,5 @@ __DEV__ &&
404404
exports.useFormStatus = function () {
405405
return resolveDispatcher().useHostTransitionStatus();
406406
};
407-
exports.version = "19.2.0-native-fb-e02c173f-20250923";
407+
exports.version = "19.2.0-native-fb-e0c421ab-20250924";
408408
})();

compiled-rn/facebook-fbsource/xplat/js/RKJSModules/vendor/react/react-dom/cjs/ReactDOM-prod.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
* @noflow
88
* @nolint
99
* @preventMunge
10-
* @generated SignedSource<<97a34cc8a6f54322ba049cebf3e783b9>>
10+
* @generated SignedSource<<6d87274d00e2617ad57a9c90f8f228af>>
1111
*/
1212

1313
"use strict";
@@ -203,4 +203,4 @@ exports.useFormState = function (action, initialState, permalink) {
203203
exports.useFormStatus = function () {
204204
return ReactSharedInternals.H.useHostTransitionStatus();
205205
};
206-
exports.version = "19.2.0-native-fb-e02c173f-20250923";
206+
exports.version = "19.2.0-native-fb-e0c421ab-20250924";

compiled-rn/facebook-fbsource/xplat/js/RKJSModules/vendor/react/react-dom/cjs/ReactDOM-profiling.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
* @noflow
88
* @nolint
99
* @preventMunge
10-
* @generated SignedSource<<97a34cc8a6f54322ba049cebf3e783b9>>
10+
* @generated SignedSource<<6d87274d00e2617ad57a9c90f8f228af>>
1111
*/
1212

1313
"use strict";
@@ -203,4 +203,4 @@ exports.useFormState = function (action, initialState, permalink) {
203203
exports.useFormStatus = function () {
204204
return ReactSharedInternals.H.useHostTransitionStatus();
205205
};
206-
exports.version = "19.2.0-native-fb-e02c173f-20250923";
206+
exports.version = "19.2.0-native-fb-e0c421ab-20250924";

compiled-rn/facebook-fbsource/xplat/js/RKJSModules/vendor/react/react-dom/cjs/ReactDOMClient-dev.js

Lines changed: 59 additions & 64 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
* @noflow
88
* @nolint
99
* @preventMunge
10-
* @generated SignedSource<<344f101b25d9ad1120a05c21ebcb62fd>>
10+
* @generated SignedSource<<f7904da83770d5c3844d0e86de483d34>>
1111
*/
1212

1313
/*
@@ -5914,11 +5914,8 @@ __DEV__ &&
59145914
});
59155915
}
59165916
function startUpdateTimerByLane(lane, method, fiber) {
5917-
if (enableComponentPerformanceTrack) {
5918-
var JSCompiler_temp;
5919-
(JSCompiler_temp = 0 !== (lane & 3)) ||
5920-
(JSCompiler_temp = 0 !== (lane & 60));
5921-
if (JSCompiler_temp)
5917+
if (enableComponentPerformanceTrack)
5918+
if (0 !== (lane & 127))
59225919
0 > blockingUpdateTime &&
59235920
((blockingUpdateTime = now()),
59245921
(blockingUpdateTask = createTask(method)),
@@ -5951,7 +5948,6 @@ __DEV__ &&
59515948
transitionEventTime = lane;
59525949
transitionEventType = method;
59535950
}
5954-
}
59555951
}
59565952
function startHostActionTimer(fiber) {
59575953
if (enableComponentPerformanceTrack) {
@@ -8395,7 +8391,7 @@ __DEV__ &&
83958391
throw Error(
83968392
"Expected a work-in-progress root. This is a bug in React. Please file an issue."
83978393
);
8398-
0 !== (workInProgressRootRenderLanes & 124) ||
8394+
0 !== (workInProgressRootRenderLanes & 127) ||
83998395
pushStoreConsistencyCheck(fiber, getSnapshot, nextSnapshot);
84008396
}
84018397
hook.memoizedState = nextSnapshot;
@@ -8478,7 +8474,7 @@ __DEV__ &&
84788474
"Expected a work-in-progress root. This is a bug in React. Please file an issue."
84798475
);
84808476
isHydrating$jscomp$0 ||
8481-
0 !== (renderLanes & 124) ||
8477+
0 !== (renderLanes & 127) ||
84828478
pushStoreConsistencyCheck(fiber, getSnapshot, getServerSnapshot);
84838479
}
84848480
return getServerSnapshot;
@@ -17435,7 +17431,7 @@ __DEV__ &&
1743517431
}
1743617432
startTime = (yieldEndTime =
1743717433
(!forceSync &&
17438-
0 === (lanes & 124) &&
17434+
0 === (lanes & 127) &&
1743917435
0 === (lanes & root.expiredLanes)) ||
1744017436
checkIfRootIsPrerendering(root, lanes))
1744117437
? renderRootConcurrent(root, lanes)
@@ -17591,7 +17587,7 @@ __DEV__ &&
1759117587
finalizeRender(lanes, forceSync),
1759217588
(yieldedFiber = lanes),
1759317589
enableComponentPerformanceTrack &&
17594-
(0 !== (yieldedFiber & 3) || 0 !== (yieldedFiber & 124)
17590+
(0 !== (yieldedFiber & 127)
1759517591
? (blockingSuspendedTime = forceSync)
1759617592
: 0 !== (yieldedFiber & 4194048) &&
1759717593
(transitionSuspendedTime = forceSync)));
@@ -17866,7 +17862,7 @@ __DEV__ &&
1786617862
}
1786717863
function finalizeRender(lanes, finalizationTime) {
1786817864
enableComponentPerformanceTrack &&
17869-
((0 !== (lanes & 3) || 0 !== (lanes & 124)) &&
17865+
(0 !== (lanes & 127) &&
1787017866
enableComponentPerformanceTrack &&
1787117867
(blockingClampTime = finalizationTime),
1787217868
0 !== (lanes & 4194048) &&
@@ -17971,7 +17967,7 @@ __DEV__ &&
1797117967
}
1797217968
previousRenderStartTime = workInProgressUpdateTask;
1797317969
workInProgressUpdateTask = null;
17974-
if (0 !== (lanes & 3) || 0 !== (lanes & 124)) {
17970+
if (0 !== (lanes & 127)) {
1797517971
workInProgressUpdateTask = blockingUpdateTask;
1797617972
debugTask =
1797717973
0 <= blockingUpdateTime && blockingUpdateTime < blockingClampTime
@@ -17987,17 +17983,17 @@ __DEV__ &&
1798717983
: 0 <= debugTask
1798817984
? debugTask
1798917985
: renderStartTime;
17990-
if (0 <= blockingSuspendedTime)
17991-
setCurrentTrackFromLanes(2),
17986+
0 <= blockingSuspendedTime
17987+
? (setCurrentTrackFromLanes(2),
1799217988
logSuspendedWithDelayPhase(
1799317989
blockingSuspendedTime,
1799417990
color,
1799517991
lanes,
1799617992
previousRenderStartTime
17997-
);
17998-
else if (0 !== (animatingLanes & 3) || 0 !== (animatingLanes & 124))
17999-
setCurrentTrackFromLanes(2),
18000-
logAnimatingPhase(blockingClampTime, color, animatingTask);
17993+
))
17994+
: 0 !== (animatingLanes & 127) &&
17995+
(setCurrentTrackFromLanes(2),
17996+
logAnimatingPhase(blockingClampTime, color, animatingTask));
1800117997
previousRenderStartTime = debugTask;
1800217998
var eventTime = endTime,
1800317999
eventType = blockingEventType,
@@ -19715,7 +19711,7 @@ __DEV__ &&
1971519711
root.warmLanes &= ~pingedLanes;
1971619712
enableComponentPerformanceTrack &&
1971719713
enableComponentPerformanceTrack &&
19718-
(0 !== (pingedLanes & 3) || 0 !== (pingedLanes & 124)
19714+
(0 !== (pingedLanes & 127)
1971919715
? 0 > blockingUpdateTime &&
1972019716
((blockingClampTime = blockingUpdateTime = now()),
1972119717
(blockingUpdateTask = createTask("Promise Resolved")),
@@ -20113,45 +20109,44 @@ __DEV__ &&
2011320109
(root.callbackPriority = 0)
2011420110
);
2011520111
if (
20116-
0 !== (suspendedLanes & 3) &&
20117-
!checkIfRootIsPrerendering(root, suspendedLanes)
20118-
)
20119-
return (
20120-
null !== pingedLanes && cancelCallback(pingedLanes),
20121-
(root.callbackPriority = 2),
20122-
(root.callbackNode = null),
20123-
2
20124-
);
20125-
currentTime = suspendedLanes & -suspendedLanes;
20126-
if (
20127-
currentTime !== root.callbackPriority ||
20128-
(null !== ReactSharedInternals.actQueue &&
20129-
pingedLanes !== fakeActCallbackNode)
20130-
)
20131-
cancelCallback(pingedLanes);
20132-
else return currentTime;
20133-
switch (lanesToEventPriority(suspendedLanes)) {
20134-
case DiscreteEventPriority:
20135-
case ContinuousEventPriority:
20136-
suspendedLanes = UserBlockingPriority;
20137-
break;
20138-
case DefaultEventPriority:
20139-
suspendedLanes = NormalPriority$1;
20140-
break;
20141-
case IdleEventPriority:
20142-
suspendedLanes = IdlePriority;
20143-
break;
20144-
default:
20145-
suspendedLanes = NormalPriority$1;
20146-
}
20147-
pingedLanes = performWorkOnRootViaSchedulerTask.bind(null, root);
20148-
null !== ReactSharedInternals.actQueue
20149-
? (ReactSharedInternals.actQueue.push(pingedLanes),
20150-
(suspendedLanes = fakeActCallbackNode))
20151-
: (suspendedLanes = scheduleCallback$3(suspendedLanes, pingedLanes));
20152-
root.callbackPriority = currentTime;
20153-
root.callbackNode = suspendedLanes;
20154-
return currentTime;
20112+
0 === (suspendedLanes & 3) ||
20113+
checkIfRootIsPrerendering(root, suspendedLanes)
20114+
) {
20115+
currentTime = suspendedLanes & -suspendedLanes;
20116+
if (
20117+
currentTime !== root.callbackPriority ||
20118+
(null !== ReactSharedInternals.actQueue &&
20119+
pingedLanes !== fakeActCallbackNode)
20120+
)
20121+
cancelCallback(pingedLanes);
20122+
else return currentTime;
20123+
switch (lanesToEventPriority(suspendedLanes)) {
20124+
case DiscreteEventPriority:
20125+
case ContinuousEventPriority:
20126+
suspendedLanes = UserBlockingPriority;
20127+
break;
20128+
case DefaultEventPriority:
20129+
suspendedLanes = NormalPriority$1;
20130+
break;
20131+
case IdleEventPriority:
20132+
suspendedLanes = IdlePriority;
20133+
break;
20134+
default:
20135+
suspendedLanes = NormalPriority$1;
20136+
}
20137+
pingedLanes = performWorkOnRootViaSchedulerTask.bind(null, root);
20138+
null !== ReactSharedInternals.actQueue
20139+
? (ReactSharedInternals.actQueue.push(pingedLanes),
20140+
(suspendedLanes = fakeActCallbackNode))
20141+
: (suspendedLanes = scheduleCallback$3(suspendedLanes, pingedLanes));
20142+
root.callbackPriority = currentTime;
20143+
root.callbackNode = suspendedLanes;
20144+
return currentTime;
20145+
}
20146+
null !== pingedLanes && cancelCallback(pingedLanes);
20147+
root.callbackPriority = 2;
20148+
root.callbackNode = null;
20149+
return 2;
2015520150
}
2015620151
function performWorkOnRootViaSchedulerTask(root, didTimeout) {
2015720152
nestedUpdateScheduled = currentUpdateIsNested = !1;
@@ -29923,11 +29918,11 @@ __DEV__ &&
2992329918
};
2992429919
(function () {
2992529920
var isomorphicReactPackageVersion = React.version;
29926-
if ("19.2.0-native-fb-e02c173f-20250923" !== isomorphicReactPackageVersion)
29921+
if ("19.2.0-native-fb-e0c421ab-20250924" !== isomorphicReactPackageVersion)
2992729922
throw Error(
2992829923
'Incompatible React versions: The "react" and "react-dom" packages must have the exact same version. Instead got:\n - react: ' +
2992929924
(isomorphicReactPackageVersion +
29930-
"\n - react-dom: 19.2.0-native-fb-e02c173f-20250923\nLearn more: https://react.dev/warnings/version-mismatch")
29925+
"\n - react-dom: 19.2.0-native-fb-e0c421ab-20250924\nLearn more: https://react.dev/warnings/version-mismatch")
2993129926
);
2993229927
})();
2993329928
("function" === typeof Map &&
@@ -29964,10 +29959,10 @@ __DEV__ &&
2996429959
!(function () {
2996529960
var internals = {
2996629961
bundleType: 1,
29967-
version: "19.2.0-native-fb-e02c173f-20250923",
29962+
version: "19.2.0-native-fb-e0c421ab-20250924",
2996829963
rendererPackageName: "react-dom",
2996929964
currentDispatcherRef: ReactSharedInternals,
29970-
reconcilerVersion: "19.2.0-native-fb-e02c173f-20250923"
29965+
reconcilerVersion: "19.2.0-native-fb-e0c421ab-20250924"
2997129966
};
2997229967
internals.overrideHookState = overrideHookState;
2997329968
internals.overrideHookStateDeletePath = overrideHookStateDeletePath;
@@ -30116,5 +30111,5 @@ __DEV__ &&
3011630111
listenToAllSupportedEvents(container);
3011730112
return new ReactDOMHydrationRoot(initialChildren);
3011830113
};
30119-
exports.version = "19.2.0-native-fb-e02c173f-20250923";
30114+
exports.version = "19.2.0-native-fb-e0c421ab-20250924";
3012030115
})();

compiled-rn/facebook-fbsource/xplat/js/RKJSModules/vendor/react/react-dom/cjs/ReactDOMClient-prod.js

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
* @noflow
88
* @nolint
99
* @preventMunge
10-
* @generated SignedSource<<a11926ebd2aa087dcfc31a9ece0dbf8e>>
10+
* @generated SignedSource<<7828a4fded494848b6a5cdda31ea4a26>>
1111
*/
1212

1313
/*
@@ -4995,7 +4995,7 @@ function updateSyncExternalStore(subscribe, getSnapshot, getServerSnapshot) {
49954995
);
49964996
if (null === workInProgressRoot) throw Error(formatProdErrorMessage(349));
49974997
isHydrating$jscomp$0 ||
4998-
0 !== (renderLanes & 124) ||
4998+
0 !== (renderLanes & 127) ||
49994999
pushStoreConsistencyCheck(fiber, getSnapshot, getServerSnapshot);
50005000
}
50015001
return getServerSnapshot;
@@ -5848,7 +5848,7 @@ var ContextOnlyDispatcher = {
58485848
getServerSnapshot = getSnapshot();
58495849
if (null === workInProgressRoot)
58505850
throw Error(formatProdErrorMessage(349));
5851-
0 !== (workInProgressRootRenderLanes & 124) ||
5851+
0 !== (workInProgressRootRenderLanes & 127) ||
58525852
pushStoreConsistencyCheck(fiber, getSnapshot, getServerSnapshot);
58535853
}
58545854
hook.memoizedState = getServerSnapshot;
@@ -11539,7 +11539,7 @@ function performWorkOnRoot(root$jscomp$0, lanes, forceSync) {
1153911539
if (0 !== (executionContext & 6)) throw Error(formatProdErrorMessage(327));
1154011540
var shouldTimeSlice =
1154111541
(!forceSync &&
11542-
0 === (lanes & 124) &&
11542+
0 === (lanes & 127) &&
1154311543
0 === (lanes & root$jscomp$0.expiredLanes)) ||
1154411544
checkIfRootIsPrerendering(root$jscomp$0, lanes),
1154511545
exitStatus = shouldTimeSlice
@@ -17529,14 +17529,14 @@ ReactDOMHydrationRoot.prototype.unstable_scheduleHydration = function (target) {
1752917529
};
1753017530
var isomorphicReactPackageVersion$jscomp$inline_2052 = React.version;
1753117531
if (
17532-
"19.2.0-native-fb-e02c173f-20250923" !==
17532+
"19.2.0-native-fb-e0c421ab-20250924" !==
1753317533
isomorphicReactPackageVersion$jscomp$inline_2052
1753417534
)
1753517535
throw Error(
1753617536
formatProdErrorMessage(
1753717537
527,
1753817538
isomorphicReactPackageVersion$jscomp$inline_2052,
17539-
"19.2.0-native-fb-e02c173f-20250923"
17539+
"19.2.0-native-fb-e0c421ab-20250924"
1754017540
)
1754117541
);
1754217542
ReactDOMSharedInternals.findDOMNode = function (componentOrElement) {
@@ -17558,10 +17558,10 @@ ReactDOMSharedInternals.findDOMNode = function (componentOrElement) {
1755817558
};
1755917559
var internals$jscomp$inline_2625 = {
1756017560
bundleType: 0,
17561-
version: "19.2.0-native-fb-e02c173f-20250923",
17561+
version: "19.2.0-native-fb-e0c421ab-20250924",
1756217562
rendererPackageName: "react-dom",
1756317563
currentDispatcherRef: ReactSharedInternals,
17564-
reconcilerVersion: "19.2.0-native-fb-e02c173f-20250923"
17564+
reconcilerVersion: "19.2.0-native-fb-e0c421ab-20250924"
1756517565
};
1756617566
if ("undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__) {
1756717567
var hook$jscomp$inline_2626 = __REACT_DEVTOOLS_GLOBAL_HOOK__;
@@ -17668,4 +17668,4 @@ exports.hydrateRoot = function (container, initialChildren, options) {
1766817668
listenToAllSupportedEvents(container);
1766917669
return new ReactDOMHydrationRoot(initialChildren);
1767017670
};
17671-
exports.version = "19.2.0-native-fb-e02c173f-20250923";
17671+
exports.version = "19.2.0-native-fb-e0c421ab-20250924";

0 commit comments

Comments
 (0)