Repository navigation
v1.2.6 — nothing left running behind you
Three leaks, one release.
- The router is torn down even when autoStart is off. The supervisor cleanup used to be gated behind the autoStart branch, so a server started from the panel, a tool or ensureRouter kept running — and kept holding its port — after the fiber went away.
- A failed spawn is an error the panel can show, not a crashed host. The child never had an 'error' listener, and a failed spawn emits 'error' without emitting 'exit'; an unhandled 'error' event throws in the host. A missing or unexecutable server binary could take DSH down with it. It now fails fast instead of waiting out the 25s grace period.
- The request budget is released on every exit. The adapter only cleared its timeout and abort listener on the paths that reached the fetch, so a synchronous validation throw leaked both for the whole requestTimeoutMs.
smoke.mjs: 33 → 35 checks, including a behavioural one that a package with no bundled runtime rejects within seconds, naming the missing piece.