aboutsummaryrefslogtreecommitdiff
path: root/src/client/shell/tests
AgeCommit message (Collapse)Author
2026-09-28feat: support multiple prefix keys (#4653)JJ Liebig
* feat: support multiple prefix keys keys.prefix accepts an array in addition to a single string so one config can define several prefix keys. Every configured prefix enters the same prefix mode, and the help panel lists them all. Published keybinding profiles keep the primary prefix as a scalar and carry the rest in an optional extra_prefixes field so older clients keep working with the primary prefix. * fix: reject an empty prefix list on reload An explicitly empty keys.prefix array now stays empty through config parsing so validation rejects it and a reload keeps the current keybindings instead of silently falling back to ctrl+b.
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-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-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-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-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-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-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-14fix: reject stale pane surfaces after reconnect (#4141)JJ Liebig
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: 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: hide only kitty image placements overlapping overlays (#4081)Can Celik
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-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
2026-09-13fix(ui): keep muted sidebar and tab labels readable (#4062)JJ Liebig
refs #2692
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-12fix: allow retrying partial worktree removal (#3315)akbash
refs #3314 Co-authored-by: akbash-bot <300245827+akbash-bot@users.noreply.github.com>
2026-09-11fix: preserve whole-word selection while dragging (#3969)Can Celik
refs #1836
2026-09-11fix: preserve local direct kitty graphics transport (#3957)Can Celik
refs #3785
2026-09-10fix: bound mouse selection repaint cadence (#3901)Can Celik
refs #3895
2026-09-10fix: use host background for pane selection highlights (#3894)Can Celik
refs #3798
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-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: retain double-click selections and make tests root-safe (#3854)akbash
refs #3847 Co-authored-by: akbash-bot <300245827+akbash-bot@users.noreply.github.com>
2026-09-09feat: navigate and highlight workspaces across machines (#3755)akbash
* fix: highlight workspace navigation with saved machines refs #3754 * feat: navigate workspaces across connected machines refs #3754 * feat: navigate workspaces across machines refs #3754 --------- Co-authored-by: akbash-bot <300245827+akbash-bot@users.noreply.github.com> Co-authored-by: Ogulcan Celik <ogulcancelik@gmail.com>
2026-09-09fix: restore autofocus when creating worktrees (#3787)Can Celik
* fix: restore autofocus when creating worktrees refs #3766 * fix: let the client focus newly created worktrees refs #3766
2026-09-08fix: collapse worktree groups with saved machines (#3781)akbash
* fix: collapse worktree groups with saved machines refs #3778 * fix: scope worktree collapse by machine refs #3778 * fix: collapse machines without switching focus refs #3778 --------- Co-authored-by: akbash-bot <300245827+akbash-bot@users.noreply.github.com> Co-authored-by: Ogulcan Celik <ogulcancelik@gmail.com>
2026-09-06fix: keep manual selections active during terminal output (#3684)JJ Liebig
2026-09-06fix: consume failed selection copies without interrupting agents (#3681)JJ Liebig
2026-09-06feat: manage multiple ssh machines from one client (#3670)Can Celik
2026-09-05fix: run the full applicable test suite on windows (#3660)JJ Liebig
* fix: run the full applicable test suite on windows * test: remove redundant test shell assignment * test: make endpoint and metadata fixtures deterministic * test: tolerate exited servers during windows probe cleanup
2026-09-05fix: retain mouse selections across unrelated terminal output (#3641)JJ Liebig
2026-09-03fix(client): batch host palette updates (#3580)Can Celik
2026-09-03fix: reveal newly focused spaces in the sidebar (#3554)Can Celik
2026-09-02fix: preserve mouse selection during pane output (#3538)JJ Liebig
2026-09-02feat: support independent multi-client tab views (#3526)Can Celik
2026-09-02feat: add stable client endpoint compatibility (#3509)Can Celik
* feat: add stable client endpoint compatibility * fix: keep portable-pty patch checks composable * ci: run maintenance checks in pull requests * fix: reject endpoint errors from terminal clients * feat: keep compatible servers running across updates
2026-09-01refactor: render the shell in the client (#3487)Can Celik
* feat: add opt-in client-rendered shell * feat: add client-owned shell mouse controls * feat: complete client-owned shell chrome * feat: add client-owned shell settings and notifications * feat: run client shell custom commands * feat: render popup terminals in client shell * feat: add client-owned scrollback and copy mode * fix: preserve client worktree trust defaults * feat: render startup diagnostics in client shell * feat: render onboarding in client shell * feat: render product announcements in client shell * feat: render release notes in client shell * feat: render mobile switcher in client shell * feat: render kitty graphics in client shell * fix: preserve client shell lifecycle coherence * refactor: route client shell commands through endpoint connections * refactor: make the client-rendered shell the default * refactor: remove monolithic launch mode * refactor: complete client-rendered shell cutover * perf: retain client pane surface updates * perf: scale retained pane surface updates * perf: remove remote pane input latency * test: make client shell checks platform-independent * fix: prevent client timer starvation * test: fix client shell platform gates * test: accept retained surfaces in cross-area checks * test: make client mode assertions platform-neutral * fix: badge only outdated integrations