multi-remote 0.7.3 build 5 (fork)
Pre-releasePersonal fork build of herdr 0.7.3 with multi-remote server support, ported from icedac's PoC for upstream discussion #515. Supersedes multi-remote-4. All four binaries were built fresh at commit d9fecca — the linux pair on pristine CI runners, the macOS pair locally after a full cargo clean (7.0 GiB wiped) and zig cache wipe.
What's included
- Everything in upstream herdr 0.7.3, plus the Grok Build agent integration from this fork.
- Multi-server support (unix only): register secondary herdr servers (
local:<session>or ssh targets) once via menu → add remote, then work across all of them from one unified sidebar — host banners, click-to-switch focus, drag reorder, a server picker when creating a workspace from theallscope, and remote management from the menu. Secondary disconnects retry with backoff and never disturb the main session.
Fixed since multi-remote-4
herdr --remote <host>is no longer slowed to a crawl. The client fetched main-server registry/settings/summary state synchronously on the UI loop, assuming a fast local socket — but under a remote attach that socket is an ssh bridge, so every subscribed change event, focus action, and 2s poll froze input and rendering for a WAN round-trip bundle. Main supervisor state now fetches off the UI loop with coalesced reruns (at most one fetch in flight plus one queued), and change events no longer force full-screen redraws before data arrives.- Collapsing the sidebar actually reclaims its width. The composited sidebar previously drew the collapsed glance rail inside the full expanded column. It now narrows to the compact 4-column rail (or fully hides with
ui.sidebar_collapsed_mode = "hidden"), and every connected server re-renders at the wider content size. The collapsed rail no longer exposes the width-divider drag.
Settings: host banner options
New [ui.sidebar.host] config table, also editable live from the settings "sidebar" section (changes persist back to config.toml):
[ui.sidebar.host]
gradient = "solid" # solid | rainbow | accent | cool | warm | muted
animation = "animated" # animated | static (shaded presets only)
speed = "calm" # calm | normal | lively (shaded presets only)
glyph = "left" # left | none
show_count = false # append the host's space count
show_metrics = false # live latency + download readout (opt-in)solid (the default) renders host names in one flat theme accent color. The latency/throughput readout is off unless show_metrics = true. Unknown values fall back to the defaults. Full documentation lives in docs/next/website/src/content/docs/configuration.mdx on the branch.
Compatibility
- Wire protocol 17: this build only talks to servers running this same build. Adding an ssh remote provisions the matching binary on the remote host automatically (same platform), or set
HERDR_REMOTE_BINARYto a cross-built binary. - Not an official herdr release.
herdr updatewill replace this build with a stock release; reinstall from this page if that happens. - Windows is untouched (single-server client only), so no Windows asset is published here.
Install
chmod +x herdr-<platform> && mv herdr-<platform> ~/.local/bin/herdrmacOS: if the binary is killed on launch after replacing an existing file in place, re-sign onto a fresh inode: cp herdr /tmp/h && codesign -f -s - /tmp/h && mv /tmp/h ~/.local/bin/herdr.
Provenance
Built from commit d9fecca on feat/multi-remote with LIBGHOSTTY_VT_OPTIMIZE=ReleaseFast, LIBGHOSTTY_VT_SIMD=true, Rust 1.96.1, Zig 0.15.2. Linux binaries from this repo's "Build artifacts (manual)" CI run; macOS binaries built on a local arm64 Mac with Homebrew's patched zig@0.15 (stock Zig cannot link on current macos-latest runners; the CI workflow fix awaits a workflow-scoped token).
566faf1c237adf7673790dc8d1f9c17aedab1f450d54754e2ecc2f84a50075f9 herdr-linux-x86_64
e9160ce61c629083ebae92d62bc1a5f9c5066bcebb7c7ec9924b8f835288654f herdr-linux-aarch64
187083bc1b0d256520b79289be4590912c1397fc5aacf8d7e71bd49affc42e04 herdr-macos-x86_64
c5a87756d6f30fdda7f555e24642f25da8d4b8191bfa635dc2eca39dcde543ff herdr-macos-aarch64