Commit Graph
161 Commits
Author SHA1 Message Date
Can Celik cc7c696cd0 feat: add configurable pane screen and scrollback clearing (#4383) 2026-09-19 14:47:18 +03:00
Can Celik 028780cebc fix: reveal selected agent when cycling the sidebar (#4355)
* fix: reveal selected agent when cycling the sidebar

* fix: reveal agent after endpoint activation
2026-09-18 21:50:26 +03:00
JJ Liebig da6bcd5969 fix(windows): preserve mouse capture during refresh (#4319)
* 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-18 02:42:37 +02:00
b88e8116e9 test: add local windows input gauntlet (#4298)
* 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-18 01:13:13 +02:00
JJ Liebig 5c61d8ec2e fix(windows): temporarily revert VT only mode on Windows (#4295)
refs #4251
2026-09-17 15:33:04 +02:00
JJ Liebig e7e3dfa60e fix(windows): recover VT input without changing readers (#4269)
refs #4251
2026-09-17 03:14:57 +02:00
JJ Liebig 063e937ee9 fix(windows): restore terminal after setup errors (#4261)
refs #4251
2026-09-17 02:11:03 +02:00
JJ Liebig 20c15dd7c8 fix(windows): preserve VT input during mouse refresh (#4257)
refs #4251
2026-09-17 00:07:58 +02:00
Can Celik 5f3763dda8 fix: cache saved machine connection metadata (#4256)
refs #4252
2026-09-16 23:55:12 +03:00
Can Celik 68ae6adea0 fix: let local agent clicks cancel remote handoffs (#4236)
refs #3903
2026-09-16 15:29:45 +03:00
Can Celik d1a53b2c0e fix: keep local usable when remote machines stall (#4234)
refs #3903
2026-09-16 15:16:45 +03:00
Can Celik 18061191fd fix: keep remote surface updates incremental (#4209)
refs #3769

refs #3745
2026-09-16 00:58:23 +03:00
Can Celik ee064a0c79 fix(windows): preserve sgr mouse encoding after native capture (#4195)
refs #4155
2026-09-15 17:24:35 +03:00
akbashandakbash-bot 963f78f46c fix: preserve live selections during pane output (#4193)
refs #3841

Co-authored-by: akbash-bot <300245827+akbash-bot@users.noreply.github.com>
2026-09-15 16:20:51 +02:00
Ogulcan Celik 9bd5f4ed37 fix: reveal newly focused workspaces in the machines sidebar 2026-09-15 15:02:09 +03:00
akbashandakbash-bot 052779c415 fix: reveal the full last tab in overflowing tab strips (#4152)
refs #4151

Co-authored-by: akbash-bot <300245827+akbash-bot@users.noreply.github.com>
2026-09-15 03:20:59 +02:00
JJ Liebig 32503f81f7 fix(windows): prefer VT input for SSH clients (#4148)
refs #3932
2026-09-15 00:15:23 +02:00
JJ Liebig 734faae72a fix(windows): batch input trace diagnostics (#4146)
refs #3932
2026-09-14 23:21:54 +02:00
JJ Liebig f867dabbe6 fix: reject stale pane surfaces after reconnect (#4141) 2026-09-14 22:31:31 +02:00
JJ Liebig b0c05e6663 fix: map pixel mouse by integer cell pitch (#4140)
refs #3295
2026-09-14 22:21:15 +02:00
Mark JaquithandJJ Liebig b0f21ed2cb feat: add cursor-based editing to text inputs (#3698)
* 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-14 21:47:53 +02:00
Can Celik d8b36691d1 fix: avoid resending terminal cells for metadata updates (#4137) 2026-09-14 22:36:04 +03:00
JJ Liebig 01a9733f59 fix(windows): avoid lossy native Win32 input mode (#4133)
refs #3932
refs #3702
refs #3910
2026-09-14 22:02:44 +04:00
Can Celik b5154541cc fix: restore saved machine screens after reconnect (#4126)
refs #3842
2026-09-14 19:26:55 +03:00
Eric Yue be03b7a19f fix: preserve agent panel scroll when switching machines (#4101)
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-14 15:46:39 +03:00
Can Celik c77af1892f fix: clean up idle ssh bridges and back off flapping connections (#4083)
* fix: clean up idle ssh bridges and back off flapping connections

* chore: keep ssh liveness smoke tooling local
2026-09-14 03:55:53 +03:00
Can Celik 21c1f8cf85 fix: hide only kitty image placements overlapping overlays (#4081) 2026-09-14 03:02:14 +03:00
JJ Liebiganddengos 247f6d1f82 fix(client): re-assert host mouse modes after a terminal reconnect (#4079)
Co-authored-by: dengos <dengoswei@gmail.com>
2026-09-14 02:42:21 +03:00
JJ Liebig aa961df943 fix(windows): restore mouse reporting when reattaching (#4080) 2026-09-14 02:06:01 +03:00
3b478e69dc fix: scope agent views to the selected machine (#3784)
* 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-14 02:11:07 +04:00
Ogulcan Celik 4e1096b101 fix: clarify agent integration settings description 2026-09-14 00:24:47 +03:00
Can Celik f8e59221cb feat: add ctrl-hover highlighting and fix wrapped links (#4074)
refs #1282
2026-09-13 23:05:30 +03:00
JJ Liebig 3834fd3d0f fix: auto-expire worktree action error banners (#4063)
* 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-13 19:14:00 +02:00
JJ Liebig 5f26879bcd fix(ui): keep muted sidebar and tab labels readable (#4062)
refs #2692
2026-09-13 18:17:42 +02:00
JJ Liebig cb06df6331 fix(windows): disable host mouse reporting on terminal restore (#4055)
Windows skipped the xterm mouse-reporting reset because clear_host_mouse_reporting was a no-op there. Standalone Git Bash (mintty) keeps SGR mouse reporting enabled after detach, so mouse motion leaks escape sequences into the shell. Emit the reset sequence on Windows too and include the X10 mode.

refs #3748
2026-09-13 17:43:13 +02:00
7505c08d47 fix: retain validated split mouse reports across idle gaps (#4048)
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-13 15:33:58 +02:00
JJ Liebig 3b9f58b70e fix: deflake windows endpoint flush drain test (#4021)
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-13 02:17:50 +02:00
akbashandakbash-bot 5eafc61267 fix: honor space row gaps across machines (#3740)
* 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-13 02:20:23 +03:00
akbashandakbash-bot 96f2324467 fix: allow retrying partial worktree removal (#3315)
refs #3314

Co-authored-by: akbash-bot <300245827+akbash-bot@users.noreply.github.com>
2026-09-12 21:55:19 +02:00
akbashandakbash-bot d184b41fa3 fix: batch queued endpoint input frames (#4004)
refs #3833

Co-authored-by: akbash-bot <300245827+akbash-bot@users.noreply.github.com>
2026-09-12 18:19:33 +02:00
JJ Liebig c17dc3fda7 fix: keep windows endpoint writes progressing (#3721)
refs #3651
2026-09-12 18:00:01 +02:00
akbashandakbash-bot 9ad65d9031 fix: suppress Windows dead-key fallback characters in remote panes (#3972)
refs #3948

Co-authored-by: akbash-bot <300245827+akbash-bot@users.noreply.github.com>
2026-09-12 01:38:57 +04:00
Can Celik a0474ae770 fix: preserve whole-word selection while dragging (#3969)
refs #1836
2026-09-11 22:58:01 +03:00
JJ Liebig c7a7cc454a fix: lint all targets on windows (#3963)
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-11 18:12:49 +02:00
Can Celik cd7edeb060 fix: preserve local direct kitty graphics transport (#3957)
refs #3785
2026-09-11 16:26:52 +03:00
Can Celik 5827145940 feat: support conditional sidebar token hiding (#3925) 2026-09-11 00:55:19 +03:00
Can Celik 90e947a6e2 fix: bound mouse selection repaint cadence (#3901)
refs #3895
2026-09-10 16:37:50 +03:00
Can Celik 3813af0ffe fix: use host background for pane selection highlights (#3894)
refs #3798
2026-09-10 14:27:39 +03:00
7265a2b101 fix(windows): preserve legacy mouse reports over ssh (#3742)
* 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-10 14:02:33 +03:00
akbashandakbash-bot e1bb3df0ac fix: keep spaces sidebar stable during resize (#3862)
refs #3817

Co-authored-by: akbash-bot <300245827+akbash-bot@users.noreply.github.com>
2026-09-10 13:20:44 +03:00