Repository navigation
fix: run prefix bindings for plain text from kitty terminals - #5277
Conversation
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info
📝 Walkthrough
Priority: ➖ Normal Merge Risk: ⚪ Minimal · up to
|
|
@coderabbitai review |
✅ Action performedReview finished.
|
|
…v#5277) refs herdrdev#5255 (cherry picked from commit f53f92d)
Keep our fork features (federation, gram, api-bridge, guest, push, notifications, agent archive/forget/transfer, accounts, staged updates) alongside upstream's v0.9.4, v0.9.5 and unreleased fixes. Most source conflicts keep our fork's Method enum (upstream's define_operations! macro cannot express our cfg-gated and serde-skipped variants). Detection manifests keep our extra rules; Codex integration scripts switch to upstream's canonical version. Upstream highlights: - Persistent macOS/Linux server (SIGHUP no longer stops it) - Session saves on system shutdown/restart - Plugin update command - Keyboard/IME fixes (non-Latin layouts, Ctrl+Shift, accents) - Windows improvements (PowerShell 7 default, clipboard, notifications) - SSH compression and bandwidth improvements - Performance fixes (CPU, memory, hidden pane improvements) - Codex, Claude Code, Pi, Antigravity, Grok detection updates - New platform modules (launchd spawn, power/shutdown) - Vendor patches (libghostty-vt cursor hyperlink, portable-pty Windows dir) refs herdrdev#5310, herdrdev#5278, herdrdev#5236, herdrdev#5303, herdrdev#5308, herdrdev#5275, herdrdev#5280, herdrdev#5282, herdrdev#5277, herdrdev#5276, herdrdev#5270, herdrdev#5269, herdrdev#5252, herdrdev#5249, herdrdev#5247, herdrdev#5241, herdrdev#5242, herdrdev#5192, herdrdev#5232, herdrdev#5212, herdrdev#5174, herdrdev#5173, herdrdev#5171, herdrdev#5092
Since 0.9.4, the key after the prefix is silently dropped when the terminal sends it as plain text instead of a key code. That breaks every prefix shortcut in Tern, Ghostty
text:keybinds that send the prefix plus a key, and macOS CJK input methods (reports also mention iTerm2). Plain typing in Ghostty, kitty and WezTerm sends key codes and was unaffected. Workspace navigation had the same hole.Cause: #5017 treats plain text from a host in Kitty report-all mode as an IME/compose commit. Herdr also switches the host to report-all in prefix and navigate mode, where a committed text has nowhere to go, so the key never reached binding resolution.
Fix: plain text is only a commit when it is bound for the focused pane (terminal mode, no overlay). Everywhere else it stays a key, as in 0.9.3. Pane text commits from #5017 are unchanged.
refs #5255
Validation:
^B+ key), plain key in navigate modejust check