Skip to content

Commit ac910f7

Browse files
committed
[Fiber][DevTools] Add scheduleRetry to DevTools Hook (#34635)
When forcing suspense/error we're doing that by scheduling a sync update on the fiber. Resuspending a Suspense boundary can only happen sync update so that makes sense. Erroring also forces a sync commit. This means that no View Transitions fire. However, unsuspending (and dismissing an error dialog) can be async so the reveal should be able to be async. This adds another hook for scheduling using the Retry lane. That way when you play through a reveal sequence of Suspense boundaries (like playing through the timeline), it'll run the animations that would've ran during a loading sequence. DiffTrain build for [8309724](8309724)
1 parent adc2116 commit ac910f7

34 files changed

+156
-86
lines changed

compiled/facebook-www/REVISION

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
c552618a8203866a8bf80324f6efa708d4bdb146
1+
8309724cb4a497383cc7b3267483ab5c65dad7d6
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
c552618a8203866a8bf80324f6efa708d4bdb146
1+
8309724cb4a497383cc7b3267483ab5c65dad7d6

compiled/facebook-www/React-dev.classic.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1458,7 +1458,7 @@ __DEV__ &&
14581458
exports.useTransition = function () {
14591459
return resolveDispatcher().useTransition();
14601460
};
1461-
exports.version = "19.2.0-www-classic-c552618a-20250926";
1461+
exports.version = "19.2.0-www-classic-8309724c-20250928";
14621462
"undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ &&
14631463
"function" ===
14641464
typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop &&

compiled/facebook-www/React-dev.modern.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1458,7 +1458,7 @@ __DEV__ &&
14581458
exports.useTransition = function () {
14591459
return resolveDispatcher().useTransition();
14601460
};
1461-
exports.version = "19.2.0-www-modern-c552618a-20250926";
1461+
exports.version = "19.2.0-www-modern-8309724c-20250928";
14621462
"undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ &&
14631463
"function" ===
14641464
typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop &&

compiled/facebook-www/React-prod.classic.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -604,4 +604,4 @@ exports.useSyncExternalStore = function (
604604
exports.useTransition = function () {
605605
return ReactSharedInternals.H.useTransition();
606606
};
607-
exports.version = "19.2.0-www-classic-c552618a-20250926";
607+
exports.version = "19.2.0-www-classic-8309724c-20250928";

compiled/facebook-www/React-prod.modern.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -604,4 +604,4 @@ exports.useSyncExternalStore = function (
604604
exports.useTransition = function () {
605605
return ReactSharedInternals.H.useTransition();
606606
};
607-
exports.version = "19.2.0-www-modern-c552618a-20250926";
607+
exports.version = "19.2.0-www-modern-8309724c-20250928";

compiled/facebook-www/React-profiling.classic.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -608,7 +608,7 @@ exports.useSyncExternalStore = function (
608608
exports.useTransition = function () {
609609
return ReactSharedInternals.H.useTransition();
610610
};
611-
exports.version = "19.2.0-www-classic-c552618a-20250926";
611+
exports.version = "19.2.0-www-classic-8309724c-20250928";
612612
"undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ &&
613613
"function" ===
614614
typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop &&

compiled/facebook-www/React-profiling.modern.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -608,7 +608,7 @@ exports.useSyncExternalStore = function (
608608
exports.useTransition = function () {
609609
return ReactSharedInternals.H.useTransition();
610610
};
611-
exports.version = "19.2.0-www-modern-c552618a-20250926";
611+
exports.version = "19.2.0-www-modern-8309724c-20250928";
612612
"undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ &&
613613
"function" ===
614614
typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop &&

compiled/facebook-www/ReactART-dev.classic.js

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20039,6 +20039,7 @@ __DEV__ &&
2003920039
overridePropsDeletePath = null,
2004020040
overridePropsRenamePath = null,
2004120041
scheduleUpdate = null,
20042+
scheduleRetry = null,
2004220043
setErrorHandler = null,
2004320044
setSuspenseHandler = null;
2004420045
overrideHookState = function (fiber, id, path, value) {
@@ -20097,6 +20098,11 @@ __DEV__ &&
2009720098
var root = enqueueConcurrentRenderForLane(fiber, 2);
2009820099
null !== root && scheduleUpdateOnFiber(root, fiber, 2);
2009920100
};
20101+
scheduleRetry = function (fiber) {
20102+
var lane = claimNextRetryLane(),
20103+
root = enqueueConcurrentRenderForLane(fiber, lane);
20104+
null !== root && scheduleUpdateOnFiber(root, fiber, lane);
20105+
};
2010020106
setErrorHandler = function (newShouldErrorImpl) {
2010120107
shouldErrorImpl = newShouldErrorImpl;
2010220108
};
@@ -20243,10 +20249,10 @@ __DEV__ &&
2024320249
(function () {
2024420250
var internals = {
2024520251
bundleType: 1,
20246-
version: "19.2.0-www-classic-c552618a-20250926",
20252+
version: "19.2.0-www-classic-8309724c-20250928",
2024720253
rendererPackageName: "react-art",
2024820254
currentDispatcherRef: ReactSharedInternals,
20249-
reconcilerVersion: "19.2.0-www-classic-c552618a-20250926"
20255+
reconcilerVersion: "19.2.0-www-classic-8309724c-20250928"
2025020256
};
2025120257
internals.overrideHookState = overrideHookState;
2025220258
internals.overrideHookStateDeletePath = overrideHookStateDeletePath;
@@ -20255,6 +20261,7 @@ __DEV__ &&
2025520261
internals.overridePropsDeletePath = overridePropsDeletePath;
2025620262
internals.overridePropsRenamePath = overridePropsRenamePath;
2025720263
internals.scheduleUpdate = scheduleUpdate;
20264+
internals.scheduleRetry = scheduleRetry;
2025820265
internals.setErrorHandler = setErrorHandler;
2025920266
internals.setSuspenseHandler = setSuspenseHandler;
2026020267
internals.scheduleRefresh = scheduleRefresh;
@@ -20280,7 +20287,7 @@ __DEV__ &&
2028020287
exports.Shape = Shape;
2028120288
exports.Surface = Surface;
2028220289
exports.Text = Text;
20283-
exports.version = "19.2.0-www-classic-c552618a-20250926";
20290+
exports.version = "19.2.0-www-classic-8309724c-20250928";
2028420291
"undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ &&
2028520292
"function" ===
2028620293
typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop &&

compiled/facebook-www/ReactART-dev.modern.js

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19810,6 +19810,7 @@ __DEV__ &&
1981019810
overridePropsDeletePath = null,
1981119811
overridePropsRenamePath = null,
1981219812
scheduleUpdate = null,
19813+
scheduleRetry = null,
1981319814
setErrorHandler = null,
1981419815
setSuspenseHandler = null;
1981519816
overrideHookState = function (fiber, id, path, value) {
@@ -19868,6 +19869,11 @@ __DEV__ &&
1986819869
var root = enqueueConcurrentRenderForLane(fiber, 2);
1986919870
null !== root && scheduleUpdateOnFiber(root, fiber, 2);
1987019871
};
19872+
scheduleRetry = function (fiber) {
19873+
var lane = claimNextRetryLane(),
19874+
root = enqueueConcurrentRenderForLane(fiber, lane);
19875+
null !== root && scheduleUpdateOnFiber(root, fiber, lane);
19876+
};
1987119877
setErrorHandler = function (newShouldErrorImpl) {
1987219878
shouldErrorImpl = newShouldErrorImpl;
1987319879
};
@@ -20014,10 +20020,10 @@ __DEV__ &&
2001420020
(function () {
2001520021
var internals = {
2001620022
bundleType: 1,
20017-
version: "19.2.0-www-modern-c552618a-20250926",
20023+
version: "19.2.0-www-modern-8309724c-20250928",
2001820024
rendererPackageName: "react-art",
2001920025
currentDispatcherRef: ReactSharedInternals,
20020-
reconcilerVersion: "19.2.0-www-modern-c552618a-20250926"
20026+
reconcilerVersion: "19.2.0-www-modern-8309724c-20250928"
2002120027
};
2002220028
internals.overrideHookState = overrideHookState;
2002320029
internals.overrideHookStateDeletePath = overrideHookStateDeletePath;
@@ -20026,6 +20032,7 @@ __DEV__ &&
2002620032
internals.overridePropsDeletePath = overridePropsDeletePath;
2002720033
internals.overridePropsRenamePath = overridePropsRenamePath;
2002820034
internals.scheduleUpdate = scheduleUpdate;
20035+
internals.scheduleRetry = scheduleRetry;
2002920036
internals.setErrorHandler = setErrorHandler;
2003020037
internals.setSuspenseHandler = setSuspenseHandler;
2003120038
internals.scheduleRefresh = scheduleRefresh;
@@ -20051,7 +20058,7 @@ __DEV__ &&
2005120058
exports.Shape = Shape;
2005220059
exports.Surface = Surface;
2005320060
exports.Text = Text;
20054-
exports.version = "19.2.0-www-modern-c552618a-20250926";
20061+
exports.version = "19.2.0-www-modern-8309724c-20250928";
2005520062
"undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ &&
2005620063
"function" ===
2005720064
typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop &&

0 commit comments

Comments
 (0)