Fix: avoid async SSR context race with concurrent rendersync ssr #17351
+17
−13
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.
Summary:
Issue: #17345
packages/svelte/src/internal/server/render-context.js: rely on per-render AsyncLocalStorage (als.getStore()) and use a fallback_context only when ALS isn’t available (e.g., webcontainer). Removes the shared module-level context so overlapping SSR renders don’t clobber each other and trigger server_context_required.
Added .changeset/async-ssr-context.md marking svelte for a patch release.
pnpm install --frozen-lockfile
pnpm exec playwright install chromium
pnpm -C packages/svelte build
pnpm test (all 27 files passed; existing SSR/hydration warnings still surface but no failures)
pnpm lint
Branch fix-async-ssr has the code change and the new changeset untracked.