herminal v0.2.3 — exit closes the pane
Third stub-from-spike fix in the v0.2.0 → v0.2.3 audit window. `close_surface_cb` was an empty closure, so when the shell PTY child exited (`exit`, crash, PTY disconnect) the pane locked onto "Process exited" until the user manually ⌘W'd.
Fix
- `GhosttyApp.closeSurface` posts `surfaceDidCloseNotification` with the surfaceOwner.
- `WorkspaceView` listens, walks tabs/panes by identity, removes the matching pane.
- If the closed pane was the last in its tab, the tab is collapsed automatically.
- Skip the note-confirm prompt — the process exited on its own.
Three-day audit pass
- v0.2.1 — wired `read_clipboard_cb` + `write_clipboard_cb` to NSPasteboard
- v0.2.2 — forwarded mouse events to libghostty (selection)
- v0.2.3 — wired `close_surface_cb` (this release)
Plus the M11 `Scripts/verify-clipboard.sh` regression-guard runs the clipboard round-trip end-to-end every day so the v0.2.0 mistake stays caught.
Install
```bash
curl -LO https://github.com/hoangperry/herminal/releases/download/v0.2.3/herminal-v0.2.3.dmg
open herminal-v0.2.3.dmg
```
Signed + notarized + stapled.
Requirements
- macOS 14.0 (Sonoma) or later
- Apple Silicon (arm64)