Navigator search treated Escape as either modal close or query reset,
which left no way to return to command mode while keeping the filtered
row set. `/` also rebuilt search mode by clearing the query, so a user
could not resume editing the same filter after backing out.
Make Escape leave search focus only, reserve command-mode Escape for
closing the picker, and let `/` refocus the existing query. The footer
now lists the shortcuts for the active mode so command keys are not
advertised while text input owns them.
refs #1115
interrupt for github copilot (#1120)
* fix: support esc interrupt for github copilot
Github Copilot CLI version v1.0.69-2 introduces the "esc interrupt" prompt.
Update the Github Copilot agent detection manifest to match this prompt and correctly report the agent as working.
Add test cases in tests.rs to verify state detection.
Synchronize the website's copy of the manifest.
refs #1119
* test: clean up github copilot detection rules and tests
Clean up formatting and comments for the github copilot detection rule and tests.
refs #1119
* test: remove copilot manifest literal test
---------
Co-authored-by: Ogulcan Celik <ogulcancelik@gmail.com>
* fix: switch prefix ASCII input source on the foreground client
The macOS prefix ASCII-switch ran in the headless server, whose
TISCopyCurrentKeyboardInputSource read is a stale per-process cache
(refreshed only via a main-run-loop notification the server never pumps),
so prefix could leave the terminal on the wrong input source.
Forward it to the foreground client, like clipboard: sync_prefix_input_source
emits AppEvent::PrefixInputSource as an intent; the server forwards it to the
foreground client and the monolithic app applies it in-process via
RealPrefixInputSource, which pumps its main run loop before the stale TIS read.
Key it on Mode::wants_ascii_input so multi-level prefix commands keep ASCII
until returning to the terminal, and restore the IME for rename text entry.
Adds ServerMessage::PrefixInputSource to the already-unreleased protocol 15.
refs #774
* fix: keep prefix input-source switch out of the headless server process
An App-internal drain (the exhaustive drain at the top of
handle_api_request, reachable from prefix-key runtime mutations) can
consume a queued PrefixInputSource intent before the server's
forwarding drain sees it, applying the TIS switch in the headless
server process and stranding the restore state. Gate the in-process
switch on App.local_input_source_switch, disabled by the headless
server alongside the other local side effects, so a swallowed intent
degrades to a skipped switch. Widen the forwarding-bypass maintenance
test to the handle_internal_event_with_prefix_sync wrapper.
refs #774
* docs: clarify prefix input-source comments and flag docs
refs #774
* fix: bump protocol for prefix input source
refs #774
---------
Co-authored-by: Ogulcan Celik <ogulcancelik@gmail.com>