chore: sync upstream/master into fork master - #12
Open
geril07 wants to merge 31 commits into
Open
Conversation
* fix: order ui accent before nested config tables refs herdrdev#2697 * test: reject duplicate ui accent examples refs herdrdev#2697 --------- Co-authored-by: akbash-bot <300245827+akbash-bot@users.noreply.github.com>
refs herdrdev#3295 Co-authored-by: akbash-bot <300245827+akbash-bot@users.noreply.github.com> Co-authored-by: JJ Liebig <jonathan.liebig@gmail.com>
refs herdrdev#4018 Co-authored-by: akbash-bot <300245827+akbash-bot@users.noreply.github.com> Co-authored-by: JJ Liebig <jonathan.liebig@gmail.com>
refs herdrdev#3710 Co-authored-by: akbash-bot <300245827+akbash-bot@users.noreply.github.com> Co-authored-by: JJ Liebig <jonathan.liebig@gmail.com>
Windows CI runs these documentation contract fixtures under variable load. A degraded runner pushed the preview and versions snapshot integration tests past their 30s ceiling, while a healthy run finishes in seconds. Keep 30s elsewhere and give Windows a 120s ceiling.
…4048) refs herdrdev#3911 Co-authored-by: akbash-bot <300245827+akbash-bot@users.noreply.github.com> Co-authored-by: JJ Liebig <jonathan.liebig@gmail.com>
Live handoff refused any session with more than 64 panes. The pane count was checked twice against MAX_FDS_PER_HANDOFF, and the transfer itself put every pane's pty master into one SCM_RIGHTS control message, so the guard was the only thing keeping the send inside the kernel's per-message limit. A session past the limit could only be updated by closing panes or by a normal restart, which ends every pane process. Send the descriptors in batches of 64 instead and drop both guards. The receiving side accumulates across recvmsg calls until the expected count arrives, bounds every SCM_RIGHTS payload it reads by the control bytes the kernel returned, rejects a batch that carries more descriptors than it asked for, and closes the descriptors it already holds on any failure. A session of 64 panes or fewer still produces one batch, so the bytes on the wire are unchanged and HANDOFF_VERSION stays at 1. refs herdrdev#3393 Co-authored-by: kataokatsuki <kataokatsuki@users.noreply.github.com> Co-authored-by: JJ Liebig <jonathan.liebig@gmail.com>
The clear-only metadata test used a 1 ms ttl, so on loaded Windows runners set_agent_metadata could see the entry as expired, drop it, and recreate it with a None ttl before next_agent_metadata_expiry() ran. Expiry is forced explicitly later in the test, so use a long ttl to keep the no-extension assertion independent of wall-clock scheduling.
…dev#4054) Windows OpenSSH resolves drive-letter Include paths, but Git for Windows' MSYS OpenSSH does not, so the managed remote SSH config silently ignored the user's ~/.ssh/config when herdr ran under Git Bash. Include the user config through ~/.ssh/config, which both implementations expand to the same file. refs herdrdev#3947
refs herdrdev#3106 Co-authored-by: Cameron <cameron@pfiffer.org>
…dev#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 herdrdev#3748
* fix: keep hermes enabled list valid yaml refs herdrdev#3839 * fix: preserve hermes inline list quoting and comments refs herdrdev#3839
* fix(windows): honor default_shell in login shell mode Login-mode panes used portable-pty's default-program builder, which resolves to %ComSpec% (cmd.exe) on Windows and ignores the SHELL env override, so [terminal].default_shell was silently ignored. Build the launch command from the configured shell instead and append the shell's own login flag for POSIX-style shells that support one. refs herdrdev#1445 * fix(windows): add csh and tcsh to login shell flags refs herdrdev#1445
) Windows login-mode PowerShell panes are now launched directly, but the PowerShell prompt-based cwd integration was still gated to non-login mode, leaving those panes without repository-owned cwd reporting after Set-Location. Enable the existing integration for login-mode PowerShell and build the integration args on the shared direct-shell path. Follow-up to herdrdev#4060.
…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 herdrdev#3225 Co-authored-by: JJ Liebig <jonathan.liebig@gmail.com>
* fix: auto-expire worktree action error banners refs herdrdev#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 herdrdev#1827 * test: derive endpoint error expiry assertions from stored deadline refs herdrdev#1827
Codepoints 57364-57375 (F1-F12) were missing from the kitty-protocol codepoint table, so terminals that send function keys as full CSI-u sequences (e.g. Ghostty, which enables the kitty keyboard protocol by default) had those keys silently dropped. Confirmed live against a running herdr session: injecting the raw F3/F4 codepoint sequences did nothing before this fix and correctly triggered previous_tab/next_tab after. refs herdrdev#1809 Co-authored-by: JJ Liebig <jonathan.liebig@gmail.com>
Terminals such as foot send F1-F4 as parameterized CSI-tilde sequences (for example F3 as `\x1b[13;1:1~`). `parse_xterm_modified_special_sequence` mapped codes 15-24 but not 11-14, so these presses were dropped before keybindings saw them. Map 11-14 to F1-F4, matching the unmodified `\x1b[11~`..`\x1b[14~` aliases already accepted. refs herdrdev#1809
* feat: install windows remote host packages refs herdrdev#3651 * docs: clarify windows saved reconnect package behavior refs herdrdev#3651 * fix: include windows installer in nix sources refs herdrdev#3651 * fix: preserve paths in windows scp transfers refs herdrdev#3651 * refactor: isolate windows remote package setup refs herdrdev#3651
refs herdrdev#3621 Co-authored-by: JJ Liebig <jonathan.liebig@gmail.com>
* ci: migrate remaining pinned actions to node24 actions/cache@v4 and mlugg/setup-zig@v2.2.1 still target Node 20, which GitHub removes from runners on 2026-09-23. Bump actions/cache to v6.1.0 and replace mlugg/setup-zig with vercel-labs/setup-zig@v1.0.2. vercel-labs/setup-zig takes only `version`, so the use-cache/cache-size-limit tuning and Zig global-cache reuse are dropped. See the PR for alternatives. * ci: restore zig caching for vercel setup-zig vercel-labs/setup-zig has no cache controls, so redirect the Zig global cache into the workspace .zig-cache and run the Zig build cache step on Linux too. Drop this commit if we switch to a setup action that owns Zig caching, e.g. step-security/setup-zig or xyzzylabs/setup-zig.
# Conflicts: # src/remote/attach.rs
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Sync upstream herdrdev/herdr master (4e1096b) into fork master.
Upstream range fork/master..upstream/master:
4e1096b fix: clarify agent integration settings description
2746ac7 ci: migrate remaining pinned actions to node24 (herdrdev#4023)
6075d25 fix: keep plugins working after client-only updates (herdrdev#4077)
b847e6c fix(linux): bound the foreground process-tree scan (herdrdev#3674)
f8e5922 feat: add ctrl-hover highlighting and fix wrapped links (herdrdev#4074)
5916765 feat: install windows remote host packages (herdrdev#3687)
8be8bff chore: add jjliebig as approved contributor and maintainer
8d213f8 fix: clean up failed terminal observer setup (herdrdev#4071)
a7a1410 fix(input): accept parameterized CSI-tilde F1-F4 keys (herdrdev#4067)
0305fdb fix: recognize kitty CSI-u codepoints for F1 through F12 (herdrdev#2378)
1e3c625 test: deflake federated local input race (herdrdev#4066)
3834fd3 fix: auto-expire worktree action error banners (herdrdev#4063)
f0cb0e0 fix: keep an agent name through a process-exit observation (herdrdev#3574)
ff32bd4 fix(windows): keep powershell cwd reporting in login mode (herdrdev#4065)
38bc172 fix(windows): honor default_shell in login shell mode (herdrdev#4060)
5f26879 fix(ui): keep muted sidebar and tab labels readable (herdrdev#4062)
981fe83 fix: keep hermes enabled list valid yaml (herdrdev#4056)
cb06df6 fix(windows): disable host mouse reporting on terminal restore (herdrdev#4055)
fc1cb77 feat: add Letta Code detection and restore (herdrdev#3107)
3be3523 fix(remote): resolve ssh host aliases from git bash on windows (herdrdev#4054)
63ea231 fix: detect kimi npm shim on windows (herdrdev#4053)
5c0ecc6 test: deflake windows metadata ttl expiry assertion (herdrdev#4050)
d66c39d fix(server): transfer handoff descriptors in batches (herdrdev#3411)
7505c08 fix: retain validated split mouse reports across idle gaps (herdrdev#4048)
540b20f test: relax windows docs snapshot timeout (herdrdev#4049)
858ad4e fix(input): preserve super-modified pane keys (herdrdev#4044)
a5e1c94 fix: restrict claude session hooks to native sources (herdrdev#4046)
9631f8e fix: decouple pixel mouse from pane graphics (herdrdev#4045)
f48cd6a fix: order ui accent before nested config tables (herdrdev#2698)
fc44f61 fix: disconnect stalled terminal observers (herdrdev#4039)