mirror of
https://github.com/stablyai/orca.git
synced 2026-10-22 00:03:47 +00:00
* fix(terminal): deliver SIGWINCH to the PTY foreground process group A real window-size change is delivered by the kernel to the terminal's foreground process group, but Orca signalled the pty's root pid. The root is never in that group: the shell setpgid's away for job control, a foreground TUI forms a third group again, and on macOS the root is login(1), which neither handles nor forwards SIGWINCH. So the explicit reattach repaint signal reached a running TUI on no platform, and on macOS reached nothing at all. Resolve the tty's tpgid and signal the negated group instead, pinned to the slave device captured at spawn so a recycled pid cannot aim at a real terminal. Scoped to SIGWINCH: destructive signals keep the narrower root-pid target and the descendant-sweep identity machinery. POSIX-only, so Windows keeps its current behavior where a negative pid is invalid and SIGTERM means terminate. Applied on the relay too, so SSH hosts get it; that is host-local with no wire change. * fix(terminal): bound foreground group lookup latency * fix(terminal): preserve SIGWINCH fallback on signal errors