aboutsummaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2026-09-13fix(remote): resolve ssh host aliases from git bash on windows (#4054)JJ Liebig
Windows OpenSSH resolves drive-letter Include paths, but Git for Windows' MSYS OpenSSH does not, so the managed remote SSH config silently ignored the user's ~/.ssh/config when herdr ran under Git Bash. Include the user config through ~/.ssh/config, which both implementations expand to the same file. refs #3947
2026-09-13fix: detect kimi npm shim on windows (#4053)JJ Liebig
refs #3317
2026-09-13test: deflake windows metadata ttl expiry assertion (#4050)JJ Liebig
The clear-only metadata test used a 1 ms ttl, so on loaded Windows runners set_agent_metadata could see the entry as expired, drop it, and recreate it with a None ttl before next_agent_metadata_expiry() ran. Expiry is forced explicitly later in the test, so use a long ttl to keep the no-extension assertion independent of wall-clock scheduling.
2026-09-13fix(server): transfer handoff descriptors in batches (#3411)Kataoka Katsuki
Live handoff refused any session with more than 64 panes. The pane count was checked twice against MAX_FDS_PER_HANDOFF, and the transfer itself put every pane's pty master into one SCM_RIGHTS control message, so the guard was the only thing keeping the send inside the kernel's per-message limit. A session past the limit could only be updated by closing panes or by a normal restart, which ends every pane process. Send the descriptors in batches of 64 instead and drop both guards. The receiving side accumulates across recvmsg calls until the expected count arrives, bounds every SCM_RIGHTS payload it reads by the control bytes the kernel returned, rejects a batch that carries more descriptors than it asked for, and closes the descriptors it already holds on any failure. A session of 64 panes or fewer still produces one batch, so the bytes on the wire are unchanged and HANDOFF_VERSION stays at 1. refs #3393 Co-authored-by: kataokatsuki <kataokatsuki@users.noreply.github.com> Co-authored-by: JJ Liebig <jonathan.liebig@gmail.com>
2026-09-13fix: retain validated split mouse reports across idle gaps (#4048)akbash
refs #3911 Co-authored-by: akbash-bot <300245827+akbash-bot@users.noreply.github.com> Co-authored-by: JJ Liebig <jonathan.liebig@gmail.com>
2026-09-13fix(input): preserve super-modified pane keys (#4044)akbash
refs #3710 Co-authored-by: akbash-bot <300245827+akbash-bot@users.noreply.github.com> Co-authored-by: JJ Liebig <jonathan.liebig@gmail.com>
2026-09-13fix: restrict claude session hooks to native sources (#4046)akbash
refs #4018 Co-authored-by: akbash-bot <300245827+akbash-bot@users.noreply.github.com> Co-authored-by: JJ Liebig <jonathan.liebig@gmail.com>
2026-09-13fix: decouple pixel mouse from pane graphics (#4045)akbash
refs #3295 Co-authored-by: akbash-bot <300245827+akbash-bot@users.noreply.github.com> Co-authored-by: JJ Liebig <jonathan.liebig@gmail.com>
2026-09-13fix: order ui accent before nested config tables (#2698)akbash
* fix: order ui accent before nested config tables refs #2697 * test: reject duplicate ui accent examples refs #2697 --------- Co-authored-by: akbash-bot <300245827+akbash-bot@users.noreply.github.com>
2026-09-13fix: disconnect stalled terminal observers (#4039)Can Celik
2026-09-13fix(linux): avoid blocking proc reads for wsl agents (#2179)Rhett CfZhuang
Co-authored-by: JJ Liebig <jonathan.liebig@gmail.com>
2026-09-13fix: deflake windows endpoint flush drain test (#4021)JJ Liebig
The polling peer drains at production's 2ms Windows read cadence, so a 1 MiB frame took ~5.5s locally and exceeded the test's 10s flush deadline under CI load. Use a 256 KiB frame, still well above the 64 KiB batch limit, and a 30s deadline so the assertion no longer depends on CI scheduling.
2026-09-13fix: update grok session after new (#2683)akbash
* fix: update grok session after new refs #2681 * fix: avoid powershell args shadowing refs #2681 --------- Co-authored-by: akbash-bot <300245827+akbash-bot@users.noreply.github.com>
2026-09-13fix: restore alternate-screen pane width (#4016)Can Celik
refs #3329
2026-09-13fix: honor space row gaps across machines (#3740)akbash
* fix: honor space row gaps across machines refs #3738 * test: cover scrolling with machine space gaps refs #3738 --------- Co-authored-by: akbash-bot <300245827+akbash-bot@users.noreply.github.com>
2026-09-13fix: recognize codex composer sparkles (#4015)Can Celik
refs #3988
2026-09-12fix: allow retrying partial worktree removal (#3315)akbash
refs #3314 Co-authored-by: akbash-bot <300245827+akbash-bot@users.noreply.github.com>
2026-09-12fix: batch queued endpoint input frames (#4004)akbash
refs #3833 Co-authored-by: akbash-bot <300245827+akbash-bot@users.noreply.github.com>
2026-09-12fix: keep windows endpoint writes progressing (#3721)JJ Liebig
refs #3651
2026-09-12fix: finish windows ssh setup after bridge exit (#3719)JJ Liebig
refs #3651
2026-09-12fix: ignore nested OMP session reports (#3994)JJ Liebig
refs #2593
2026-09-12fix: preserve complete alternate-screen history reads (#3979)Can Celik
2026-09-12fix: suppress Windows dead-key fallback characters in remote panes (#3972)akbash
refs #3948 Co-authored-by: akbash-bot <300245827+akbash-bot@users.noreply.github.com>
2026-09-11fix: opencode v2 lifecycle reporting (#3757)Mark Jaquith
* fix: support opencode v2 lifecycle reporting * fix: repair Japanese docs * fix: ignore payload-less OpenCode events * fix: harden opencode v2 integration install and reporting Follow-ups on top of the V2 lifecycle support: - create `cli.json` when OpenCode has no V1 TUI preferences (`tui.json` or `kv.json`) to migrate, instead of only registering into an existing file - settle stalled socket attempts with a plain connect timer, and resend the latest lifecycle state after a failed delivery so the pane cannot get stuck - resolve the OpenCode state directory from `XDG_STATE_HOME` - remove the managed `herdr-opencode` directory on uninstall - document failed executions reporting `blocked`, keep the integration test environment independent of an inherited `XDG_STATE_HOME`, and simplify `reconcileBlockers` to reassign its map --------- Co-authored-by: Jonathan Liebig <jonathan.liebig@gmail.com>
2026-09-11fix: preserve whole-word selection while dragging (#3969)Can Celik
refs #1836
2026-09-11fix(remote): show SSH authentication output (#3609)akbash
* fix(remote): show SSH authentication output refs #3606 * test(remote): stabilize SSH authentication output regression refs #3606 --------- Co-authored-by: akbash-bot <300245827+akbash-bot@users.noreply.github.com> Co-authored-by: JJ Liebig <jonathan.liebig@gmail.com>
2026-09-11fix(config): keep utf8 bom from breaking config reads and writes (#3962)JJ Liebig
* fix(config): keep utf8 bom from breaking config reads and writes refs #3678 * fix(config): only strip displaced boms when config is invalid refs #3678 * fix(config): strip only boms the toml parser rejects refs #3678
2026-09-11fix: lint all targets on windows (#3963)JJ Liebig
Native Windows lint and check only clippy-checked the herdr binary, while macOS and Linux run clippy across all targets. Enable --all-targets on Windows and gate the Unix-only test helpers that this exposed so Windows check matches the Unix one.
2026-09-11fix: flush Windows Codex paste burst before prompt submit (#3961)JJ Liebig
Codex's Windows input reader does not surface bracketed paste. It buffers the prompt as a paste burst and rewrites a following Enter into a newline until the burst idles out, so the previous size-based delay only reduced the chance of losing the submit. Append a non-character key after the paste so Codex flushes the burst synchronously, giving every prompt a deterministic submit boundary. refs #3187
2026-09-11fix: detect cline launchers and idle states (#3959)Can Celik
refs #2396
2026-09-11fix: preserve local direct kitty graphics transport (#3957)Can Celik
refs #3785
2026-09-11fix: recognize claude unicode spinner during active turns (#3953)Can Celik
refs #3949
2026-09-11fix: preserve plugin registry symlinks (#3927)akbash
refs #3922 Co-authored-by: akbash-bot <300245827+akbash-bot@users.noreply.github.com>
2026-09-11fix: keep terminal snapshots consistent while scrolling (#3928)Can Celik
refs #3900
2026-09-11feat: support conditional sidebar token hiding (#3925)Can Celik
2026-09-10feat: route cli commands to saved ssh machines (#3918)Can Celik
2026-09-10chore: upgrade libghostty and preserve terminal behavior (#3906)Can Celik
2026-09-10fix: bound mouse selection repaint cadence (#3901)Can Celik
refs #3895
2026-09-10fix: accept machine add options before the SSH target (#3897)akbash
refs #3883 Co-authored-by: akbash-bot <300245827+akbash-bot@users.noreply.github.com>
2026-09-10fix(input): accept WezTerm control key reports (#3592)akbash
* fix(input): accept WezTerm control key reports refs #3589 * fix(input): preserve WezTerm tab and escape reports refs #3589 --------- Co-authored-by: akbash-bot <300245827+akbash-bot@users.noreply.github.com>
2026-09-10fix: preserve focused viewer geometry during activation (#3746)akbash
* fix: preserve focused viewer geometry during activation refs #3744 * fix: preserve geometry through activation sync refs #3744 --------- Co-authored-by: akbash-bot <300245827+akbash-bot@users.noreply.github.com>
2026-09-10fix: use host background for pane selection highlights (#3894)Can Celik
refs #3798
2026-09-10fix(windows): preserve legacy mouse reports over ssh (#3742)akbash
* fix(windows): preserve legacy mouse reports over ssh refs #3735 * fix(windows): preserve input after missing mouse release refs #3735 --------- Co-authored-by: akbash-bot <300245827+akbash-bot@users.noreply.github.com> Co-authored-by: JJ Liebig <jonathan.liebig@gmail.com>
2026-09-10fix(linux): identify Herdr desktop notifications (#3639)akbash
refs #3638 Co-authored-by: akbash-bot <300245827+akbash-bot@users.noreply.github.com>
2026-09-10fix: accept session names after option terminator (#3222)akbash
refs #3220 Co-authored-by: akbash-bot <300245827+akbash-bot@users.noreply.github.com>
2026-09-10fix: keep spaces sidebar stable during resize (#3862)akbash
refs #3817 Co-authored-by: akbash-bot <300245827+akbash-bot@users.noreply.github.com>
2026-09-10fix: stop token selection at CJK punctuation (#3708)akbash
refs #3706 Co-authored-by: akbash-bot <300245827+akbash-bot@users.noreply.github.com>
2026-09-10fix(pi): support Windows session paths (#3729)akbash
refs #3726 Co-authored-by: akbash-bot <300245827+akbash-bot@users.noreply.github.com>
2026-09-09fix: restore connected session navigator tree glyphs (#3861)akbash
refs #3843 Co-authored-by: akbash-bot <300245827+akbash-bot@users.noreply.github.com>
2026-09-09fix: project public agent focus to attached clients (#3764)akbash
refs #3760 Co-authored-by: akbash-bot <300245827+akbash-bot@users.noreply.github.com>