Changelog
Bug fixes
- 78f7ba0 / 0abb987 Make
caam runa transparent terminal proxy (Fixes #74) — the proxied PTY now inherits the real terminal's window size at startup and follows it via SIGWINCH forwarding; the outer terminal enters raw mode (restored on all exit paths) so keystroke escape bytes reach the child instead of being echoed onto the output stream; stdin is relayed verbatim. Also fixes macOS PTY reads failing instantly: the PTY master is not deadline-capable there (kqueue refuses/dev/ptmx), soReadOutput/WaitForPatternnow shareReadLine's poll(2)-based approach. - 63ca467 / 4d2af22 Key Claude vault matching on rotation-stable account identity (Fixes #73) —
ActiveProfilematching keys on the OAuth account uuid/email persisted in profile metadata instead of raw token bytes, a freshness comparison decides restore direction, andResnapshotOutgoingrefuses to overwrite a snapshot with empty-refresh-token residue — activate no longer forces a re-login after every refresh-token rotation. The per-installationuserIDis deliberately excluded from identity (it is shared across accounts on one machine). - f3228cd Single-flight PTY child reaping —
WaitandCloseno longer race twocmd.Waitcalls; readers report EOF promptly once the child exits and drain buffered output on POLLHUP before EOF (Linux previously dropped it). A known Darwin kernel race that can discard the final output of a child that writes and exits near-instantly is documented ininternal/pty.
Verification
Assets are signed with the pinned caam release key (cosign.pub in the repository), matching the fallback verification path in install.sh:
cosign verify-blob --key cosign.pub --bundle SHA256SUMS.sig SHA256SUMS
Full Changelog: v0.1.16...v0.1.17