v2.16.1
A stability patch. The headline: on slow or loaded machines the daemon's process monitor could mistake a probe timeout for a dead process and reap a session that was actually alive, so sessions appeared to close on their own. That's fixed. It also quiets an Uncaught (in promise) console flood on relaunch and adds session-death logging so future "why did my session close" reports are diagnosable.
Fixed
- Live sessions are no longer killed on a probe timeout. ProcessMonitor treated a slow or timed-out
tasklistprobe as proof the process had died and reaped the still-alive session — the cause behind sessions closing by themselves under CPU contention or a Defender scan. It now reaps only on positive confirmation of death; a probe that fails or times out defers instead of killing. - No more
Uncaught (in promise)flood on relaunch. A burst of terminal resizes during reconnect could exceed the daemon's per-socket rate limit, and the renderer never caught the rejection, spamming the console. Resize calls now swallow the transient rejection and re-send the live geometry once after the rate window clears, so a resize dropped during the burst self-heals instead of leaving the terminal stuck at the wrong size.
Added
- PTY session-death logging. When a session dies the daemon now logs its exit code, signal, and idle time, so an unexpected session close can be diagnosed from the log instead of guessed at.
What's Changed
- feat: cross-platform release — macOS + Linux (opt-in) by @openwong2kim in #85
- fix(daemon): dispose PTYs on external workspace.close + surface background session count in tray by @openwong2kim in #86
- release(v2.16.1): daemon false-death fix + pty:resize console-spam fix by @openwong2kim in #87
Full Changelog: v2.16.0...v2.16.1