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 uses the same mechanism as [large
strings](#26932) to encode chunks
of length based binary data in the RSC payload behind a flag.
I introduce a new BinaryChunk type that's specific to each stream and
ways to convert into it. That's because we sometimes need all chunks to
be Uint8Array for the output, even if the source is another array buffer
view, and sometimes we need to clone it before transferring.
Each type of typed array is its own row tag. This lets us ensure that
the instance is directly in the right format in the cached entry instead
of creating a wrapper at each reference. Ideally this is also how
Map/Set should work but those are lazy which complicates that approach a
bit.
We assume both server and client use little-endian for now. If we want
to support other modes, we'd convert it to/from little-endian so that
the transfer protocol is always little-endian. That way the common
clients can be the fastest possible.
So far this only implements Server to Client. Still need to implement
Client to Server for parity.
NOTE: This is the first time we make RSC effectively a binary format.
This is not compatible with existing SSR techniques which serialize the
stream as unicode in the HTML. To be compatible, those implementations
would have to use base64 or something like that. Which is what we'll do
when we move this technique to be built-in to Fizz.
DiffTrain build for commit d9c3331.
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
@@ -23991,7 +23991,7 @@ function createFiberRoot(
23991
23991
return root;
23992
23992
}
23993
23993
23994
-
var ReactVersion = "18.3.0-canary-2153a2966-20230628";
23994
+
var ReactVersion = "18.3.0-canary-d9c333199-20230629";
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
@@ -8646,7 +8646,7 @@ var devToolsConfig$jscomp$inline_1036 = {
8646
8646
throwError("TestRenderer does not support findFiberByHostInstance()");
8647
8647
},
8648
8648
bundleType: 0,
8649
-
version: "18.3.0-canary-2153a2966-20230628",
8649
+
version: "18.3.0-canary-d9c333199-20230629",
8650
8650
rendererPackageName: "react-test-renderer"
8651
8651
};
8652
8652
varinternals$jscomp$inline_1238={
@@ -8677,7 +8677,7 @@ var internals$jscomp$inline_1238 = {
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
@@ -9072,7 +9072,7 @@ var devToolsConfig$jscomp$inline_1078 = {
9072
9072
throwError("TestRenderer does not support findFiberByHostInstance()");
9073
9073
},
9074
9074
bundleType: 0,
9075
-
version: "18.3.0-canary-2153a2966-20230628",
9075
+
version: "18.3.0-canary-d9c333199-20230629",
9076
9076
rendererPackageName: "react-test-renderer"
9077
9077
};
9078
9078
varinternals$jscomp$inline_1279={
@@ -9103,7 +9103,7 @@ var internals$jscomp$inline_1279 = {
0 commit comments