Skip to content

Commit 6e12e1a

Browse files
committed
[Fizz] Avoid hanging when suspending after aborting while rendering (#34192)
This fixes an edge case where you abort the render while rendering a component that ends up Suspending. It technically only applied if you were deep enough to be inside `renderNode` and was not susceptible to hanging if the abort + suspending component was being tried inside retryRenderTask/retryReplaytask. The fix is to preempt the thenable checks in renderNode and check if the request is aborting and if so just bubble up to the task handler. The reason this hung before is a new task would get scheduled after we had aborted every other task (minus the currently rendering one). This led to a situation where the task count would not hit zero. DiffTrain build for [9baecbf](9baecbf)
1 parent 1a332a8 commit 6e12e1a

36 files changed

+98
-98
lines changed

compiled/facebook-www/REVISION

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
47fd2f5e1487fb48c561a6f8f30c534d8f8c7747
1+
9baecbf02b2b53746f259b77293288aa9d8968f8
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
47fd2f5e1487fb48c561a6f8f30c534d8f8c7747
1+
9baecbf02b2b53746f259b77293288aa9d8968f8

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1409,7 +1409,7 @@ __DEV__ &&
14091409
exports.useTransition = function () {
14101410
return resolveDispatcher().useTransition();
14111411
};
1412-
exports.version = "19.2.0-www-classic-47fd2f5e-20250812";
1412+
exports.version = "19.2.0-www-classic-9baecbf0-20250812";
14131413
"undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ &&
14141414
"function" ===
14151415
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
@@ -1409,7 +1409,7 @@ __DEV__ &&
14091409
exports.useTransition = function () {
14101410
return resolveDispatcher().useTransition();
14111411
};
1412-
exports.version = "19.2.0-www-modern-47fd2f5e-20250812";
1412+
exports.version = "19.2.0-www-modern-9baecbf0-20250812";
14131413
"undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ &&
14141414
"function" ===
14151415
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
@@ -600,4 +600,4 @@ exports.useSyncExternalStore = function (
600600
exports.useTransition = function () {
601601
return ReactSharedInternals.H.useTransition();
602602
};
603-
exports.version = "19.2.0-www-classic-47fd2f5e-20250812";
603+
exports.version = "19.2.0-www-classic-9baecbf0-20250812";

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -600,4 +600,4 @@ exports.useSyncExternalStore = function (
600600
exports.useTransition = function () {
601601
return ReactSharedInternals.H.useTransition();
602602
};
603-
exports.version = "19.2.0-www-modern-47fd2f5e-20250812";
603+
exports.version = "19.2.0-www-modern-9baecbf0-20250812";

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -604,7 +604,7 @@ exports.useSyncExternalStore = function (
604604
exports.useTransition = function () {
605605
return ReactSharedInternals.H.useTransition();
606606
};
607-
exports.version = "19.2.0-www-classic-47fd2f5e-20250812";
607+
exports.version = "19.2.0-www-classic-9baecbf0-20250812";
608608
"undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ &&
609609
"function" ===
610610
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
@@ -604,7 +604,7 @@ exports.useSyncExternalStore = function (
604604
exports.useTransition = function () {
605605
return ReactSharedInternals.H.useTransition();
606606
};
607-
exports.version = "19.2.0-www-modern-47fd2f5e-20250812";
607+
exports.version = "19.2.0-www-modern-9baecbf0-20250812";
608608
"undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ &&
609609
"function" ===
610610
typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop &&

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

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19588,10 +19588,10 @@ __DEV__ &&
1958819588
(function () {
1958919589
var internals = {
1959019590
bundleType: 1,
19591-
version: "19.2.0-www-classic-47fd2f5e-20250812",
19591+
version: "19.2.0-www-classic-9baecbf0-20250812",
1959219592
rendererPackageName: "react-art",
1959319593
currentDispatcherRef: ReactSharedInternals,
19594-
reconcilerVersion: "19.2.0-www-classic-47fd2f5e-20250812"
19594+
reconcilerVersion: "19.2.0-www-classic-9baecbf0-20250812"
1959519595
};
1959619596
internals.overrideHookState = overrideHookState;
1959719597
internals.overrideHookStateDeletePath = overrideHookStateDeletePath;
@@ -19625,7 +19625,7 @@ __DEV__ &&
1962519625
exports.Shape = Shape;
1962619626
exports.Surface = Surface;
1962719627
exports.Text = Text;
19628-
exports.version = "19.2.0-www-classic-47fd2f5e-20250812";
19628+
exports.version = "19.2.0-www-classic-9baecbf0-20250812";
1962919629
"undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ &&
1963019630
"function" ===
1963119631
typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop &&

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

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19359,10 +19359,10 @@ __DEV__ &&
1935919359
(function () {
1936019360
var internals = {
1936119361
bundleType: 1,
19362-
version: "19.2.0-www-modern-47fd2f5e-20250812",
19362+
version: "19.2.0-www-modern-9baecbf0-20250812",
1936319363
rendererPackageName: "react-art",
1936419364
currentDispatcherRef: ReactSharedInternals,
19365-
reconcilerVersion: "19.2.0-www-modern-47fd2f5e-20250812"
19365+
reconcilerVersion: "19.2.0-www-modern-9baecbf0-20250812"
1936619366
};
1936719367
internals.overrideHookState = overrideHookState;
1936819368
internals.overrideHookStateDeletePath = overrideHookStateDeletePath;
@@ -19396,7 +19396,7 @@ __DEV__ &&
1939619396
exports.Shape = Shape;
1939719397
exports.Surface = Surface;
1939819398
exports.Text = Text;
19399-
exports.version = "19.2.0-www-modern-47fd2f5e-20250812";
19399+
exports.version = "19.2.0-www-modern-9baecbf0-20250812";
1940019400
"undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ &&
1940119401
"function" ===
1940219402
typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop &&

0 commit comments

Comments
 (0)