Skip to content

Commit 7ef38b9

Browse files
committed
[Flight] Defer Elements if the parent chunk is too large (facebook#33030)
Same principle as facebook#33029 but for Flight. We pretty aggressively create separate rows for things in Flight (every Server Component that's an async function create a microtask). However, sync Server Components and just plain Host Components are not. Plus we should ideally ideally inline more of the async ones in the same way Fizz does. This means that we can create rows that end up very large. Especially if all the data is already available. We can't show the parent content until the whole thing loads on the client. We don't really know where Suspense boundaries are for Flight but any Element is potentially a point that can be split. This heuristic counts roughly how much we've serialized to block the current chunk and once a limit is exceeded, we start deferring all Elements. That way they get outlined into future chunks that are later in the stream. Since they get replaced by Lazy references the parent can potentially get unblocked. This can help if you're trying to stream a very large document with a client nav for example. DiffTrain build for [49ea8bf](facebook@49ea8bf)
1 parent 6a24e18 commit 7ef38b9

35 files changed

+86
-87
lines changed

compiled/facebook-www/REVISION

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
62960c67c84da7e85d7515ef8447cea0ba0824a6
1+
49ea8bf5698f017022517be79f5f53e6f6a4dad3
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
62960c67c84da7e85d7515ef8447cea0ba0824a6
1+
49ea8bf5698f017022517be79f5f53e6f6a4dad3

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1538,7 +1538,7 @@ __DEV__ &&
15381538
exports.useTransition = function () {
15391539
return resolveDispatcher().useTransition();
15401540
};
1541-
exports.version = "19.2.0-www-classic-62960c67-20250429";
1541+
exports.version = "19.2.0-www-classic-49ea8bf5-20250430";
15421542
"undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ &&
15431543
"function" ===
15441544
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
@@ -1538,7 +1538,7 @@ __DEV__ &&
15381538
exports.useTransition = function () {
15391539
return resolveDispatcher().useTransition();
15401540
};
1541-
exports.version = "19.2.0-www-modern-62960c67-20250429";
1541+
exports.version = "19.2.0-www-modern-49ea8bf5-20250430";
15421542
"undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ &&
15431543
"function" ===
15441544
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
@@ -636,4 +636,4 @@ exports.useSyncExternalStore = function (
636636
exports.useTransition = function () {
637637
return ReactSharedInternals.H.useTransition();
638638
};
639-
exports.version = "19.2.0-www-classic-62960c67-20250429";
639+
exports.version = "19.2.0-www-classic-49ea8bf5-20250430";

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -636,4 +636,4 @@ exports.useSyncExternalStore = function (
636636
exports.useTransition = function () {
637637
return ReactSharedInternals.H.useTransition();
638638
};
639-
exports.version = "19.2.0-www-modern-62960c67-20250429";
639+
exports.version = "19.2.0-www-modern-49ea8bf5-20250430";

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -640,7 +640,7 @@ exports.useSyncExternalStore = function (
640640
exports.useTransition = function () {
641641
return ReactSharedInternals.H.useTransition();
642642
};
643-
exports.version = "19.2.0-www-classic-62960c67-20250429";
643+
exports.version = "19.2.0-www-classic-49ea8bf5-20250430";
644644
"undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ &&
645645
"function" ===
646646
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
@@ -640,7 +640,7 @@ exports.useSyncExternalStore = function (
640640
exports.useTransition = function () {
641641
return ReactSharedInternals.H.useTransition();
642642
};
643-
exports.version = "19.2.0-www-modern-62960c67-20250429";
643+
exports.version = "19.2.0-www-modern-49ea8bf5-20250430";
644644
"undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ &&
645645
"function" ===
646646
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
@@ -19014,10 +19014,10 @@ __DEV__ &&
1901419014
(function () {
1901519015
var internals = {
1901619016
bundleType: 1,
19017-
version: "19.2.0-www-classic-62960c67-20250429",
19017+
version: "19.2.0-www-classic-49ea8bf5-20250430",
1901819018
rendererPackageName: "react-art",
1901919019
currentDispatcherRef: ReactSharedInternals,
19020-
reconcilerVersion: "19.2.0-www-classic-62960c67-20250429"
19020+
reconcilerVersion: "19.2.0-www-classic-49ea8bf5-20250430"
1902119021
};
1902219022
internals.overrideHookState = overrideHookState;
1902319023
internals.overrideHookStateDeletePath = overrideHookStateDeletePath;
@@ -19051,7 +19051,7 @@ __DEV__ &&
1905119051
exports.Shape = Shape;
1905219052
exports.Surface = Surface;
1905319053
exports.Text = Text;
19054-
exports.version = "19.2.0-www-classic-62960c67-20250429";
19054+
exports.version = "19.2.0-www-classic-49ea8bf5-20250430";
1905519055
"undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ &&
1905619056
"function" ===
1905719057
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
@@ -18786,10 +18786,10 @@ __DEV__ &&
1878618786
(function () {
1878718787
var internals = {
1878818788
bundleType: 1,
18789-
version: "19.2.0-www-modern-62960c67-20250429",
18789+
version: "19.2.0-www-modern-49ea8bf5-20250430",
1879018790
rendererPackageName: "react-art",
1879118791
currentDispatcherRef: ReactSharedInternals,
18792-
reconcilerVersion: "19.2.0-www-modern-62960c67-20250429"
18792+
reconcilerVersion: "19.2.0-www-modern-49ea8bf5-20250430"
1879318793
};
1879418794
internals.overrideHookState = overrideHookState;
1879518795
internals.overrideHookStateDeletePath = overrideHookStateDeletePath;
@@ -18823,7 +18823,7 @@ __DEV__ &&
1882318823
exports.Shape = Shape;
1882418824
exports.Surface = Surface;
1882518825
exports.Text = Text;
18826-
exports.version = "19.2.0-www-modern-62960c67-20250429";
18826+
exports.version = "19.2.0-www-modern-49ea8bf5-20250430";
1882718827
"undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ &&
1882818828
"function" ===
1882918829
typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop &&

0 commit comments

Comments
 (0)