You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This fixes so that you can postpone in a fallback. This postpones the
parent boundary. I track the fallbacks in a separate replay node so that
when we resume, we can replay the fallback itself and finish the
fallback and then possibly later the content. By doing this we also
ensure we don't complete the parent too early since now it has a render
task on it.
There is one case that this surfaces that isn't limited to
prerender/resume but also render/hydrateRoot. I left todos in the tests
for this.
If you postpone in a fallback, and suspend in the content but eventually
don't postpone in the content then we should be able to just skip
postponing since the content rendered and we no longer need the
fallback. This is a bit of a weird edge case though since fallbacks are
supposed to be very minimal.
This happens because in both cases the fallback starts rendering early
as soon as the content suspends. This also ensures that the parent
doesn't complete early by increasing the blocking tasks. Unfortunately,
the fallback will irreversibly postpone its parent boundary as soon as
it hits a postpone.
When you suspend, the same thing happens but we typically deal with this
by doing a "soft" abort on the fallback since we don't need it anymore
which unblocks the parent boundary. We can't do that with postpone right
now though since it's considered a terminal state.
I think I'll just leave this as is for now since it's an edge case but
it's an annoying exception in the model. Makes me feel I haven't quite
nailed it just yet.
DiffTrain build for commit bff6be8.
Copy file name to clipboardExpand all lines: compiled-rn/facebook-fbsource/xplat/js/RKJSModules/vendor/react-test-renderer/cjs/ReactTestRenderer-dev.js
+1-1Lines changed: 1 addition & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -23985,7 +23985,7 @@ function createFiberRoot(
23985
23985
return root;
23986
23986
}
23987
23987
23988
-
var ReactVersion = "18.3.0-canary-94d5b5b2b-20230925";
23988
+
var ReactVersion = "18.3.0-canary-bff6be8eb-20230925";
Copy file name to clipboardExpand all lines: compiled-rn/facebook-fbsource/xplat/js/RKJSModules/vendor/react-test-renderer/cjs/ReactTestRenderer-prod.js
+2-2Lines changed: 2 additions & 2 deletions
Original file line number
Diff line number
Diff line change
@@ -8620,7 +8620,7 @@ var devToolsConfig$jscomp$inline_1027 = {
8620
8620
throwError("TestRenderer does not support findFiberByHostInstance()");
8621
8621
},
8622
8622
bundleType: 0,
8623
-
version: "18.3.0-canary-94d5b5b2b-20230925",
8623
+
version: "18.3.0-canary-bff6be8eb-20230925",
8624
8624
rendererPackageName: "react-test-renderer"
8625
8625
};
8626
8626
varinternals$jscomp$inline_1226={
@@ -8651,7 +8651,7 @@ var internals$jscomp$inline_1226 = {
Copy file name to clipboardExpand all lines: compiled-rn/facebook-fbsource/xplat/js/RKJSModules/vendor/react-test-renderer/cjs/ReactTestRenderer-profiling.js
+2-2Lines changed: 2 additions & 2 deletions
Original file line number
Diff line number
Diff line change
@@ -9046,7 +9046,7 @@ var devToolsConfig$jscomp$inline_1069 = {
9046
9046
throwError("TestRenderer does not support findFiberByHostInstance()");
9047
9047
},
9048
9048
bundleType: 0,
9049
-
version: "18.3.0-canary-94d5b5b2b-20230925",
9049
+
version: "18.3.0-canary-bff6be8eb-20230925",
9050
9050
rendererPackageName: "react-test-renderer"
9051
9051
};
9052
9052
varinternals$jscomp$inline_1267={
@@ -9077,7 +9077,7 @@ var internals$jscomp$inline_1267 = {
0 commit comments