Skip to content

v0.2.12

Choose a tag to compare

@richcorbs richcorbs released this 29 Mar 03:22
· 858 commits to main since this release

v0.2.12

Bug Fixes

  • 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.