Describe the bug
In Solid 2.0.0-beta.14, errors thrown while executing server render effects are swallowed silently during SSR.
This can make SSR output successful child HTML even though render-time code threw. On the client/hydration path, the same kind of render-effect error would not silently disappear, so this can mask bugs and create server/client divergence.
This report is not saying a server render error must crash the server process. The issue is that the error disappears completely: it does not reach and it is not reported through any visible diagnostic/logging path.
Your Example Website or App
https://stackblitz.com/edit/solidjs-templates-hrrvgs2k?file=src%2Fentry-server.tsx
Steps to Reproduce the Bug or Issue
- Open the StackBlitz terminal.
- Run
npm run repro.
- Inspect the rendered HTML/string.
Expected behavior
Errors thrown while executing server render effects should not be silently swallowed.
When an <Errored> boundary exists, the error should reach that boundary:
error: server effect boom
The error should still be exposed through a server-side reporting/diagnostic path instead of disappearing silently.
Screenshots or Videos
No response
Platform
- OS: macOS
- Runtime: Node.js
- Version: current
next at d8921ac1
Additional context
This appears related to packages/solid/src/server/signals.ts, where server effect execution catches and ignores errors:
try {
// compute/effect work
} catch (err) {
// Swallow errors from effects on server
}
Describe the bug
In Solid 2.0.0-beta.14, errors thrown while executing server render effects are swallowed silently during SSR.
This can make SSR output successful child HTML even though render-time code threw. On the client/hydration path, the same kind of render-effect error would not silently disappear, so this can mask bugs and create server/client divergence.
This report is not saying a server render error must crash the server process. The issue is that the error disappears completely: it does not reach and it is not reported through any visible diagnostic/logging path.
Your Example Website or App
https://stackblitz.com/edit/solidjs-templates-hrrvgs2k?file=src%2Fentry-server.tsx
Steps to Reproduce the Bug or Issue
npm run repro.Expected behavior
Errors thrown while executing server render effects should not be silently swallowed.
When an
<Errored>boundary exists, the error should reach that boundary:The error should still be exposed through a server-side reporting/diagnostic path instead of disappearing silently.
Screenshots or Videos
No response
Platform
nextatd8921ac1Additional context
This appears related to
packages/solid/src/server/signals.ts, where server effect execution catches and ignores errors: