From 1804066f6762da3a157432ea7ec85a92d730b1b1 Mon Sep 17 00:00:00 2001 From: Tanner Linsley Date: Tue, 27 Oct 2026 22:21:46 -0600 Subject: [PATCH 1/3] fix: adopt inline metadata during document hydration --- .changeset/hydration-inline-metadata.md | 5 + .../hydration-inline-metadata/README.md | 13 + .../router-framework-react-development.json | 41 + .../router-framework-react-production.json | 41 + .../router-framework-redact-development.json | 40 + .../router-framework-redact-production.json | 41 + .../router-framework-redact-production.json | 42 + .../hydration-inline-metadata/size-delta.json | 767 ++++++++++++++++++ .../redact/src/dom/features/hydration/full.ts | 23 +- tests/document-hydration.test.tsx | 27 + 10 files changed, 1028 insertions(+), 12 deletions(-) create mode 100644 .changeset/hydration-inline-metadata.md create mode 100644 benchmarks/results/hydration-inline-metadata/README.md create mode 100644 benchmarks/results/hydration-inline-metadata/after/router-framework-react-development.json create mode 100644 benchmarks/results/hydration-inline-metadata/after/router-framework-react-production.json create mode 100644 benchmarks/results/hydration-inline-metadata/after/router-framework-redact-development.json create mode 100644 benchmarks/results/hydration-inline-metadata/after/router-framework-redact-production.json create mode 100644 benchmarks/results/hydration-inline-metadata/before/router-framework-redact-production.json create mode 100644 benchmarks/results/hydration-inline-metadata/size-delta.json diff --git a/.changeset/hydration-inline-metadata.md b/.changeset/hydration-inline-metadata.md new file mode 100644 index 0000000..3826e82 --- /dev/null +++ b/.changeset/hydration-inline-metadata.md @@ -0,0 +1,5 @@ +--- +'@tanstack/redact': patch +--- + +Adopt server-rendered metadata that remains in the document body during hydration. This prevents React Router's production module-preload links from triggering body replacement and preserves the existing interactive DOM. diff --git a/benchmarks/results/hydration-inline-metadata/README.md b/benchmarks/results/hydration-inline-metadata/README.md new file mode 100644 index 0000000..6221772 --- /dev/null +++ b/benchmarks/results/hydration-inline-metadata/README.md @@ -0,0 +1,13 @@ +# Inline metadata hydration fix + +Base: main commit `89f2bfc58135fdf5fcb29af4c346680e0eda2763`. + +Before the change, the added document-hydration regression fails with `expected