Skip to content

Fix rejected streamed data after delayed loads#16268

Open
scarab-systems wants to merge 1 commit into
sveltejs:mainfrom
scarab-systems:fix-streamed-data-rejection
Open

Fix rejected streamed data after delayed loads#16268
scarab-systems wants to merge 1 commit into
sveltejs:mainfrom
scarab-systems:fix-streamed-data-rejection

Conversation

@scarab-systems

Copy link
Copy Markdown

Fixes #9785

Summary

Thanks for SvelteKit. I really appreciate the care that goes into this project.

This PR fixes a timing issue in streamed server data handling. Previously, the JSON data response waited for all server load promises to settle before serializing any node. If one load returned a rejected streamed promise while another load was still pending, the rejection could occur before SvelteKit had attached the stream rejection handler.

The change creates the JSON data serializer earlier and adds each node as its load result resolves, while still waiting for all nodes before emitting the final data response. That preserves the response shape/order but attaches stream handlers earlier.

I also added a regression route/test where one server load delays serialization and another returns a rejected streamed promise.

Validation

Passed:

  • pnpm exec prettier --check ... on touched files
  • pnpm --dir packages/kit check
  • pnpm --dir packages/kit/test/apps/basics check
  • pnpm run lint
  • pnpm run check
  • Focused Playwright regression in dev mode
  • Focused Playwright regression in build/preview mode

I also ran pnpm test:kit locally with reduced workers/retries. The new regression passed inside that run, but the full command failed on an existing unrelated no-SSR dev test (SPA mode / no SSR › cannot use browser-only global on page because of ssr config in +page.js). I did not change that area.

Disclosure: I used AI-assisted coding tools while preparing this PR. I reviewed the changes myself, tested them, and take responsibility for the implementation and any follow-up revisions needed.

If this project does not accept AI-assisted contributions, please let us know up front so we can avoid spending time on a contribution that the project is unwilling to consider.

@pkg-svelte-dev

pkg-svelte-dev Bot commented Jul 7, 2026

Copy link
Copy Markdown

Install the latest version of @sveltejs/kit from 83f2ce2:

pnpm add https://pkg.svelte.dev/@sveltejs/kit/c/83f2ce23cdbd0e72fb7aa4a11d5e62237988fd3c

Open in pkg.svelte.dev: https://pkg.svelte.dev/repos/kit/pr/16268

Note

This PR is from a fork. A maintainer must approve approve each commit before it can be built and installed.

@changeset-bot

changeset-bot Bot commented Jul 7, 2026

Copy link
Copy Markdown

🦋 Changeset detected

Latest commit: 83f2ce2

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 1 package
Name Type
@sveltejs/kit Patch

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Rejecting streamed data

1 participant