Skip to content

Commit 82c0c10

Browse files
committed
[Fiber] Schedule client renders using non-hydration lane (#31776)
Related to #31752. When hydrating, we have two different ways of handling a Suspense boundary that the server has already given up on and decided to client render. If we have already hydrated the parent and then later this happens, then we'll use the retry lane like any ping. If we discover that it was already in client-render mode when we discover the Suspense boundary for the first time, then schedule a default lane to let us first finish the current render and then upgrade the priority to sync to try to client render this boundary as soon as possible since we're holding back content. We used to use the `DefaultHydrationLane` for this but this is not really a Hydration. It's actually a client render. If we get any other updates flowing in from above at the same time we might as well do them in the same pass instead of two passes. So this should be considered more like any update. This also means that visually the client render pass now gets painted as a render instead of a hydration. This show the flow of a shell being hydrated at the default priority, then a Suspense boundary being discovered and hydrated at Idle and then an inner boundary being discovered as client rendered which gets upgraded to default. <img width="1363" alt="Screenshot 2024-12-14 at 12 13 57 AM" src="https://github.com/user-attachments/assets/a141133e-4856-4f38-a11f-f26bd00b6245" /> DiffTrain build for [d1dd7fe](d1dd7fe)
1 parent 2556bc0 commit 82c0c10

34 files changed

+100
-100
lines changed

compiled/facebook-www/REVISION

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
0d67cc065157b2b98843cd1e2578b0969765c54b
1+
c32780eeb4c44e138d09a35da841926f512d3b07
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
0d67cc065157b2b98843cd1e2578b0969765c54b
1+
c32780eeb4c44e138d09a35da841926f512d3b07

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1954,7 +1954,7 @@ __DEV__ &&
19541954
exports.useTransition = function () {
19551955
return resolveDispatcher().useTransition();
19561956
};
1957-
exports.version = "19.1.0-www-classic-0d67cc06-20241214";
1957+
exports.version = "19.1.0-www-classic-d1dd7fea-20241214";
19581958
"undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ &&
19591959
"function" ===
19601960
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
@@ -1954,7 +1954,7 @@ __DEV__ &&
19541954
exports.useTransition = function () {
19551955
return resolveDispatcher().useTransition();
19561956
};
1957-
exports.version = "19.1.0-www-modern-0d67cc06-20241214";
1957+
exports.version = "19.1.0-www-modern-d1dd7fea-20241214";
19581958
"undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ &&
19591959
"function" ===
19601960
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
@@ -635,4 +635,4 @@ exports.useSyncExternalStore = function (
635635
exports.useTransition = function () {
636636
return ReactSharedInternals.H.useTransition();
637637
};
638-
exports.version = "19.1.0-www-classic-0d67cc06-20241214";
638+
exports.version = "19.1.0-www-classic-d1dd7fea-20241214";

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -635,4 +635,4 @@ exports.useSyncExternalStore = function (
635635
exports.useTransition = function () {
636636
return ReactSharedInternals.H.useTransition();
637637
};
638-
exports.version = "19.1.0-www-modern-0d67cc06-20241214";
638+
exports.version = "19.1.0-www-modern-d1dd7fea-20241214";

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -639,7 +639,7 @@ exports.useSyncExternalStore = function (
639639
exports.useTransition = function () {
640640
return ReactSharedInternals.H.useTransition();
641641
};
642-
exports.version = "19.1.0-www-classic-0d67cc06-20241214";
642+
exports.version = "19.1.0-www-classic-d1dd7fea-20241214";
643643
"undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ &&
644644
"function" ===
645645
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
@@ -639,7 +639,7 @@ exports.useSyncExternalStore = function (
639639
exports.useTransition = function () {
640640
return ReactSharedInternals.H.useTransition();
641641
};
642-
exports.version = "19.1.0-www-modern-0d67cc06-20241214";
642+
exports.version = "19.1.0-www-modern-d1dd7fea-20241214";
643643
"undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ &&
644644
"function" ===
645645
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
@@ -17189,10 +17189,10 @@ __DEV__ &&
1718917189
(function () {
1719017190
var internals = {
1719117191
bundleType: 1,
17192-
version: "19.1.0-www-classic-0d67cc06-20241214",
17192+
version: "19.1.0-www-classic-d1dd7fea-20241214",
1719317193
rendererPackageName: "react-art",
1719417194
currentDispatcherRef: ReactSharedInternals,
17195-
reconcilerVersion: "19.1.0-www-classic-0d67cc06-20241214"
17195+
reconcilerVersion: "19.1.0-www-classic-d1dd7fea-20241214"
1719617196
};
1719717197
internals.overrideHookState = overrideHookState;
1719817198
internals.overrideHookStateDeletePath = overrideHookStateDeletePath;
@@ -17226,7 +17226,7 @@ __DEV__ &&
1722617226
exports.Shape = Shape;
1722717227
exports.Surface = Surface;
1722817228
exports.Text = Text;
17229-
exports.version = "19.1.0-www-classic-0d67cc06-20241214";
17229+
exports.version = "19.1.0-www-classic-d1dd7fea-20241214";
1723017230
"undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ &&
1723117231
"function" ===
1723217232
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
@@ -16952,10 +16952,10 @@ __DEV__ &&
1695216952
(function () {
1695316953
var internals = {
1695416954
bundleType: 1,
16955-
version: "19.1.0-www-modern-0d67cc06-20241214",
16955+
version: "19.1.0-www-modern-d1dd7fea-20241214",
1695616956
rendererPackageName: "react-art",
1695716957
currentDispatcherRef: ReactSharedInternals,
16958-
reconcilerVersion: "19.1.0-www-modern-0d67cc06-20241214"
16958+
reconcilerVersion: "19.1.0-www-modern-d1dd7fea-20241214"
1695916959
};
1696016960
internals.overrideHookState = overrideHookState;
1696116961
internals.overrideHookStateDeletePath = overrideHookStateDeletePath;
@@ -16989,7 +16989,7 @@ __DEV__ &&
1698916989
exports.Shape = Shape;
1699016990
exports.Surface = Surface;
1699116991
exports.Text = Text;
16992-
exports.version = "19.1.0-www-modern-0d67cc06-20241214";
16992+
exports.version = "19.1.0-www-modern-d1dd7fea-20241214";
1699316993
"undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ &&
1699416994
"function" ===
1699516995
typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop &&

0 commit comments

Comments
 (0)