Skip to content

feat(router): loader errors settle into the signal .error channel - #8914

Open
maiieul wants to merge 4 commits into
claude/gracious-poitras-0f1723from
claude/error-channel
Open

feat(router): loader errors settle into the signal .error channel#8914
maiieul wants to merge 4 commits into
claude/gracious-poitras-0f1723from
claude/error-channel

Conversation

@maiieul

@maiieul maiieul commented Aug 5, 2026

Copy link
Copy Markdown
Member

What is it?

  • Feature / enhancement

Description

A plain throw new Error in a loader now settles the loader signal's .error instead of failing the response: an .error guard renders it inline, an unguarded .value read throws into the closest <ErrorBoundary>, and the page stays 200. Server-origin errors settle redacted (generic message + digest) at the settle site, so display, state, and the loader.json envelope carry the same redacted error. error()/ServerError and redirects still abort.

Also: an errored async signal keeps its stale value (.value returns it alongside .error, throwing only when nothing ever settled), a resumed errored signal is settled instead of refetching on first read, and loader error envelopes are never HTTP-cached.

@maiieul
maiieul requested a review from a team as a code owner August 5, 2026 07:16
@changeset-bot

changeset-bot Bot commented Aug 5, 2026

Copy link
Copy Markdown

🦋 Changeset detected

Latest commit: eb268b2

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

This PR includes changesets to release 5 packages
Name Type
@qwik.dev/router Minor
@qwik.dev/core Minor
eslint-plugin-qwik Minor
@qwik.dev/react Minor
create-qwik Minor

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

@maiieul maiieul self-assigned this Aug 5, 2026
@maiieul maiieul moved this to Waiting For Review in Qwik Development Aug 5, 2026
@pkg-pr-new

pkg-pr-new Bot commented Aug 5, 2026

Copy link
Copy Markdown

Open in StackBlitz

@qwik.dev/core

npm i https://pkg.pr.new/QwikDev/qwik/@qwik.dev/core@8914

@qwik.dev/router

npm i https://pkg.pr.new/QwikDev/qwik/@qwik.dev/router@8914

eslint-plugin-qwik

npm i https://pkg.pr.new/QwikDev/qwik/eslint-plugin-qwik@8914

create-qwik

npm i https://pkg.pr.new/QwikDev/qwik/create-qwik@8914

@qwik.dev/optimizer

npm i https://pkg.pr.new/QwikDev/qwik/@qwik.dev/optimizer@8914

@qwik.dev/devtools

npm i https://pkg.pr.new/QwikDev/qwik/@qwik.dev/devtools@8914

commit: eb268b2

@github-actions

github-actions Bot commented Aug 5, 2026

Copy link
Copy Markdown
Contributor
built with Refined Cloudflare Pages Action

⚡ Cloudflare Pages Deployment

Name Status Preview Last Commit
qwik-docs ✅ Ready (View Log) Visit Preview eb268b2

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

Labels

None yet

Projects

Status: Waiting For Review

Development

Successfully merging this pull request may close these issues.

1 participant