summaryrefslogtreecommitdiffhomepage
path: root/packaging/[email protected]
diff options
context:
space:
mode:
authorAdam Malczewski <[email protected]>2026-06-28 12:31:18 +0900
committerAdam Malczewski <[email protected]>2026-06-28 12:31:18 +0900
commitd09a4f8ae041536dc7d37a384971058248d7b995 (patch)
tree25745f2443699f257eef5d61ab10f33fe60f10a4 /packaging/[email protected]
parente3a85ab476cdfaa49982078aba3b6792331185cb (diff)
downloaddispatch-d09a4f8ae041536dc7d37a384971058248d7b995.tar.gz
dispatch-d09a4f8ae041536dc7d37a384971058248d7b995.zip
fix(ssh,host-bin): permanent pooled-client error listener + uncaughtException/unhandledRejection guards
Root cause of the live production crash (exit-1 'Timed out while waiting for handshake'): the pooled ssh2.Client had no permanent 'error' listener after connect, so a post-connect ssh2 error escaped as an uncaught EventEmitter 'error' with no process-level guard. See notes/crash-investigation-findings.md ยง1. - packages/ssh/src/pool.ts: attach a permanent 'error' listener to the pooled client in buildConnection that sets state=error, logs (alias, message, level), and does not throw; cleanup() no longer removes it. - packages/host-bin/src/main.ts: add process.on('uncaughtException') (graceful shutdown after logging) and process.on('unhandledRejection') (log + continue), both logging message/stack, memory snapshot, activeConversations count, and timestamp so the failure site is observable.
Diffstat (limited to 'packaging/[email protected]')
0 files changed, 0 insertions, 0 deletions