Skip to content

kari v0.11.0

Choose a tag to compare

@github-actions github-actions released this 09 Sep 12:22
· 29 commits to main since this release
v0.11.0
e633694

kari v0.11.0 — built from e633694.

A card can now take its herdr tab with it. Turn on "Close the herdr tab when a
card is done or archived" in Settings, and the tab behind a card closes as soon
as you move the card to Done or archive it. The option is off by default,
because a tab can hold an agent that still works, and kari cannot open the tab
again.

The release also keeps the Windows node lint clean.

TL;DR

  • Let a card close its herdr tab when you retire it
  • Keep the Windows node lint clean

What changed

Let a card close its herdr tab when you retire it

A finished session leaves its herdr tab open. The card moves to Done, or into
the archive, and the pane stays in the workspace until somebody closes it by
hand. After a busy day that is a row of dead tabs.

Settings holds a new option: "Close the herdr tab when a card is done or
archived". While it is on, a move to a Done column closes the tab of the pane
that the board matched to the card. An archive does the same. The option is off
by default, because the tab can hold an agent that still works, and kari cannot
open that tab again.

The engine reads the tab from the board before it writes the card, because an
archived card leaves the board, and then nothing can name its pane. It closes
the tab after the write, so a move that fails leaves the terminal alone. The
engine of the node that owns the card does the work, and that node is the host
that runs herdr. A card on another machine therefore closes the right tab.

The two herdr options now sit in a herdr section of Settings. The launch target
was under Autopilot, where a reader who looks for herdr does not find it.

Keep the Windows node lint clean

The peer module imports Duration at the top of the file and uses it only
in the Unix sender. On Windows that sender is not compiled, so the import
is unused and the lint step of the Windows node job fails the build of
main. The import moves into the Unix function. The release builds were
not affected: they compile without the lint.

Install

Download the .dmg for your Mac: aarch64 for Apple silicon, x64 for Intel.
The app is not signed. After you copy it to Applications, run:

xattr -dr com.apple.quarantine /Applications/kari.app

On Windows, run kari_0.11.0_x64-setup.exe. It installs for the current user,
because kari reads the Claude Code state of whoever is logged in. That installer is
not signed either, so SmartScreen asks once: More info, then Run anyway.

An installed kari updates itself to this release: it checks on start and every six hours,
writes the new version beside the running one and offers a restart. Settings, Updates has the switch.

Every host runs the headless node, so that its sessions stay on the board while no window is open.
A Mac takes kari-node-v0.11.0-aarch64-apple-darwin (or the x86_64 one),
a Linux host kari-node-v0.11.0-x86_64-unknown-linux-gnu.tar.gz,
a Windows host kari-node-v0.11.0-x86_64-pc-windows-msvc.zip.
Run kari-node service install to keep it running at login. One engine runs on a host at a time:
open the app and the node steps down, quit the app and it takes the host back.
A node updates itself only when asked: kari-node update, or serve --auto-update.

An Android phone installs kari-latest.apk. Add this repository to Obtainium: the asset name never
carries the version and the signing key never changes, so an update installs over the previous build.
The phone reaches the nodes over a private network, such as a VPN, and pairs with the code from
Settings, Nodes on the desktop. See TOUR.md.

See the README for requirements and setup.