You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Let say I have a protected route createFileRoute("/(app)/_authed") where I will throw an error
e.g. if (!authSession) { throw new Error("Unauthorized", { cause: 401 }); }
Right now this is working only client-side. The error message and cause is caught and displayed by the defaultErrorComponent.
However if i do a full page refresh and fetch from the server with SSR I get a brief flash of the "401 Unauthorised" but then it seems like after the page hydrates, it then shows "Undefined Unauthorised" as the cause from the error is gone.
Im suspecting this might be related to the GET http://localhost:3000/my-todos 500 (Internal Server Error) call.
#5518 - Solid hydration [merged] #5541 - fix: set statusCode to 500 if error occurs [merged] #5647 - test(solid-start): fix dev server for suspense transition [merged] #5686 - fix(router-core): Catch errors thrown during hydrate [merged] #5964 - fix: no remounting with ssr:false [merged]
the default Error serializer only serializes message, you are relying in cause which is not serialized. if you need this, you need to add a custom serialization adapter
Activity
coderabbitai commentedon Dec 15, 2025
📝 CodeRabbit Plan Mode
Generate an implementation plan and prompts that you can use with your favorite coding agent.
Examples
🔗 Related PRs
#5518 - Solid hydration [merged]
#5541 - fix: set statusCode to 500 if error occurs [merged]
#5647 - test(solid-start): fix dev server for suspense transition [merged]
#5686 - fix(router-core): Catch errors thrown during hydrate [merged]
#5964 - fix: no remounting with ssr:false [merged]
👤 Suggested Assignees
🧪 Issue enrichment is currently in early access.
To disable automatic issue enrichment, add the following to your
.coderabbit.yaml:leonardo2204 commentedon Jan 3, 2026
I'm having the same problem, and it's even worse, because I'm throwing from route, and the index.tsx is stuck in pending state
schiller-manuel commentedon Mar 30, 2026
the default Error serializer only serializes
message, you are relying incausewhich is not serialized. if you need this, you need to add a custom serialization adapter