mirror of
https://github.com/vercel/next.js.git
synced 2026-09-20 02:25:18 +08:00
b145ad6f3f
### What? Prevent a real client HMR update from being discarded when it arrives as the first subscription emission. ### Why? Capturing the chunk baseline and installing the update subscription are separate asynchronous operations. A change between them turns the first emission into a real update, but the client handler previously assumed that emission was always initialization-only and dropped it after the server had advanced its version state. ### How? Inspect the first subscription result and preserve the existing issues-only initialization behavior while forwarding partial or restart updates through the normal issue and browser-update paths. This is the narrower option because it does not change handling of the usual initial issues payload. ### Verification - `pnpm --filter=next build` - `HEADLESS=true pnpm test-dev-turbo test/development/app-dir/hmr-dynamic-component/hmr-dynamic-component.test.ts` (including a locally controlled baseline-to-subscription race) - Prettier and ESLint on the changed source <!-- NEXT_JS_LLM --> <!-- fleet 3820fb8a-c662-4c74-8316-e2d7cd42bfbd --> --------- Co-authored-by: vercel-fleet-prod[bot] <318278635+vercel-fleet-prod[bot]@users.noreply.github.com> Co-authored-by: Tobias Koppers <1365881+sokra@users.noreply.github.com>