Skip to content

Commit 5dbb6a2

Browse files
committed
[Fizz] Split ResponseState/Resources into RenderState/ResumableState (#27268)
This exposes a `resume()` API to go with the `prerender()` (only in experimental). It doesn't work yet since we don't yet emit the postponed state so not yet tested. The main thing this does is rename ResponseState->RenderState and Resources->ResumableState. We separated out resources into a separate concept preemptively since it seemed like separate enough but probably doesn't warrant being a separate concept. The result is that we have a per RenderState in the Config which is really just temporary state and things that must be flushed completely in the prerender. Most things should be ResumableState. Most options are specified in the `prerender()` and transferred into the `resume()` but certain options that are unique per request can't be. Notably `nonce` is special. This means that bootstrap scripts and external runtime can't use `nonce` in this mode. They need to have a CSP configured to deal with external scripts, but not inline. We need to be able to restore state of things that we've already emitted in the prerender. We could have separate snapshot/restore methods that does this work when it happens but that means we have to explicitly do that work. This design is trying to keep to the principle that we just work with resumable data structures instead so that we're designing for it with every feature. It also makes restoring faster since it's just straight into the data structure. This is not yet a serializable format. That can be done in a follow up. We also need to vet that each step makes sense. Notably stylesToHoist is a bit unclear how it'll work. DiffTrain build for commit 31034b6.
1 parent 19036c8 commit 5dbb6a2

File tree

7 files changed

+9
-9
lines changed

7 files changed

+9
-9
lines changed

compiled-rn/facebook-fbsource/xplat/js/RKJSModules/vendor/react-test-renderer/cjs/ReactTestRenderer-dev.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23977,7 +23977,7 @@ function createFiberRoot(
2397723977
return root;
2397823978
}
2397923979

23980-
var ReactVersion = "18.3.0-canary-86198b923-20230822";
23980+
var ReactVersion = "18.3.0-canary-31034b6de-20230822";
2398123981

2398223982
// Might add PROFILE later.
2398323983

compiled-rn/facebook-fbsource/xplat/js/RKJSModules/vendor/react-test-renderer/cjs/ReactTestRenderer-prod.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8612,7 +8612,7 @@ var devToolsConfig$jscomp$inline_1029 = {
86128612
throw Error("TestRenderer does not support findFiberByHostInstance()");
86138613
},
86148614
bundleType: 0,
8615-
version: "18.3.0-canary-86198b923-20230822",
8615+
version: "18.3.0-canary-31034b6de-20230822",
86168616
rendererPackageName: "react-test-renderer"
86178617
};
86188618
var internals$jscomp$inline_1228 = {
@@ -8643,7 +8643,7 @@ var internals$jscomp$inline_1228 = {
86438643
scheduleRoot: null,
86448644
setRefreshHandler: null,
86458645
getCurrentFiber: null,
8646-
reconcilerVersion: "18.3.0-canary-86198b923-20230822"
8646+
reconcilerVersion: "18.3.0-canary-31034b6de-20230822"
86478647
};
86488648
if ("undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__) {
86498649
var hook$jscomp$inline_1229 = __REACT_DEVTOOLS_GLOBAL_HOOK__;

compiled-rn/facebook-fbsource/xplat/js/RKJSModules/vendor/react-test-renderer/cjs/ReactTestRenderer-profiling.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9038,7 +9038,7 @@ var devToolsConfig$jscomp$inline_1071 = {
90389038
throw Error("TestRenderer does not support findFiberByHostInstance()");
90399039
},
90409040
bundleType: 0,
9041-
version: "18.3.0-canary-86198b923-20230822",
9041+
version: "18.3.0-canary-31034b6de-20230822",
90429042
rendererPackageName: "react-test-renderer"
90439043
};
90449044
var internals$jscomp$inline_1269 = {
@@ -9069,7 +9069,7 @@ var internals$jscomp$inline_1269 = {
90699069
scheduleRoot: null,
90709070
setRefreshHandler: null,
90719071
getCurrentFiber: null,
9072-
reconcilerVersion: "18.3.0-canary-86198b923-20230822"
9072+
reconcilerVersion: "18.3.0-canary-31034b6de-20230822"
90739073
};
90749074
if ("undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__) {
90759075
var hook$jscomp$inline_1270 = __REACT_DEVTOOLS_GLOBAL_HOOK__;

compiled-rn/facebook-fbsource/xplat/js/RKJSModules/vendor/react/cjs/React-dev.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ if (
2727
}
2828
"use strict";
2929

30-
var ReactVersion = "18.3.0-canary-86198b923-20230822";
30+
var ReactVersion = "18.3.0-canary-31034b6de-20230822";
3131

3232
// ATTENTION
3333
// When adding new symbols to this file,

compiled-rn/facebook-fbsource/xplat/js/RKJSModules/vendor/react/cjs/React-prod.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -616,4 +616,4 @@ exports.useSyncExternalStore = function (
616616
exports.useTransition = function () {
617617
return ReactCurrentDispatcher.current.useTransition();
618618
};
619-
exports.version = "18.3.0-canary-86198b923-20230822";
619+
exports.version = "18.3.0-canary-31034b6de-20230822";

compiled-rn/facebook-fbsource/xplat/js/RKJSModules/vendor/react/cjs/React-profiling.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -619,7 +619,7 @@ exports.useSyncExternalStore = function (
619619
exports.useTransition = function () {
620620
return ReactCurrentDispatcher.current.useTransition();
621621
};
622-
exports.version = "18.3.0-canary-86198b923-20230822";
622+
exports.version = "18.3.0-canary-31034b6de-20230822";
623623

624624
/* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */
625625
if (
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
86198b923199224b60533952b636348bb0484a6d
1+
31034b6de73c7cd9093e92a34e384d84c082aa4e

0 commit comments

Comments
 (0)