Repository navigation
Fix hydration replay with Next 16 - #602
Merged
NewWorldVenture merged 7 commits intoSep 27, 2026
Merged
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub. |
This was referenced Sep 27, 2026
Merged
NewWorldVenture
pushed a commit
that referenced
this pull request
Sep 27, 2026
… that has it alone Review on #605 pointed out that Next 16 (#602) bundles a React that already fixes react/react#37584, and that the loader would reject it. Reading that React (Next 16.3.6's react-dom-client, 19.3.0-canary-cbb046ab) shows where React put the fix: in the replay's HostComponent case, right after the hooks reset, the replayed fiber that is the current hydration parent puts the parent back on its host parent and the cursor back on its node, or resumes hydration if it had been suspended for an insertion below it. The loader now injects exactly that code at exactly that site in Next 15.5's React (production and development, stable and experimental). The hydration helpers it calls (popToNextHostParent, tryToClaimNextHydratableInstance, resetHydrationState, popHydrationState) are identical in 19.2 and 19.3. A React whose site already carries the fix is returned unchanged, so #602 can land after this without touching it; a React without the site still fails the build. The test adds Next 16's case verbatim as a fixture that must come back unchanged, checks the injection sits between the hooks reset and the default branch, and parses the patched React. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01KP9rt5rVQ9jDMpZp2xBy3K
…260927 Brings the Next 16 upgrade onto current main so hosted CI verifies the combined source; no conflicts. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01776xJyhVe8xJQvTGeNfT9T
Main's #605 test asserted the installed react-dom client did not already carry react/react#37584's fix. Next 16.3.6 bundles React 19.3, which does, so the test failed on this branch in CI. It now asserts the installed React carries the fix and that the loader leaves it byte-identical, and still exercises the backport on the same file with React's fix removed. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01776xJyhVe8xJQvTGeNfT9T
main's CI at fda9dcf failed in Typecheck with "Ineffective mark-compacts near heap limit" (exit 134) at the 4,096 MB cap, after the same step had passed at that cap on the heads before it. The step runs alone after the build on a 16 GB runner, so it gets 6,144 MB. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01776xJyhVe8xJQvTGeNfT9T
…ade-20260927 finalaudit.md: keeps this branch's Last Updated line and main's P-01…P-22 page-audit pointer. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01776xJyhVe8xJQvTGeNfT9T
…n-upgrade-20260927 Audit docs keep this branch's CSP readiness checkpoint and its recount (13,830 NOT STARTED / 381 IN PROGRESS). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01776xJyhVe8xJQvTGeNfT9T
NewWorldVenture
marked this pull request as ready for review
September 27, 2026 21:50
NewWorldVenture
pushed a commit
that referenced
this pull request
Sep 27, 2026
… branch; batch table keeps B12 done and B13 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01DXw2nu25BjyRfA6Fg3YiMS
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Immediate replay of a suspended lazy child can produce React hydration error #418 even when the server and client trees match. Upgrade Next from 15.5.25 to 16.3.6, whose shipped renderer includes the upstream hydration-cursor fix, while retaining React 18.3.1 packages. The actual installed-renderer regression reproduces the old failure and passes on the candidate.
This branch includes PR601's current session, meal and page-control repairs and is based on main e96e745. Release PR601 first, then review this remaining framework delta. The combined candidate preserves every application route and current main navigation.
Changes:
{ expire: 0 }; update the corresponding argument assertions.applyinput and successful prior checks before any of the production migration workflow's five write steps. Dependency pushes retain read-only verification and cannot apply migrations/backfills. SQL, ledger safeguards, timeouts and production configuration are unchanged.Validation:
No production SQL, provider action, local app-server run, or live authenticated route crawl is claimed. The controlled renderer proof does not close the outstanding production page findings.
References: upstream React fix, Next 16 migration guide, explicit immediate cache expiry.