Can Celik
4428e1664d
fix: preserve unloaded sessions before replacement ( #4190 )
...
refs #4125
2026-09-15 21:17:32 +03:00
JJ Liebig
ad41567287
fix: scope window titles to each client view ( #4130 )
...
refs #4091
2026-09-14 18:35:18 +02: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
Can Celik
6075d25f47
fix: keep plugins working after client-only updates ( #4077 )
2026-09-13 23:37:26 +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
caner-akca and JJ Liebig
f0cb0e0683
fix: keep an agent name through a process-exit observation ( #3574 )
...
A process-exit observation is not proof the agent is gone: the same
observation can be wrong while the agent keeps running, and the name is
the only handle its owner has on the pane. Detection uncertainty already
preserves the name, so releasing it on the observation alone contradicts
that contract and leaves a live agent unreachable by name with a rename
as the only recovery.
Free the name at the point the agent actually leaves the pane - a
recorded exit with no agent detected any more - so a wrong observation
costs nothing and a real exit still releases the name for reuse.
refs #3225
Co-authored-by: JJ Liebig <jonathan.liebig@gmail.com >
2026-09-13 19:00:57 +02:00
858ad4e378
fix(input): preserve super-modified pane keys ( #4044 )
...
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-13 15:14:31 +02:00
9631f8ee21
fix: decouple pixel mouse from pane graphics ( #4045 )
...
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-13 14:57:31 +02:00
JJ Liebig
871ff8b91f
fix: flush Windows Codex paste burst before prompt submit ( #3961 )
...
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-11 17:04:06 +02:00
Can Celik
5827145940
feat: support conditional sidebar token hiding ( #3925 )
2026-09-11 00:55:19 +03:00
akbash and akbash-bot
0911056d7e
fix: stop token selection at CJK punctuation ( #3708 )
...
refs #3706
Co-authored-by: akbash-bot <300245827+akbash-bot@users.noreply.github.com >
2026-09-10 13:20:03 +03:00
Can Celik
1682cab326
fix: restore plugin focus events for client navigation ( #3850 )
...
refs #3824
2026-09-09 22:04:47 +03:00
Can Celik and Jonathan Liebig
e7d8220788
fix: preserve sessions after interrupted pane exits ( #3418 )
...
* fix: preserve sessions when pane shells are signaled
refs #3415
* fix: preserve shutdown checkpoints across platforms
refs #3415
---------
Co-authored-by: Jonathan Liebig <jonathan.liebig@gmail.com >
2026-09-07 15:14:46 +02:00
4828181304
feat: make ui.pane_borders a three-state auto/always/off mode ( #3234 )
...
* feat: make ui.pane_borders a three-state auto/always/off mode
Legacy booleans keep parsing (true = auto, false = off); "always" frames
a lone pane while pane_outer_borders is enabled.
* fix: align pane border reload test and documentation
---------
Co-authored-by: Rudolf Schmidt <me@rudionrails.com >
Co-authored-by: Jonathan Liebig <jonathan.liebig@gmail.com >
2026-09-07 14:04:54 +02:00
Can Celik
c7b79294e2
feat: add conditional styles for sidebar tokens ( #3693 )
2026-09-06 23:44:15 +03:00
JJ Liebig
9d111db9c8
fix: keep manual selections active during terminal output ( #3684 )
2026-09-06 16:27:52 +02:00
JJ Liebig
6f57f2f62c
fix: resolve Windows plugin pane launch paths ( #3666 )
...
* fix: resolve Windows plugin pane launch paths
refs #3024
* test: compare resolved Windows plugin probe paths
refs #3024
* test: compare resolved Windows plugin working directories
refs #3024
* test: wait for Windows plugin fixture completion
refs #3024
2026-09-05 21:56:17 +02:00
JJ Liebig
50ce4ec2dd
fix: run the full applicable test suite on windows ( #3660 )
...
* 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-05 21:39:32 +03:00
JJ Liebig
7916be1656
fix: make Windows Codex prompt delay size-aware ( #3552 )
...
refs #3187
2026-09-05 02:38:14 +02:00
Ogulcan Celik
a2b128978a
feat: enable kitty graphics by default
2026-09-04 21:59:13 +03:00
JJ Liebig
6045fe6a87
fix: persist Codex resume sessions at launch ( #3617 )
...
refs #3517
2026-09-04 14:54:05 +02:00
Can Celik
e22cba35ef
fix: keep direct graphics bound to its client ( #3549 )
2026-09-02 22:45:51 +03:00
JJ Liebig
5a2dee700e
fix(windows): remove worktrees with active agent panes ( #3532 )
...
* fix(windows): remove worktrees with active agent panes
* fix(windows): defer pane restore until shutdown exits
2026-09-02 18:08:10 +02:00
JJ Liebig
8633a398e6
fix: reliably submit delayed agent prompts ( #3506 )
2026-09-02 13:34:03 +02:00
Can Celik
6c0bb273d5
feat: support independent multi-client tab views ( #3526 )
2026-09-02 14:24:33 +03:00
Can Celik
cc88b3b8e5
feat: add stable client endpoint compatibility ( #3509 )
...
* 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-02 02:45:20 +03:00
Can Celik
207be3c771
refactor: render the shell in the client ( #3487 )
...
* 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
2026-09-01 15:48:22 +03:00
Can Celik
095f1337d6
fix: trust worktree repositories per request ( #3344 )
...
refs #3044
2026-08-28 18:25:07 +03:00
akbash and akbash-bot
d79fd746a9
fix: require explicit workspace group close ( #3206 )
...
refs #2874
Co-authored-by: akbash-bot <300245827+akbash-bot@users.noreply.github.com >
2026-08-25 23:44:56 +03:00
akbash and akbash-bot
9ff467bda4
fix: route osc 8 file links to plugin handlers ( #2942 )
...
refs #2941
Co-authored-by: akbash-bot <300245827+akbash-bot@users.noreply.github.com >
2026-08-25 22:02:37 +03:00
akbash and akbash-bot
cafd9e5dd0
fix: refresh shared agent manifest caches ( #3204 )
...
refs #2711
Co-authored-by: akbash-bot <300245827+akbash-bot@users.noreply.github.com >
2026-08-25 01:08:36 +03:00
Alex and Ogulcan Celik
db6f301f13
feat: add per-mode theme overrides ( #2324 )
...
* feat: add per-mode theme overrides
allow [theme.custom.light] and [theme.custom.dark] blocks so custom
overrides can differ per resolved appearance when auto_switch flips.
precedence: theme defaults, then [theme.custom], then the block for
the active mode. configs without the new blocks resolve unchanged.
refs #837
* docs: complete per-mode theme documentation
---------
Co-authored-by: Ogulcan Celik <ogulcancelik@gmail.com >
2026-08-23 00:18:56 +03:00
Can Celik
1d604329b0
fix(windows): preserve non-us shifted text ( #3055 )
...
* fix(windows): preserve non-us shifted text
refs #3045
* fix(windows): retain shifted key repeat lifecycle
refs #3045
2026-08-23 00:01:57 +03:00
akbash and akbash-bot
1c76079f8b
fix: copy selections before delayed mouse release ( #3102 )
...
refs #3100
Co-authored-by: akbash-bot <300245827+akbash-bot@users.noreply.github.com >
2026-08-22 01:52:03 +03:00
akbash
25e35f079e
fix: preserve focus after background worktree removal ( #3099 )
2026-08-21 22:42:08 +03:00
Can Celik
2d5f91dd0c
fix: match generated characters in prefix bindings ( #3085 )
...
refs #3079
2026-08-21 21:09:52 +03:00
7d35ebe7c4
fix: synchronize plugin pane pwd ( #2985 )
...
* fix: synchronize plugin pane pwd
refs #2984
* refactor: isolate plugin pwd platform policy
refs #2984
* docs: fix changelog conflict resolution
---------
Co-authored-by: akbash-bot <300245827+akbash-bot@users.noreply.github.com >
Co-authored-by: Can Celik <ogulcancelik@gmail.com >
2026-08-20 02:29:43 +03:00
akbash and akbash-bot
4d17957c43
fix: strip ansi sequences from tab bar status ( #3003 )
...
* fix: strip ansi sequences from tab bar status
refs #3001
* docs: clarify tab bar escape sequence scope
refs #3001
---------
Co-authored-by: akbash-bot <300245827+akbash-bot@users.noreply.github.com >
2026-08-20 00:17:25 +03:00
Can Celik
a5c69beabf
fix(perf): eliminate redundant terminal wake work ( #2962 )
...
* fix(perf): eliminate redundant terminal wake work
* fix(perf): harden release benchmark gate
* test(perf): strengthen performance guardrails
2026-08-19 04:43:28 +03:00
Can Celik
0bd445020e
fix: preserve macOS IME commits in report-all mode ( #2947 )
2026-08-18 19:30:57 +03:00
akbash and akbash-bot
2d24950ad9
fix: isolate hidden pane render cadence ( #2892 )
...
refs #2890
Co-authored-by: akbash-bot <300245827+akbash-bot@users.noreply.github.com >
2026-08-18 04:37:11 +03:00
akbash and akbash-bot
76211757ec
fix: reap ctrl-click url openers ( #2906 )
...
* fix: reap ctrl-click url openers
refs #2903
* fix: scope linux opener test import
refs #2903
* test: isolate url opener regression
refs #2903
---------
Co-authored-by: akbash-bot <300245827+akbash-bot@users.noreply.github.com >
2026-08-18 00:11:20 +03:00
Can Celik
2b4b3849ca
fix(theme): skip host palette queries under wsl ( #2852 )
...
refs #2440
2026-08-16 00:05:24 +03:00
Can Celik
9166e07b31
fix(theme): keep default active rows subtle and add navigate cursor color ( #2838 )
...
refs #2792
2026-08-15 15:36:12 +03:00
Can Celik
15539d3dec
feat: make headless terminal size configurable ( #2829 )
...
refs #2828
2026-08-15 15:09:53 +03:00
Can Celik
d2c317adc4
fix: keep active sidebar rows visible ( #2794 )
...
refs #2792
2026-08-14 05:01:12 +03:00
akbash and akbash-bot
9351b058f3
fix: reject prompts to blocked agents ( #2790 )
...
* fix: reject prompts to blocked agents
refs #2788
* docs: clarify agent prompt timing
refs #2788
---------
Co-authored-by: akbash-bot <300245827+akbash-bot@users.noreply.github.com >
2026-08-14 01:22:46 +03:00
37644cabe0
fix: wait for new pane shell readiness ( #2774 )
...
* fix: wait for new pane shell readiness
refs #2773
* refactor: share agent startup bounds
refs #2773
* fix: reconcile agent names after startup timeout
refs #2773
* fix: cover agent cleanup scheduling skew
refs #2773
* fix: bound pane shell readiness retries
refs #2773
---------
Co-authored-by: akbash-bot <300245827+akbash-bot@users.noreply.github.com >
Co-authored-by: Ogulcan Celik <ogulcancelik@gmail.com >
2026-08-14 00:18:35 +03:00
Michael Hackner and Ogulcan Celik
f76d7df549
fix: keep tab and sidebar clicks when the terminal reports a stray drag ( #2736 )
...
* fix: keep tab and sidebar clicks when the terminal reports a stray drag
This works around a Ghostty bug that causes herdr tabs to be unclickable
in fullscreen mode.
Ghostty on macOS in native fullscreen emits one motion report after a
fresh press in the strip where the menu bar reveals, with the row
shifted to near the bottom of the grid. The cause is upstream: macOS
delivers one mouse event whose y is nearly a window height away from the
real pointer, and Ghostty reports it as it arrives (iTerm2 and
Terminal.app report the same clicks correctly).
Herdr treated the stray report as a real drag and lost the click two
ways: it opened a tab reorder with no drop target, making the release a
no-op, and it handed the release to the pane under the bogus
coordinates.
Now, a press on the tab bar or sidebar owns the gesture until release,
and a tab drag only starts once the pointer is over a real drop target.
refs #796
* fix: scope chrome mouse gestures to their input source
* fix: preserve chrome drag input source
* fix: preserve concurrent chrome presses
---------
Co-authored-by: Ogulcan Celik <ogulcancelik@gmail.com >
2026-08-13 18:00:32 +03:00
Can Celik
b7dca4bb2a
fix(graphics): support high-dpi direct file frames ( #2680 )
2026-08-13 17:21:26 +03:00