Ogulcan Celik
f661fc928b
fix: rerender after pane rename
2026-05-12 16:08:01 +03:00
Ogulcan Celik
4af28fbb65
test: add ime input regressions
2026-05-12 15:54:19 +03:00
Ogulcan Celik
8375922c06
ci: run checks on macos
2026-05-12 15:05:36 +03:00
Ogulcan Celik
af4db0f769
fix: detect nix-wrapped agent entrypoints
2026-05-12 14:12:49 +03:00
8f747e96eb
fix(remote): keep bridge socket path under sun_path ceiling ( #103 )
...
local_forward_socket_path built {TMPDIR}/herdr-remote-{pid}-{target}-
{session}.sock. On macOS std::env::temp_dir() returns /var/folders/.../T/
(~49 chars), so a ~24-char target was enough to push the path past
sun_path's 104-byte ceiling and UnixListener::bind rejected it with
"path must be shorter than SUN_LEN". Per-component sanitization capped
each piece at 32 chars but ignored the directory prefix.
The function now picks the first form that fits within 103 bytes (one
byte of headroom for the trailing NUL; portable across macOS' 104 and
Linux's 108) measured via OsStrExt::as_bytes:
1. Readable name in TMPDIR (unchanged when it fits).
2. Hashed short name in TMPDIR.
3. Hashed short name in /tmp (rare fallback for over-long TMPDIRs).
The hash covers the full unsanitized target/session so uniqueness does
not depend on prefix truncation; the truncated prefix is kept only for
debuggability of the short-form filename.
Co-authored-by: jett <jett@pingcap.cn >
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-12 14:08:41 +03:00
Ogulcan Celik
bcea1d884a
fix: detect macos foreground jobs by process group
...
fixes #100
2026-05-12 13:59:32 +03:00
Ogulcan Celik
f88f33e2d9
fix: omit cursor for mobile switcher overlay
2026-05-12 01:21:09 +03:00
Ogulcan Celik
b8c96102eb
fix: hide mobile switcher cursor
2026-05-12 01:10:03 +03:00
Ogulcan Celik
520f4272d0
feat: add agent cycling and tab wheel switching
...
fixes #92
2026-05-12 00:24:13 +03:00
Ogulcan Celik
8d5dca8cfe
feat: add notification target keybind
2026-05-11 23:47:51 +03:00
Ogulcan Celik
fe693f613a
feat: add optional pane border labels
2026-05-11 23:34:20 +03:00
Ogulcan Celik
84c0d003dd
fix: show tab names in mobile agent switcher
2026-05-11 19:40:50 +03:00
Ogulcan Celik
e12c7a2cef
fix: hide pane cursor while scrolled back
2026-05-11 18:25:44 +03:00
Ogulcan Celik
065ae01b63
fix: drain client control messages during shutdown
2026-05-11 17:00:55 +03:00
Ogulcan Celik
8007c9202c
fix: resize background tabs on terminal resize
2026-05-11 16:44:05 +03:00
Ogulcan Celik
9663028a82
test: disable real sound playback during checks
2026-05-11 16:39:24 +03:00
Ogulcan Celik
55cdf2e8f8
fix: stabilize integration agent state reports
2026-05-11 16:13:17 +03:00
Ogulcan Celik
e201a64763
fix: preserve indexed terminal colors
...
fixes #74
2026-05-11 02:10:05 +03:00
Ogulcan Celik
d284819e4c
fix: make update server stop safer
2026-05-10 22:09:32 +03:00
Ogulcan Celik
3c3f69bc22
fix: preflight running servers before update
2026-05-10 14:06:53 +03:00
Ogulcan Celik
70d217a2a8
docs: document custom command keybindings
2026-05-10 03:08:17 +03:00
Ogulcan Celik
9f210e9738
chore: enable clippy linting
2026-05-09 23:16:24 +03:00
Ogulcan Celik
3a9888cd56
feat: add ansi pane read format
2026-05-09 22:07:52 +03:00
Ogulcan Celik
819a71ea7a
fix: refresh git status off the main loop
...
fixes #85
2026-05-09 21:57:26 +03:00
YoungTaek
78904186dd
Show focus on active agent in agents panel like spaces panel does ( #84 )
...
* feat: show focus on active agent in agents panel like spaces panel does
* refactor: improve to calculation and binding style
2026-05-09 17:21:03 +03:00
Ogulcan Celik
996e1a3ef2
chore: remove unused headless cursor import
2026-05-09 15:58:20 +03:00
Ogulcan Celik
3b53ae6e6e
fix(remote): bootstrap remote herdr install
2026-05-09 15:15:45 +03:00
Ogulcan Celik
d8db1bce7e
refactor(server): extract headless render stream helpers
2026-05-08 23:23:06 +03:00
Ogulcan Celik
251457e887
refactor(server): split headless client transport
2026-05-08 23:16:12 +03:00
Ogulcan Celik
793f127e54
feat(remote): add network-efficient thin client transport
...
Add SSH stdio remote attach, negotiate terminal-ANSI render encoding, move blit encoding server-side for remote clients, and split control/render writer delivery for safer backpressure.
Fixes #76
2026-05-08 22:20:04 +03:00
Ogulcan Celik
bb0dad86f8
fix: split panes in target tab without stealing focus
...
fixes #75
2026-05-08 15:37:01 +03:00
Ogulcan Celik
ac32c1a19b
fix: clear agent toast after focus
2026-05-08 14:56:14 +03:00
Ogulcan Celik
c08e51e666
feat: make agent toasts focus panes
2026-05-08 14:53:45 +03:00
Ogulcan Celik
b0aa7b2cdd
fix: preserve osc8 hyperlinks in client rendering
...
fixes #73
2026-05-07 21:48:50 +03:00
Ogulcan Celik
dcfe11a758
build: update libghostty-vt vendor
...
vendor ghostty 063ac3e and remove the musl libc++ link workaround.
expose the new selection formatter and hyperlink uri apis for follow-up rendering work.
add manual artifact validation for static linux builds.
2026-05-07 18:29:21 +03:00
Ogulcan Celik
2dfed86010
fix: clear hook state when native agent exits
...
fixes #72
2026-05-07 15:06:47 +03:00
Ogulcan Celik
34df89ae65
fix: persist agent panel scope in config
2026-05-06 22:53:56 +03:00
Shoubhit Dash
446eecb4a1
feat: add vesper theme ( #71 )
2026-05-06 21:08:20 +03:00
Ogulcan Celik
b83737bddb
fix: keep pane scrollbar gutter stable
2026-05-06 20:59:57 +03:00
Ogulcan Celik
94b90043f9
fix: clear native agent detection after shell returns
...
fixes #66
2026-05-06 20:17:52 +03:00
Ogulcan Celik
f7b0ee2f75
feat: add mobile terminal layout
2026-05-05 18:32:42 +03:00
Ogulcan Celik
6885c88739
fix: preserve split utf-8 terminal input
2026-05-05 15:25:45 +03:00
Ogulcan Celik
2c950712c7
fix: preserve hidden cursor visibility for ime anchors
2026-05-03 00:12:16 +03:00
Ogulcan Celik
a1c02f0441
fix: anchor ime cursor to focused pane position
2026-05-02 18:39:09 +03:00
Ogulcan Celik
10ba9f023c
fix: stabilize hidden cursor position during client redraw
...
Wrap client frame blits in synchronized output and park hidden cursors at the last visible pane cursor, falling back to bottom-right when no cursor has been seen.
This prevents IME and mobile SSH clients from anchoring composition to incidental repaint positions such as sidebar animations.
2026-05-02 17:36:00 +03:00
Ogulcan Celik
45005f1f73
fix: mark visible done panes seen on terminal focus
2026-05-02 01:23:10 +03:00
Ogulcan Celik
d8bb2ebed9
fix: preserve pane size while detached
2026-04-29 23:50:05 +03:00
Ogulcan Celik
c950670dca
fix: run integration commands without server
2026-04-29 23:24:36 +03:00
Ogulcan Celik
eec56a56a9
fix: restore double prefix passthrough in client mode
2026-04-29 23:14:38 +03:00
Ogulcan Celik
ded6d7bfa6
feat: add human session attach and list output
2026-04-29 21:58:22 +03:00