v3.4.1
Three fixes: the terminal gets its mouse mode back when a full-screen program
closes, NixOS builders can run the launch suites, and a flaky probe no longer
fails SSH setup.
Backward compatible: no configuration key, CLI flag, or saved policy changes.
Fixed
-
Leaving the alternate screen now clears the modes the program turned off
(#237). ai-jail repaints the outer terminal on an alternate-screen
transition, and vt100'sstate_formattedwrites input modes as changes from
the terminal defaults. A mode the program switched off in the same chunk as
?1049ltherefore emitted nothing, so a picker that enabled mouse tracking
(omp's/model:?1000h ?1003h ?1006h ?1049h, close with?1006l ?1003l ?1000l ?1049l) left the terminal reporting the mouse and the wheel stopped
scrolling the scrollback. The transition now rebuilds the contents and emits
the input-mode diff against the screen the outer terminal is showing, so
every changed mode, including the resets, reaches it. Bracketed paste,
application cursor, and application keypad use the same diff. -
The launch suites run on NixOS builders (#236, #235). Three groups of
tests assumed Ubuntu's environment: the audit suite inherited a symlinked
HOMEthroughXDG_CONFIG_HOME, two worktree launches hard-coded
/usr/bin/true, andsandbox_escapeneeded a writable home that the Nix
builder's/homeless-shelteris not. The flake now supplies the standard
writable-temp-home hook tonativeCheckInputs, the audit suite sets its own
XDG_CONFIG_HOME, and the launches resolvetruethroughPATH. No symlink
check or test was relaxed. Thanks @pqitr. -
The ssh-add capability probe retries a busy executable. With the Nix
build now reaching the launch suites, the probe intermittently failed with
ETXTBSY: another thread's fork can hold a freshly written fixture open for
writing at the moment the probe execs it. The probe retries briefly instead
of failing launch setup, with a test that holds a writer open across it.
Notes
- New coverage: the alternate-screen input-mode reset (fails on the previous
renderer), and the busy-executable retry path. - CI's nix job now exercises the launch suites it previously skipped, so the
NixOS coverage is real rather than nominal.
See the security model for the terminal-output boundary
these fixes sit behind.
Checksums (SHA256)
b4f02b2c414e5228e2ecebf2a65eb8493fb0ec678db68dfe795e0a1e6b5874dc ai-jail-linux-x86_64.tar.gz
92ca6ac800edabe5d7bc1adda024c1b1a26299b4612c2e51da9b6e662b804ee6 ai-jail-macos-aarch64.tar.gz
d569b5a8cc113cd837fe666d5012c72aacaf6370a13cf1da3178a83dc9114791 ai-jail_3.4.1_amd64.deb
Install
brew tap akitaonrails/tap && brew install ai-jail
yay -S ai-jail-bin
cargo install --locked ai-jail
# Debian/Ubuntu: download the .deb below, then
sudo apt install ./ai-jail_*_amd64.deb