You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Critical: Fix kill(-1, SIGTERM) on PTY double-close — Calling Pty.close() twice would send SIGTERM to every user-owned process on the system. close() is now idempotent with guards on master_fd and child_pid. Also sets exited = true for consistent state.
Improvements
Reset terminal pane on shell exit — When the last (sole) pane's shell process exits (Ctrl+C, Ctrl+D, or command completion), the terminal now resets to an empty state: PTY is closed, vterm is reinitialized, scrollback is cleared, and selection/cursor/focus border are removed. Re-clicking the sidebar item respawns the shell.
Add Pty.isClosed() API — UI code no longer inspects master_fd directly. Border, cursor, and reset logic all use the new method.
Tests
Added 4 new PTY tests: idempotent close, isClosed state, hasExited with negative pid, read/write on closed PTY.