| Age | Commit message (Collapse) | Author |
|
* 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
|
|
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>
|
|
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 #4060.
|
|
* 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 #1445
* fix(windows): add csh and tcsh to login shell flags
refs #1445
|
|
refs #2692
|
|
* fix: keep hermes enabled list valid yaml
refs #3839
* fix: preserve hermes inline list quoting and comments
refs #3839
|
|
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
|
|
refs #3106
Co-authored-by: Cameron <cameron@pfiffer.org>
|
|
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 #3947
|
|
refs #3317
|
|
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.
|
|
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 #3393
Co-authored-by: kataokatsuki <kataokatsuki@users.noreply.github.com>
Co-authored-by: JJ Liebig <jonathan.liebig@gmail.com>
|
|
refs #3911
Co-authored-by: akbash-bot <300245827+akbash-bot@users.noreply.github.com>
Co-authored-by: JJ Liebig <jonathan.liebig@gmail.com>
|
|
refs #3710
Co-authored-by: akbash-bot <300245827+akbash-bot@users.noreply.github.com>
Co-authored-by: JJ Liebig <jonathan.liebig@gmail.com>
|
|
refs #4018
Co-authored-by: akbash-bot <300245827+akbash-bot@users.noreply.github.com>
Co-authored-by: JJ Liebig <jonathan.liebig@gmail.com>
|
|
refs #3295
Co-authored-by: akbash-bot <300245827+akbash-bot@users.noreply.github.com>
Co-authored-by: JJ Liebig <jonathan.liebig@gmail.com>
|
|
* fix: order ui accent before nested config tables
refs #2697
* test: reject duplicate ui accent examples
refs #2697
---------
Co-authored-by: akbash-bot <300245827+akbash-bot@users.noreply.github.com>
|
|
|
|
Co-authored-by: JJ Liebig <jonathan.liebig@gmail.com>
|
|
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.
|
|
* fix: update grok session after new
refs #2681
* fix: avoid powershell args shadowing
refs #2681
---------
Co-authored-by: akbash-bot <300245827+akbash-bot@users.noreply.github.com>
|
|
refs #3329
|
|
* 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>
|
|
refs #3988
|
|
refs #3314
Co-authored-by: akbash-bot <300245827+akbash-bot@users.noreply.github.com>
|
|
refs #3833
Co-authored-by: akbash-bot <300245827+akbash-bot@users.noreply.github.com>
|
|
refs #3651
|
|
refs #3651
|
|
refs #2593
|
|
|
|
refs #3948
Co-authored-by: akbash-bot <300245827+akbash-bot@users.noreply.github.com>
|
|
* fix: support opencode v2 lifecycle reporting
* fix: repair Japanese docs
* fix: ignore payload-less OpenCode events
* fix: harden opencode v2 integration install and reporting
Follow-ups on top of the V2 lifecycle support:
- create `cli.json` when OpenCode has no V1 TUI preferences (`tui.json` or
`kv.json`) to migrate, instead of only registering into an existing file
- settle stalled socket attempts with a plain connect timer, and resend the
latest lifecycle state after a failed delivery so the pane cannot get stuck
- resolve the OpenCode state directory from `XDG_STATE_HOME`
- remove the managed `herdr-opencode` directory on uninstall
- document failed executions reporting `blocked`, keep the integration test
environment independent of an inherited `XDG_STATE_HOME`, and simplify
`reconcileBlockers` to reassign its map
---------
Co-authored-by: Jonathan Liebig <jonathan.liebig@gmail.com>
|
|
refs #1836
|
|
* fix(remote): show SSH authentication output
refs #3606
* test(remote): stabilize SSH authentication output regression
refs #3606
---------
Co-authored-by: akbash-bot <300245827+akbash-bot@users.noreply.github.com>
Co-authored-by: JJ Liebig <jonathan.liebig@gmail.com>
|
|
* fix(config): keep utf8 bom from breaking config reads and writes
refs #3678
* fix(config): only strip displaced boms when config is invalid
refs #3678
* fix(config): strip only boms the toml parser rejects
refs #3678
|
|
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.
|
|
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
|
|
refs #2396
|
|
refs #3785
|
|
refs #3949
|
|
refs #3922
Co-authored-by: akbash-bot <300245827+akbash-bot@users.noreply.github.com>
|
|
refs #3900
|
|
|
|
|
|
|
|
refs #3895
|
|
refs #3883
Co-authored-by: akbash-bot <300245827+akbash-bot@users.noreply.github.com>
|
|
* fix(input): accept WezTerm control key reports
refs #3589
* fix(input): preserve WezTerm tab and escape reports
refs #3589
---------
Co-authored-by: akbash-bot <300245827+akbash-bot@users.noreply.github.com>
|
|
* fix: preserve focused viewer geometry during activation
refs #3744
* fix: preserve geometry through activation sync
refs #3744
---------
Co-authored-by: akbash-bot <300245827+akbash-bot@users.noreply.github.com>
|
|
refs #3798
|