Complete Remix 3 server error handling #24664
Copy link
Copy link
Closed
Labels
Description
Cover the error paths the router middleware alone does not see, and stop reporting things that are not faults.
- Patch
createRequestListenerin@remix-run/node-fetch-serverand install anonErrorthat chains to the app's own. This is the only thing covering an app whose fetch handler does not use fetch-router. - Skip aborted requests.
raceRequestAbortrejects with the request's abort reason when a client disconnects, so without this every user navigating away mid request creates an issue. - Add a
shouldHandleErroroption on the integration, following the@sentry/honoconvention: skip 3xx and 4xx errors carrying a numericstatus, capture the rest.
No de-duplication needed when a failure is seen by both the middleware and onError. captureException already marks the value __sentry_captured__ and drops the second report.
A handler returning a 500 response is not an error. Nothing is thrown, so no issue is created and the status lands on the span.
Done when e2e covers the abort case and the non-router handler case. The abort test must fail if the guard is removed.
Reactions are currently unavailable
Activity
linear-code commentedon Sep 23, 2026
JS-3767
feat(remix): Complete Remix 3 server error handling (#24878)
github-actions commentedon Oct 2, 2026
A PR closing this issue has just been released 🚀
This issue was referenced by PR #24878, which was included in the 11.3.0 release.