mirror of
https://github.com/diegosouzapw/OmniRoute.git
synced 2026-09-14 02:42:24 +03:00
OmniRoute's SSE teardown aborts in-flight legs with `Error [AbortError]: request_signal_aborted` on client disconnects (open-sse/utils/streamHandler.ts getClientAbortReason), and fetch/DOM cancellation surfaces as AbortError with an abort-flavoured message. isClientAbortError() only matched message 'aborted'/'Aborted' plus errno codes, so these shapes fell through shouldSwallowUncaught() and were re-thrown from the process-level uncaughtException/unhandledRejection handlers — killing the whole server on a routine client disconnect (observed as repeated exit-code-7 crashes with 'uncaughtException: Error [AbortError]: request_signal_aborted'). Match AbortError by name when the message is abort-flavoured; genuine errors that merely mention 'abort' (e.g. TypeError) still crash loudly. Tests: new unit cases for the SSE/DOM AbortError shapes, a child-process regression proving the process survives both benign emissions with the production no-logger install shape, and a child-process test proving genuine errors keep crash semantics.