v0.2.1 — Bug Fix Release
v0.2.1 — Bug Fix Release
All bugs found by a multi-agent automated audit of the v0.2.0 changes.
Fixes
Critical
- Terminal data race —
createTermSessionpreviously blocked the IPC response until OS detection finished (up to 2 s), causing early terminal output (MOTD, login banners) to be silently dropped. The IPC now resolves immediately; OS info arrives via a separatessh-os-detectedpush event with zero impact on terminal throughput.
Medium
- SSH mid-session error ignored —
client.on('error')after a session was established calledreject()(a no-op on a settled Promise) but never calledonClose, leaving the terminal tab stuck in a connected state. It now explicitly callsonCloseso the tab closes correctly. - TCP socket leak on unresponsive servers —
closeSessionsForConnectionwas missing the 5 sclient.destroy()fallback thatsshCloseSessionalready had. Fixed. - Import loses jump host — Importing a previously exported connection file discarded
jumpHostandjumpPortfields. Fixed. - HTTP test misleading on redirects — The ⚡ Test button reported
HTTP 301 ✓(green) for endpoints that always redirect, never actually testing the destination. It now follows one redirect before reporting.
Minor
- OS detection exec channel leak — When the 2 s detection timeout fired, the remote
execstream was left open. The stream is now destroyed on timeout. trcommand could corrupt unusual distro IDs —tr -d '"ID= 'deleted any character in that set from the distro name. Replaced withsed 's/^ID=//;s/"//g'which strips only the literal prefix and quotes.- osCache grows unbounded —
settings.jsonosCache was accepted with no entry limit. Now capped at 500 entries.