aboutsummaryrefslogtreecommitdiff
path: root/src/client
AgeCommit message (Collapse)Author
2026-09-27feat: accept mouse events on terminal session control (#4685)Can Celik
2026-09-27feat: default machine add label to the ssh host (#4678)David Heinemeier Hansson
* feat: default machine add label to the ssh host `herdr machine add <ssh-target>` no longer requires `--label`. Without one, the machine is named after the SSH host with any `user@` prefix removed, so `herdr machine add dev@workbox` shows up as `workbox`. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * Apply suggestion from @greptile-apps[bot] Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com> * fix: make default machine labels unique per session and handle ssh urls --------- Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com> Co-authored-by: Ogulcan Celik <ogulcancelik@gmail.com>
2026-09-26fix: refresh host palette on terminal redraw (#4349)David Heinemeier Hansson
* fix: refresh host palette on terminal redraw * fix: count overlapping host palette queries --------- Co-authored-by: Ogulcan Celik <ogulcancelik@gmail.com>
2026-09-26fix: retain mouse input grace for split csi prefixes (#4636)akbash
refs #4630 Co-authored-by: akbash-bot <300245827+akbash-bot@users.noreply.github.com>
2026-09-24fix: keep copy mode active during projection updates (#4281)Marco Mayer
* fix: keep copy mode active during projection updates refs #3812 * fix: preserve linewise selections during projection gaps refs #3812 --------- Co-authored-by: Ogulcan Celik <ogulcancelik@gmail.com>
2026-09-24perf: avoid redundant client ANSI encoding work (#4552)JJ Liebig
refs #4546
2026-09-24feat!: replace the custom graphics api with optimized native kitty rendering ↵Can Celik
(#4561) * feat!: replace the custom graphics api with optimized native kitty rendering * fix: enable safe kitty optimizations automatically --------- Co-authored-by: JJ Liebig <jonathan.liebig@gmail.com>
2026-09-24fix: match navigator search terms independently (#4535)Eric Yue
* fix: match navigator search terms independently refs #4273 * docs: remove redundant navigator search note refs #4273
2026-09-23fix: prevent Windows non-text keys from triggering the space prefix (#4510)akbash
refs #4470 Co-authored-by: akbash-bot <300245827+akbash-bot@users.noreply.github.com>
2026-09-22fix: reuse ssh authentication and add machine recovery commands (#4490)Can Celik
* fix: reuse ssh authentication and add in-app mfa recovery refs #3763 * refactor: move ssh recovery to machine cli refs #3763
2026-09-21fix: distinguish agent completion from startup and session changes (#4457)Can Celik
refs #3338 refs #3990 refs #3916
2026-09-21perf: index navigator tabs and panes per endpoint (#4426)Eric Yue
2026-09-21fix: preserve session layouts across shutdown and restore failures (#4400)Can Celik
* fix: preserve session layouts across shutdown and restore failures refs #4320 * test: update subscription fixture for pane restore errors --------- Co-authored-by: JJ Liebig <jonathan.liebig@gmail.com>
2026-09-20fix: confirm closing the last tab in the tui (#4409)Eric Yue
* fix: confirm closing the last tab in the tui refs #4379 * docs: clarify last-tab worktree confirmation in translations refs #4379 --------- Co-authored-by: JJ Liebig <jonathan.liebig@gmail.com>
2026-09-20fix: keep workspace navigation visible in terminal theme (#4408)Eric Yue
* fix: keep workspace navigation visible in terminal theme refs #4300 * fix: clear workspace highlight on directional pane focus refs #4300 --------- Co-authored-by: JJ Liebig <jonathan.liebig@gmail.com>
2026-09-20fix: preserve delayed mouse reports with confirmed keyboard input (#4247)akbash
* fix: preserve delayed mouse reports with confirmed keyboard input refs #3480 * fix: capture geometry before replaying buffered mouse input refs #3480 --------- Co-authored-by: akbash-bot <300245827+akbash-bot@users.noreply.github.com> Co-authored-by: JJ Liebig <jonathan.liebig@gmail.com>
2026-09-19feat: show every agent and terminal in the go to picker (#4384)Can Celik
2026-09-19feat: add configurable pane screen and scrollback clearing (#4383)Can Celik
2026-09-18fix: reveal selected agent when cycling the sidebar (#4355)Can Celik
* fix: reveal selected agent when cycling the sidebar * fix: reveal agent after endpoint activation
2026-09-18fix(windows): preserve mouse capture during refresh (#4319)JJ Liebig
* fix(windows): preserve mouse capture during refresh refs #4284 * test(windows): fix default input gauntlet invocation * fix(windows): preserve pixel mouse transitions refs #4284
2026-09-18test: add local windows input gauntlet (#4298)akbash
* test: add local windows input gauntlet refs #4251 * test: add local windows input gauntlet Harden elevation and channel identity checks, distinguish known host limitations, and surface incomplete cleanup. refs #4251 * test(windows): harden input gauntlet execution refs #4251 * test(windows): make input gauntlet self-contained refs #4251 * test(windows): bound input gauntlet failure paths refs #4251 * test(windows): extend input qualification gauntlet refs #4251 * test(windows): complete input qualification matrix refs #4251 --------- Co-authored-by: akbash-bot <300245827+akbash-bot@users.noreply.github.com> Co-authored-by: Jonathan Liebig <jonathan.liebig@gmail.com>
2026-09-17fix(windows): temporarily revert VT only mode on Windows (#4295)JJ Liebig
refs #4251
2026-09-17fix(windows): recover VT input without changing readers (#4269)JJ Liebig
refs #4251
2026-09-17fix(windows): restore terminal after setup errors (#4261)JJ Liebig
refs #4251
2026-09-17fix(windows): preserve VT input during mouse refresh (#4257)JJ Liebig
refs #4251
2026-09-16fix: cache saved machine connection metadata (#4256)Can Celik
refs #4252
2026-09-16fix: let local agent clicks cancel remote handoffs (#4236)Can Celik
refs #3903
2026-09-16fix: keep local usable when remote machines stall (#4234)Can Celik
refs #3903
2026-09-16fix: keep remote surface updates incremental (#4209)Can Celik
refs #3769 refs #3745
2026-09-15fix(windows): preserve sgr mouse encoding after native capture (#4195)Can Celik
refs #4155
2026-09-15fix: preserve live selections during pane output (#4193)akbash
refs #3841 Co-authored-by: akbash-bot <300245827+akbash-bot@users.noreply.github.com>
2026-09-15fix: reveal newly focused workspaces in the machines sidebarOgulcan Celik
2026-09-15fix: reveal the full last tab in overflowing tab strips (#4152)akbash
refs #4151 Co-authored-by: akbash-bot <300245827+akbash-bot@users.noreply.github.com>
2026-09-15fix(windows): prefer VT input for SSH clients (#4148)JJ Liebig
refs #3932
2026-09-14fix(windows): batch input trace diagnostics (#4146)JJ Liebig
refs #3932
2026-09-14fix: reject stale pane surfaces after reconnect (#4141)JJ Liebig
2026-09-14fix: map pixel mouse by integer cell pitch (#4140)JJ Liebig
refs #3295
2026-09-14feat: add cursor-based editing to text inputs (#3698)Mark Jaquith
* feat: add cursor-based editing to text inputs refs #1803 * fix: preserve dialog actions with associated text refs #1803 * refactor: simplify text editor outcomes and tests refs #1803 --------- Co-authored-by: JJ Liebig <jonathan.liebig@gmail.com>
2026-09-14fix: avoid resending terminal cells for metadata updates (#4137)Can Celik
2026-09-14fix(windows): avoid lossy native Win32 input mode (#4133)JJ Liebig
refs #3932 refs #3702 refs #3910
2026-09-14fix: restore saved machine screens after reconnect (#4126)Can Celik
refs #3842
2026-09-14fix: preserve agent panel scroll when switching machines (#4101)Eric Yue
refs #3937 Root cause: Activating another endpoint applies a snapshot with a different endpoint-qualified graphics scope. This triggers reset_endpoint_projection, which clears agent_scroll together with endpoint-local state even though the agent list aggregates all machines. The selected agent receives focus, but the list jumps back to the top. Fix: Save the client-owned agent scroll offset and restore it only when activation changes endpoints. Keep same-endpoint reboot resets, workspace/tab scroll resets, input cleanup and existing list bounds clamping unchanged. This adds constant-time work on endpoint activation, with no protocol, persisted-state or pane-scaled rendering changes. Validation: The new regression fails on the original implementation with scroll 0 instead of 6. Tests cover repeated bidirectional agent clicks, stable visible rows, shrinking lists and same-machine reboots. All 242 client shell tests pass. Real SSH A/B testing against the same two disposable 0.9.0 servers reproduces the reset with both the stable and current-master clients. The patched client preserves the visible rows through six cross-machine switches and two same-machine control clicks. Native just ci passes: 3535 Rust tests, six default skips, plus lint, maintenance, architecture and integration-asset checks. All seven docs contract tests pass. Windows cross-lint was not run because its SDK is not installed; native macOS and Windows UI behavior was not tested.
2026-09-14fix: clean up idle ssh bridges and back off flapping connections (#4083)Can Celik
* fix: clean up idle ssh bridges and back off flapping connections * chore: keep ssh liveness smoke tooling local
2026-09-14fix: hide only kitty image placements overlapping overlays (#4081)Can Celik
2026-09-14fix(client): re-assert host mouse modes after a terminal reconnect (#4079)JJ Liebig
Co-authored-by: dengos <dengoswei@gmail.com>
2026-09-14fix(windows): restore mouse reporting when reattaching (#4080)JJ Liebig
2026-09-14fix: scope agent views to the selected machine (#3784)akbash
* fix: scope agent views to the selected machine refs #3732 * fix: preserve stable agent view ordering refs #3732 --------- Co-authored-by: akbash-bot <300245827+akbash-bot@users.noreply.github.com> Co-authored-by: JJ Liebig <jonathan.liebig@gmail.com>
2026-09-14fix: clarify agent integration settings descriptionOgulcan Celik
2026-09-13feat: add ctrl-hover highlighting and fix wrapped links (#4074)Can Celik
refs #1282
2026-09-13fix: auto-expire worktree action error banners (#4063)JJ Liebig
* fix: auto-expire worktree action error banners refs #1827 * fix: restart endpoint error timeout on repeated errors Route every transient client-side action error through a setter that installs a fresh deadline, so an identical repeated message cannot inherit an older, nearly-expired deadline. refs #1827 * test: derive endpoint error expiry assertions from stored deadline refs #1827