Skip to content

v0.14.0

Latest

Choose a tag to compare

@github-actions github-actions released this 07 Oct 18:37
· 3 commits to main since this release
4e19e46

The release where the split fits your screen, and no stray pipe can freeze a review.

direction = "auto" (#48)

A fixed split direction only fits one screen shape: what's right on a landscape monitor wastes a portrait one. With direction = "auto" in the config, the server measures the agent pane each time a review opens and splits along the longer side — right when the pane is at least twice as wide as tall in cells (roughly landscape, since a terminal cell is about twice as tall as wide), down otherwise. Moving the session between screens needs no restart, and if the pane can't be measured, a warning is printed and the split falls back to right. The default remains right; existing right/down configs behave exactly as before and make no extra herdr call.

Untracked special files can no longer wedge the pane (#50)

git diff --no-index reads a FIFO's contents and follows symlinks to reach one, so an untracked FIFO — or a link resolving through /proc/self/fd into git's own pipes, as found in an unpacked root filesystem — could block the diff load forever: blank pane, review_changes waiting on a verdict that can't come. Now FIFOs are skipped outright (checked without following links), other non-regular entries get a time-capped diff that's abandoned if git hangs, and regular files load exactly as before with no time limit, so large files still appear. Symlinks are listed as their target text, including adversarial targets containing fake diff headers.

Both features by @cantona — including finding the wedge in a live session and the cross-platform test hardening.

Compatibility

  • Wire protocol v2 unchanged — no restart ordering concerns between server and pane.
  • direction = "auto" is opt-in; the wedge fix needs no configuration.
  • Defaults unchanged everywhere: without config edits, 0.14.0 behaves like 0.13.0 minus the hang.

Full changelog: v0.13.0...v0.14.0