Commit Graph
1849 Commits
Author SHA1 Message Date
JJ Liebig fbd2ae2392 fix: silence powershell progress clixml on windows remotes (#5282)
PowerShell serializes progress records such as module auto-loading's
"Preparing modules for first use." to the stderr CLIXML stream when stderr is
redirected under `-EncodedCommand`, and Herdr forwards that stderr during
interactive remote setup. Set `$ProgressPreference = 'SilentlyContinue'` in the
shared Windows PowerShell preamble so `machine add` and `--remote` no longer
print raw CLIXML records.

refs #4639

(cherry picked from commit 8a20d0b7b5)
preview-2026-10-14-fbd2ae23927f
2026-10-14 18:22:31 +03:00
JJ Liebig 808790bbc1 fix: decode windows agent hook stdin as utf-8 (#5270)
Every bundled Windows PowerShell hook read its hook JSON with
`[Console]::In.ReadToEnd()`, which decodes stdin using the process console
input code page instead of UTF-8. On Korean Windows (CP949) that corrupts
the payload, `ConvertFrom-Json` throws, and the hook silently exits without
reporting the session. Read the raw stdin stream as UTF-8 (BOM-aware) in
every PowerShell hook and bump the affected integration versions.

refs #5253

(cherry picked from commit 00584a2794)
2026-10-14 18:22:31 +03:00
JJ Liebig aada5ac3c0 fix: skip directories when resolving Windows programs on PATH (#5269)
portable-pty's Windows search_path accepted any existing candidate, so a directory on PATH whose name matched the program shadowed the real executable and CreateProcessW failed with os error 5. Require a regular file for both the exact name and the PATHEXT candidates.

refs #5267

(cherry picked from commit 576dd3670d)
2026-10-14 18:22:31 +03:00
Can Celik c0e89d6b4f fix: detect blocked questions in named claude sessions (#5192)
refs #4573

(cherry picked from commit 9c38bbc64e)
2026-10-14 18:22:31 +03:00
Can Celik 171a803195 fix: drop codex turn status hooks (#5278)
refs #4507

(cherry picked from commit 287da8072f)
2026-10-14 18:22:31 +03:00
Can Celik 5e77bec2a8 fix: run prefix bindings for plain text from kitty terminals (#5277)
refs #5255

(cherry picked from commit f53f92dd40)
2026-10-14 18:22:31 +03:00
Ogulcan Celik 7e26bad940 release: v0.9.4 v0.9.4 2026-10-13 18:30:14 +03:00
Ogulcan Celik aaa4a097ea docs: prepare 0.9.4 release notes 2026-10-13 18:19:47 +03:00
Can Celik 6d697e1e75 fix: detect codex startup update chooser (#5174)
refs #4811
preview-2026-10-12-6d697e1e75ff
2026-10-12 16:22:24 +03:00
Can Celik dc6b6e5f42 fix: confirm closing a workspace's last pane in the tui (#5173)
refs #5143
2026-10-12 01:50:48 +03:00
4d8a601a3c fix: keep sgr pixel mouse units consistent (#4971)
* fix: keep sgr pixel mouse units consistent

refs #3675

* fix: keep starting when the host leaves pixel mouse mode set

refs #3675

---------

Co-authored-by: akbash-bot <300245827+akbash-bot@users.noreply.github.com>
Co-authored-by: Ogulcan Celik <ogulcancelik@gmail.com>
2026-10-12 00:21:05 +03:00
Can Celik dc220d5205 fix: reject workspace numbers past the last workspace (#5171)
refs #5096
2026-10-11 23:58:29 +03:00
Eric YueandCan Celik be0e73f724 fix: reject oversized canonical input on macos (#4988)
refs #4950

Co-authored-by: Can Celik <ogulcancelik@gmail.com>
2026-10-11 23:39:48 +03:00
Can Celik 642134ac74 fix: save sessions before agents die during macos restart (#5092)
* fix: save sessions before agents die during macos restart

refs #4414

* fix: keep macos shutdown detection ordered across handoff

refs #4414

* fix: avoid aliasing the macos notify block

refs #4414

* test: make macos shutdown ordering tests deterministic

refs #4414
2026-10-11 23:37:52 +03:00
Eric Yue a9711f65b3 fix: preserve hermes plugin list structure (#4984)
refs #4909
2026-10-11 23:26:18 +03:00
Can Celik e73d21ea29 fix: restore keyboard protocol flags after a terminal reconnect (#5088)
* fix: restore keyboard protocol flags after a terminal reconnect

refs #4985

* test: cover keyboard protocol refresh with an outer kitty mode

refs #4985
2026-10-11 23:19:42 +03:00
JJ Liebig 75f46fe812 fix: reduce interactive pane echo latency (#5149)
* fix: reduce interactive pane echo latency

refs #4884

* fix: preserve accepted input priority and skip unchanged cursor writes

refs #4884
2026-10-11 14:49:54 +02:00
JJ Liebig 6b1f9f6c5b fix: flush session saves before replacing persisted files (#5152)
refs #5150
2026-10-11 14:41:59 +02:00
Can Celik 2563803dca fix: open goto search on shifted slash in report-all panes (#5090)
* fix: open goto search on shifted slash in report-all panes

refs #4963

* fix: use the typed character for overlay slash and text shortcuts

refs #4963

* fix: require typed evidence for a shifted slash in goto

refs #4963
2026-10-08 23:12:44 +03:00
Can Celik abf0d07cf8 fix: map non-latin layout ctrl chords to their base keys (#4961)
* fix: map non-latin layout ctrl chords to their base keys

refs #1079

* fix: keep us shifted symbols for non-latin punctuation chords

* fix: limit base-key chords to non-latin scripts and skip altgr-like ctrl+alt

* fix: recover shifted key alternates from vt bytes on windows input

* fix: cover cherokee, syllabics, mongolian and nearby scripts in base-key chords

* fix: cover lowercase cherokee supplement in base-key chords

* fix: only reparse windows vt keys that carry a shifted kitty alternate

* fix: match ghostty for layout ctrl chords and drop extra rewrites

* fix: keep shift-implied layout ctrl chords on the layout key

* fix: pair layout chord releases when modifiers change first

* fix: lease layout ctrl chords by their reported key
2026-10-08 23:12:29 +03:00
JJ Liebig fe935882f0 perf: reuse unchanged windows shell detection text (#5091) 2026-10-08 21:55:17 +02:00
Can Celik f5e7f41d7a fix: drop an unfinished host color reply after an idle timeout (#5087)
* fix: stop waiting forever for an unfinished host color reply

refs #5052

* fix: keep input that follows an unfinished host color reply

refs #5052

* fix: drop an unfinished host color reply after an idle timeout

refs #5052
2026-10-08 22:16:19 +03:00
Can Celik 3928966591 fix: deliver quick esc taps on macos with kitty keyboard (#5089)
* fix: deliver quick esc taps on macos with kitty keyboard

refs #1266

* test: cover esc splitting edge cases under the macos input policy

refs #1266
2026-10-08 22:15:37 +03:00
cce57bc32c perf: reuse unchanged shell detection text (#5085)
* perf: reuse unchanged shell detection text

refs #5083

* perf: reuse unchanged shell detection text

refs #5083

---------

Co-authored-by: akbash-bot <300245827+akbash-bot@users.noreply.github.com>
Co-authored-by: JJ Liebig <jonathan.liebig@gmail.com>
2026-10-08 20:26:14 +02:00
Eric Yue 4f8961180c fix: preserve literal plus keybindings (#4983)
refs #4960
2026-10-08 19:22:51 +03:00
JJ Liebig 4dc23bb15d fix: respect mouse capture when routing hyperlink clicks (#5064)
refs #4874
2026-10-08 01:30:46 +02:00
JJ Liebig 4f296c295b fix: preserve windows shell working directories (#5062)
refs #4472
2026-10-08 00:01:30 +02:00
JJ Liebig 848075ff8c fix: retain workspace navigation during machine switches (#5061)
refs #5019
2026-10-07 23:06:20 +02:00
akbash 376bafc8ab fix: honor the kitty graphics opt-out (#4979) 2026-10-07 23:18:49 +03:00
Can Celik 1b23719b3e fix: tell fish that herdr reflows its prompt on resize (#4977)
* fix: tell fish that herdr reflows its prompt on resize

refs #3672

* fix: match fish_handle_reflow casing exactly on windows

refs #3672

* test: keep temp path out of fish env spawn test command

refs #3672
2026-10-07 22:37:33 +03:00
JJ Liebig d46cb1bad7 fix: preserve windows sessions during shutdown (#5057)
refs #5013
2026-10-07 21:29:35 +02:00
JJ Liebig 4e624cd50e fix: preserve windows accent-key shortcuts (#5021) 2026-10-07 16:48:40 +02:00
Can Celik a124eed73c refactor: route all pane key encoding through libghostty (#5017)
* test: add input transparency conformance harness

* test: cover split host replies in input conformance harness

* fix: let libghostty encode every key sent to panes

* refactor: read live keyboard modes only from libghostty

* fix: wait for split input sequences instead of typing their fragments

* refactor: drop unused keyboard protocol argument from pane key encoding

* test: fix windows-only keyboard mode tests after libghostty mode refactor

* test: measure windows key record transparency against the keyboard layout

* fix: forward windows punctuation and altgr chords that produce no character

* test: expect libghostty kitty encoding in the windows conpty probe and cover release, alternate, text and modifyOtherKeys passthrough

* ci: lint windows-only test code in the cross-platform windows check

* refactor: delete herdr's own key encoder

* test: expect xterm modifyOtherKeys 2 encoding for shifted letters in the windows gauntlet

* refactor: read windows input through one native console reader

* refactor: parse sgr mouse reports once and map pixel reports without rewriting them

* refactor: decode framed input once instead of re-framing it in the client

* fix: keep macos alt, non-us kitty keys, text releases and reply-tail recovery correct after the libghostty switch

* fix: stop waiting for host replies the terminal never sends

* fix: deliver shifted punctuation releases after shift is let go

* fix: never type super, hyper or meta chords into panes that cannot read them

refs #4356

* test: replay reporter captures for fixed split-read and key-release issues

refs #4856
refs #4025
refs #4184

* fix: forward f1, f2 and f4 from kitty keyboard hosts

refs #4403

* fix: send pixel mouse reports to unfocused panes and only when the host supports them

refs #4750

* fix: treat 0x08 as backspace when the terminal's erase key is ctrl+h

refs #3244

* test: fix macos lint and keep the pixel mouse server test unix-only

* fix: deliver legacy alt+escape on macos instead of dropping it

* fix: address review findings on super+enter, held key releases and the pixel mouse probe

* test: expect super+enter to stay out of plain windows panes

* test: wait for the host pixel mouse mode instead of reading the channel once

* fix: send ctrl+shift+letter to plain shells as its control byte

* fix: encode each key under one keyboard mode snapshot

* fix: keep ime text intact and stop inventing key releases for committed text

* fix: release held key reports on focus loss and never drop held-key leases

* fix: send ctrl chords on non-latin layouts as their physical key

* fix: match non-latin ctrl chord releases after ctrl is let go

* fix: drop super chords before the windows conpty fallback in plain panes
2026-10-07 04:53:29 +03:00
Can Celik 3d9d2b18da fix: keep the server alive when thread spawns fail (#4958)
* fix: keep the server alive when thread spawns fail

refs #3324

* fix: keep thread spawn fallbacks from dropping work

refs #3324

* fix: validate agent prompts before starting the waiter

refs #3324

* fix: retry failed startup git refresh without clients

refs #3324

* fix: time plugin commands from their exit

refs #3324

* fix: make plugin finish time test independent of load

refs #3324
2026-10-06 00:46:23 +03:00
dependabot[bot] ff83689f15 chore(deps): bump Swatinem/rust-cache (#4956)
Bumps [Swatinem/rust-cache](https://github.com/swatinem/rust-cache) from e18b497796c12c097a38f9edb9d0641fb99eee32 to f0d9c3887740aee45f6153b24b3a6b815192ec16.
- [Release notes](https://github.com/swatinem/rust-cache/releases)
- [Changelog](https://github.com/Swatinem/rust-cache/blob/master/CHANGELOG.md)
- [Commits](https://github.com/swatinem/rust-cache/compare/e18b497796c12c097a38f9edb9d0641fb99eee32...f0d9c3887740aee45f6153b24b3a6b815192ec16)

---
updated-dependencies:
- dependency-name: Swatinem/rust-cache
  dependency-version: f0d9c3887740aee45f6153b24b3a6b815192ec16
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-10-05 22:40:09 +03:00
dependabot[bot] c509de4158 chore(deps): bump the cargo-dependencies group across 1 directory with 3 updates (#4955)
Bumps the cargo-dependencies group with 3 updates in the / directory: [regex](https://github.com/rust-lang/regex), [serde](https://github.com/serde-rs/serde) and [futures-util](https://github.com/rust-lang/futures-rs).


Updates `regex` from 1.12.3 to 1.13.1
- [Release notes](https://github.com/rust-lang/regex/releases)
- [Changelog](https://github.com/rust-lang/regex/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rust-lang/regex/compare/1.12.3...1.13.1)

Updates `serde` from 1.0.228 to 1.0.229
- [Release notes](https://github.com/serde-rs/serde/releases)
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.228...v1.0.229)

Updates `futures-util` from 0.3.33 to 0.3.34
- [Release notes](https://github.com/rust-lang/futures-rs/releases)
- [Changelog](https://github.com/rust-lang/futures-rs/blob/main/CHANGELOG.md)
- [Commits](https://github.com/rust-lang/futures-rs/compare/0.3.33...0.3.34)

---
updated-dependencies:
- dependency-name: futures-util
  dependency-version: 0.3.34
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: cargo-dependencies
- dependency-name: regex
  dependency-version: 1.13.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: cargo-dependencies
- dependency-name: serde
  dependency-version: 1.0.229
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: cargo-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-10-05 22:39:55 +03:00
Can Celik 950d012cf0 fix: keep agent sessions while the agent is suspended or backgrounded (#4964)
* fix: keep agent sessions while the agent is suspended or backgrounded

refs #1647
refs #1033

* fix: drop a suspended agent's session when a new one of its kind takes over

refs #1647
2026-10-05 22:33:44 +03:00
Can Celik c4653a4f10 fix: keep the server running on hangup and log why it stops (#4965) 2026-10-05 19:21:31 +03:00
Can Celik 6976ae377a fix: stop probing the forwarded ssh agent every second (#4962) 2026-10-05 19:21:00 +03:00
Can Celik fabcab108f fix: detect agy dialogs and mid-turn work, treat background work as idle for agy and grok (#4959)
refs #3871
refs #3530
refs #4735
refs #3419
2026-10-05 18:56:03 +03:00
Can Celik b06480673b chore: hold ratatui updates until kana rendering is fixed (#4953) 2026-10-05 17:25:08 +03:00
dependabot[bot] 747c6920f8 chore(deps): bump the github-actions group with 3 updates (#4949)
Bumps the github-actions group with 3 updates: [taiki-e/install-action](https://github.com/taiki-e/install-action), [cachix/install-nix-action](https://github.com/cachix/install-nix-action) and [softprops/action-gh-release](https://github.com/softprops/action-gh-release).


Updates `taiki-e/install-action` from 2.81.9 to 2.87.22
- [Release notes](https://github.com/taiki-e/install-action/releases)
- [Changelog](https://github.com/taiki-e/install-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/taiki-e/install-action/compare/fd2f5e3d644b484055ebf4268f474c565f148f25...83ac0ad63c0167e6f06796fab0fce28db1bf3db0)

Updates `cachix/install-nix-action` from 31.10.6 to 31.11.1
- [Release notes](https://github.com/cachix/install-nix-action/releases)
- [Changelog](https://github.com/cachix/install-nix-action/blob/master/RELEASE.md)
- [Commits](https://github.com/cachix/install-nix-action/compare/8aa03977d8d733052d78f4e008a241fd1dbf36b3...13d8dd58da0234aa297dedd986986ccb8e7f3e24)

Updates `softprops/action-gh-release` from 3.0.0 to 3.0.3
- [Release notes](https://github.com/softprops/action-gh-release/releases)
- [Changelog](https://github.com/softprops/action-gh-release/blob/master/CHANGELOG.md)
- [Commits](https://github.com/softprops/action-gh-release/compare/b4309332981a82ec1c5618f44dd2e27cc8bfbfda...efb35369e0ad2afab669f228072c1b0d510eae64)

---
updated-dependencies:
- dependency-name: taiki-e/install-action
  dependency-version: 2.87.22
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: github-actions
- dependency-name: cachix/install-nix-action
  dependency-version: 31.11.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: github-actions
- dependency-name: softprops/action-gh-release
  dependency-version: 3.0.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: github-actions
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-10-05 17:24:49 +03:00
JJ Liebig b977116cd7 feat: update managed plugins from GitHub (#4245) 2026-10-05 17:08:32 +03:00
Eric Yue e5443f077c fix: keep session restore responsive during git discovery (#4945)
refs #4926
2026-10-05 16:36:33 +03:00
Can Celik 9609a5a1e7 chore(deps): take compatible cargo updates and split major bumps (#4946) 2026-10-05 16:25:28 +03:00
Komsan Nipharat 040d345d3b fix(input): leave navigate mode on ctrl+[ (#2340)
refs #1431
2026-10-05 14:33:28 +03:00
JJ Liebig 49848effb0 fix: require opt-in for cross-elevation Windows access (#4779)
refs #4717
2026-10-05 13:52:33 +03:00
Eric YueandJJ Liebig b51c6abe2d fix: retain remote sidebar preferences across attaches (#4536)
* fix: retain remote sidebar preferences across attaches

refs #4364

* test: cover remote preference identity handoff

---------

Co-authored-by: JJ Liebig <jonathan.liebig@gmail.com>
2026-10-05 13:50:59 +03:00
Eric Yue 2923ce8747 fix: keep sidebar collapse clickable with agent scrollbars (#4734)
* fix: keep sidebar collapse clickable with agent scrollbars

refs #4692

* docs: document sidebar mouse handling and regression coverage

refs #4692
2026-10-05 13:43:24 +03:00
e35f3937b0 fix: recognize Hermes launched through its Python wrapper (#4911)
refs #4910

Co-authored-by: akbash-bot <300245827+akbash-bot@users.noreply.github.com>
Co-authored-by: JJ Liebig <jonathan.liebig@gmail.com>
2026-10-04 17:33:54 +02:00