Collie v1.4.0
Update
Already on 1.x? One command, then the phone updates itself within a minute.
collie update # downloaded install (install.sh or a tarball below)
herdr plugin action invoke update --plugin herdr.collie # Herdr plugin install
Check with collie version or herdr plugin action invoke version --plugin herdr.collie.
Coming from 0.x? collie update will not cross a major. Follow Upgrading from 0.x to 1.0.
Changed
- A launcher's
cwdis optional: pin one and it wins everywhere, leave it out and it means "here", your home dir from the dashboard, that pane's own folder from the switcher. (7efad18) - Tapped from a pane, a launcher opens a tab beside it instead of a new Space; tapped from the dashboard, a Space, as before. (7efad18)
- Launcher rows read live per host, so on a pack they come from the machine whose row you tapped, never the lead's own file. (7efad18)
- The "Switch pane" sheet rises from its handle and follows the thumb as you drag, instead of appearing at the screen's bottom edge only on release, and it opens with a haptic tick. (5bfa631)
- On the pane screen a status now shows in the header title instead of floating over the tab strip's own controls. (5bfa631)
collie pack updateis one sequence: preflight every machine, update the lead first, then each peer in turn, health-gated. The first failure stops the run and leaves the rest untouched, with the recovery command named. (fa57012)collie updatestages, then hands the swap to a detached updater: it flipscurrent, restarts, polls/api/healthfor 30 s (COLLIE_UPDATE_HEALTH_TIMEOUT_MS), and rolls back once by itself if the new version does not answer. Watch it withcollie update --status. (d569ffc)- A linked checkout updates by staging:
collie updatebuilds a release into aversions/vX.Y.Zgit worktree and flips thecurrentsymlink, so a failed build never touches the running install andcollie update --rollbackworks on a checkout (ADR 0006, amended) (7845c87) - Update notifications are a digest: at most one push a day, naming every release it folded, never before 09:00. A patch-only delta rides a weekly digest instead, or a minor that arrives first. (f05b4de)
Added
- Operator launchers: your own commands, declared in
launchers.toml, tapped to start. They live on the dashboard and in the "Switch pane" sheet, not in a pane or Space header. (#125) (12dd5e8) - Update Collie from the phone: a settings card with the version, the newest release, the preflight per check and its state, behind
POST /api/update: same gate as a send, one confirm, and its own confirm for a major. (3f4caf9) POST /api/update/snoozedismisses the current update digest until a newer release and a fresh window. (f05b4de)collie update --check [--json], a read-only preflight over doctor, disk, bun, the tracked-file tree, upstream and the service unit, plus every pack member on a lead. (8c9e5d4)
Fixed
pack update --path '~/…'expands the tilde on the remote's own$HOME, not this machine's. (f05b4de)pack update --hostremembers the ssh route as soon as the probe proves it, not only after a
fully successful run. (f05b4de)bun run testno longer exits 0 when a test fails: a probe script called process.exit on import. (b2a86cf)collie update --checkno longer turns red, and the phone's Update button no longer disables, on a lead whose peer has no ssh record: that fact still shows red on the member, but updating the lead needs no route to a peer, so the top verdict is amber. (08c0b0b)- A table in the mirror pans in its own scroller while the prose around it keeps wrapping, so Wrap no longer has to be turned off to read one. A box-drawn table pans as one unit; a framed row outside a table still does not wrap. (#5, #158) (8d079ff)
- Codex on a phone: submitted-message rows no longer render as solid black bars in the light theme, and a labelled
─ Worked for … ───separator stays on one line. (#144) (0104d27) - The new-tab and new-Space controls show a spinner and ignore a second tap while the create is in flight; the pane list catches up within a poll burst after any create or close. (d03ccd7)
Verify a download by hand
curl -fLO https://github.com/AltanS/collie/releases/download/v1.4.0/collie-1.4.0-linux-x64.tar.gz
curl -fLO https://github.com/AltanS/collie/releases/download/v1.4.0/collie-1.4.0-linux-x64.tar.gz.sha256
sha256sum -c collie-1.4.0-linux-x64.tar.gz.sha256 # macOS: shasum -a 256 -c
A sha256 catches a corrupt or truncated download. It does not prove who built the file,
HTTPS and the pinned github.com host carry that.