aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2026-09-24test: qualify Win32 and Kitty input paths by default (#4587)JJ Liebig
2026-09-24fix: report partial Windows input coverage and clear clipboard for tests (#4566)JJ Liebig
* fix: report partial Windows input coverage and clear clipboard for tests * fix: require evidence from each Windows input channel * fix: reject clipboard format count errors
2026-09-24fix: match navigator search terms independently (#4535)Eric Yue
* fix: match navigator search terms independently refs #4273 * docs: remove redundant navigator search note refs #4273
2026-09-24fix: avoid inferring codex idle from terminal output (#4563)JJ Liebig
refs #4507
2026-09-23fix: prevent cursor flicker on status redraw (#4554)JJ Liebig
* fix: prevent cursor flicker on status redraw * fix: avoid stale cursor during resize
2026-09-23test: wait for complete handoff pid markers (#4538)Eric Yue
* test: wait for complete handoff pid markers * test: wait for complete handoff pid markers
2026-09-23test(windows): capture native console input records (#4520)JJ Liebig
refs #4470
2026-09-23fix: prevent Windows non-text keys from triggering the space prefix (#4510)akbash
refs #4470 Co-authored-by: akbash-bot <300245827+akbash-bot@users.noreply.github.com>
2026-09-23fix: keep synchronized pane frames atomic (#4508)JJ Liebig
refs #2968
2026-09-22fix: detect npm-installed omp on windows (#4502)JJ Liebig
refs #4313
2026-09-22fix: recognize Windows daemons in non-killing jobs (#4489)JJ Liebig
refs #4309
2026-09-22fix: move worktree lookups async (#4492)JJ Liebig
2026-09-22fix: reuse ssh authentication and add machine recovery commands (#4490)Can Celik
* fix: reuse ssh authentication and add in-app mfa recovery refs #3763 * refactor: move ssh recovery to machine cli refs #3763
2026-09-22fix: recognize codex mention completion popups (#4495)JJ Liebig
refs #4220
2026-09-22fix: preserve hook agent status across live handoff (#4493)Can Celik
2026-09-22fix: track opencode subagent status per pane (#4357)Can Celik
refs #1362
2026-09-22fix: stagger restored agent startups (#4487)JJ Liebig
* fix: stagger restored agent startups refs #4102 * fix: report startup delay changes requiring restart refs #4102
2026-09-22fix: clear inherited terminal and agent session identity (#4461)Can Celik
refs #4104
2026-09-21fix: distinguish agent completion from startup and session changes (#4457)Can Celik
refs #3338 refs #3990 refs #3916
2026-09-21fix: honor droid scrollback clear requests in panes (#4432)Ainesh Chatterjee
Remove the droid-specific filter that discarded ED3 before PTY output reached the terminal parser. Keeping stale scrollback beneath replayed primary-screen frames duplicated the welcome header and old transcript. Pass the original bytes to the parser and trackers. Add process-aware regression coverage across PTY chunk boundaries and preserve ED2/ED3 screen-history separation and alternate-screen isolation. Co-authored-by: ain3sh <ainesh.chatterjee@gmail.com> Co-authored-by: factory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com> Co-authored-by: JJ Liebig <jonathan.liebig@gmail.com>
2026-09-21fix: refresh forwarded ssh agents after reconnect (#4443)Can Celik
refs #1931
2026-09-21chore: approve ain3sh contributor accountsOgulcan Celik
2026-09-21perf: index navigator tabs and panes per endpoint (#4426)Eric Yue
2026-09-20docs: publish preview documentationkangal-bot
2026-09-21fix: preserve session layouts across shutdown and restore failures (#4400)Can Celik
* fix: preserve session layouts across shutdown and restore failures refs #4320 * test: update subscription fixture for pane restore errors --------- Co-authored-by: JJ Liebig <jonathan.liebig@gmail.com>
2026-09-20fix: confirm closing the last tab in the tui (#4409)Eric Yue
* fix: confirm closing the last tab in the tui refs #4379 * docs: clarify last-tab worktree confirmation in translations refs #4379 --------- Co-authored-by: JJ Liebig <jonathan.liebig@gmail.com>
2026-09-20fix: reject terminal-less attach before starting a session (#4395)akbash
refs #4393 Co-authored-by: akbash-bot <300245827+akbash-bot@users.noreply.github.com> Co-authored-by: JJ Liebig <jonathan.liebig@gmail.com>
2026-09-20fix: drain event subscriptions and report history loss (#4225)Eric Yue
* fix: drain event subscriptions and report history loss refs #4178 Root cause: Each subscription emits at most one matching event per 100 ms poll, while the shared event history retains only 512 entries. Bursts therefore build a backlog, and an evicted cursor silently resumes at the oldest retained event with no indication that earlier events were lost. Fix: Drain the bounded retained batch for lifecycle and agent-status streams. Check for history loss while holding the same lock used to read events, then return an events_lost error and close only the affected subscription. Keep event envelopes, request shapes, endpoint codecs and wait behavior unchanged. Preserve state filters, initial snapshots, event order and the existing cadence for snapshot-only subscriptions. Document resubscription and snapshot recovery in the unreleased API docs. Add regressions for burst draining, startup-window loss, retention bounds, status ordering and filtering, and unavailable history. Validation: Three socket regressions fail before the fix and pass afterward. Thirty-two focused API tests and five repeated rounds of socket tests pass. The real current-master comparison receives 516 of 600 events before the fix and 600 of 600 after it in about 0.97 seconds. A paused reader receives the explicit error, and a new subscription plus snapshot recovers successfully. Full native just ci on the dependency-inclusive branch passes 3631 Rust tests with six default skips, formatting, all-target Clippy, 112 maintenance tests, six architecture tests and 39 integration-asset tests. All seven docs contract tests pass. No retries or additional exclusions were used. Local Windows cross-lint was not run because its SDK is unavailable. * test: cover subscription isolation across platforms refs #4178 --------- Co-authored-by: JJ Liebig <jonathan.liebig@gmail.com>
2026-09-20fix: preserve explicit worktree workspace membership (#4301)akbash
refs #4293 Co-authored-by: akbash-bot <300245827+akbash-bot@users.noreply.github.com> Co-authored-by: JJ Liebig <jonathan.liebig@gmail.com> Co-authored-by: Can Celik <ogulcancelik@gmail.com>
2026-09-20fix: keep workspace navigation visible in terminal theme (#4408)Eric Yue
* fix: keep workspace navigation visible in terminal theme refs #4300 * fix: clear workspace highlight on directional pane focus refs #4300 --------- Co-authored-by: JJ Liebig <jonathan.liebig@gmail.com>
2026-09-20fix: preserve delayed mouse reports with confirmed keyboard input (#4247)akbash
* fix: preserve delayed mouse reports with confirmed keyboard input refs #3480 * fix: capture geometry before replaying buffered mouse input refs #3480 --------- Co-authored-by: akbash-bot <300245827+akbash-bot@users.noreply.github.com> Co-authored-by: JJ Liebig <jonathan.liebig@gmail.com>
2026-09-20fix: detect codex status with custom interrupt keys (#4196)Ivan
* fix: detect codex status with custom interrupt keys * test: remove unverified codex stale-status cases * fix(detect): match punctuation in codex interrupt hints Accept parentheses in remapped interrupt binding labels and simplify the cheap prefilter to a single any-gate shared by both manifest copies. --------- Co-authored-by: JJ Liebig <jonathan.liebig@gmail.com>
2026-09-20fix: detect kiro status from live controls and osc signals (#4372)Vinay Shah
* fix: detect kiro status from live controls and osc signals refs #4203 * fix: handle variable-height kiro approval panels refs #4203 --------- Co-authored-by: JJ Liebig <jonathan.liebig@gmail.com>
2026-09-20fix: recover the cursor during animated redraws (#4404)JJ Liebig
refs #4303
2026-09-20test(windows): distinguish clipboard paste origin in input gauntlet (#4394)JJ Liebig
* test(windows): distinguish clipboard paste origin in input gauntlet refs #4314 * test(windows): correct gauntlet paste-origin evidence refs #4314
2026-09-19fix: stabilize windows cursor redraws and settle deadlines (#4389)JJ Liebig
* fix: prevent cursor jumps during synchronized redraws refs #4303 * fix: settle cursor positions across delayed windows redraws refs #4303 * fix(windows): hold jump-shaped cursor moves through the max window * fix: bound windows cursor settling and repaint at its deadline refs #4303 --------- Co-authored-by: Ogulcan Celik <ogulcancelik@gmail.com> Co-authored-by: JJLiebig <jj@liebig.gg> Co-authored-by: Axel Karlsson <axelalbertkarlsson@outlook.com>
2026-09-19feat: show every agent and terminal in the go to picker (#4384)Can Celik
2026-09-19feat: add configurable pane screen and scrollback clearing (#4383)Can Celik
2026-09-18test: isolate integration assets from inherited omp environment (#4351)akbash
refs #4346 Co-authored-by: akbash-bot <300245827+akbash-bot@users.noreply.github.com> Co-authored-by: Can Celik <ogulcancelik@gmail.com>
2026-09-18fix: reveal selected agent when cycling the sidebar (#4355)Can Celik
* fix: reveal selected agent when cycling the sidebar * fix: reveal agent after endpoint activation
2026-09-18fix: preserve request ids in socket error responses (#4353)akbash
* fix: preserve request ids in socket error responses refs #4344 * docs: clarify socket error response limits refs #4344 --------- Co-authored-by: akbash-bot <300245827+akbash-bot@users.noreply.github.com>
2026-09-18perf: enable ssh compression for remote connections (#4340)Can Celik
Co-authored-by: JJ Liebig <jonathan.liebig@gmail.com>
2026-09-18test(windows): qualify remote clipboard image paste (#4324)JJ Liebig
* test(windows): qualify remote clipboard image paste refs #4314 * test(windows): verify staged clipboard image contents refs #4314 * test(windows): safely clean failed clipboard leases refs #4314
2026-09-18test: focus agent detection coverage on engine contracts (#4338)Can Celik
2026-09-18fix: correct grok activity detection with custom or disabled osc signals (#4337)Can Celik
refs #4333
2026-09-18fix(windows): preserve mouse capture during refresh (#4319)JJ Liebig
* 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-18test: add local windows input gauntlet (#4298)akbash
* 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-17test: skip windows symlink tests without symlink privilege (#4311)JJ Liebig
Windows refuses file symlinks with ERROR_PRIVILEGE_NOT_HELD (1314) unless the test process is elevated or Developer Mode is enabled, which broke non-admin local runs. Share a helper that reports the missing privilege so the two symlink tests skip only the symlink-dependent assertions.
2026-09-17fix(windows): prefer pwsh for the default pane shell (#4297)JJ Liebig
* fix(windows): prefer pwsh for the default pane shell Windows panes launched Windows PowerShell 5.1 (powershell.exe) whenever [terminal] default_shell was unset, ignoring PowerShell 7 even when pwsh.exe resolved on PATH. Resolve the unset default against PATH and prefer pwsh.exe, falling back to the inbox powershell.exe. An explicit default_shell still wins. * fix(windows): validate pwsh before using it as the default shell portable-pty resolves the configured shell with Path::exists and passes that path to CreateProcessW, which does not fall through to later PATH entries. Selecting an invalid pwsh.exe would therefore break new panes instead of falling back. Only prefer a pwsh.exe that starts with the PE MZ magic, and return its path so the validated binary is the one launched. * fix(windows): validate the full PE header before preferring pwsh Checking only the DOS MZ signature still accepted truncated images, DLLs, and foreign-architecture binaries. Because portable-pty passes the resolved path straight to CreateProcessW without trying later PATH entries, validate the PE signature, the COFF header (machine, executable-image bit, not a DLL, section count), and the optional header before preferring pwsh.exe. * fix(windows): accept native ARM64 pwsh and validate the section table Herdr ships an x64 Windows build that also runs on Windows ARM64 under x64 emulation, so cfg!(target_arch) cannot tell whether a native ARM64 pwsh.exe is launchable. Accept every executable machine type Windows supports instead of rejecting ARM64 on the x86_64 build. Also bound-check the section table (40 bytes per declared section) after the optional header so a truncated table falls back instead of being selected. * fix(windows): detect the native host machine for pwsh compatibility Machine compatibility was derived from cfg!(target_arch), which reports the emulated x64 process on Windows ARM64, and then briefly accepted ARM64 on every host. Read the native machine with IsWow64Process2 in the platform layer instead: ARM64 Windows accepts ARM64/x64/x86 images, x64 accepts x64/x86, and x86 accepts only x86.
2026-09-17fix(windows): temporarily revert VT only mode on Windows (#4295)JJ Liebig
refs #4251