Fix hydration of suspense fragments that contain text nodes (#3287)
* Fix hydration of suspense fragments that contain text nodes * fix release builds * disable link deduplication * restore meta tag deduplication * Add a test for the failed hydration case * make changes to the document trait non-breaking * remove info log from server future hook * restore default implementation - this was also a breaking change * fix semver breakage * clean up server_future * Cleanup unused code * fix clippy --------- Co-authored-by: Jonathan Kelley <jkelleyrtp@gmail.com>
This commit is contained in:
1 parent
57d637184f
commit
d41ab3a756
33 files changed
+644
-222
No files matched your search
@@ -4,13 +4,18 @@ import "./hydrate_types";
|
||||
window.hydrate_queue = [];
|
||||
|
||||
// @ts-ignore
|
||||
window.dx_hydrate = (id: number[], data: string) => {
|
||||
window.dx_hydrate = (
|
||||
id: number[],
|
||||
data: string,
|
||||
debug_types: string[] | null,
|
||||
debug_locations: string[] | null
|
||||
) => {
|
||||
// First convert the base64 encoded string to a Uint8Array
|
||||
const decoded = atob(data);
|
||||
const bytes = Uint8Array.from(decoded, (c) => c.charCodeAt(0));
|
||||
if (window.hydration_callback) {
|
||||
window.hydration_callback(id, bytes);
|
||||
window.hydration_callback(id, bytes, debug_types, debug_locations);
|
||||
} else {
|
||||
window.hydrate_queue.push([id, bytes]);
|
||||
window.hydrate_queue.push([id, bytes, debug_types, debug_locations]);
|
||||
}
|
||||
};
|
||||
Reference in new issue
Block a user