Felipe Coury
111362a6a0
Add a keyboard shortcut menu for presets ( #54381 )
...
## What changed
Replace the `/presets` recall picker with a responsive menu above the composer. Press `0`–`9` to run a saved preset or create one in an empty slot; use `n`, `s`, `e`, and `d` to create, start from current settings, edit, and delete presets.
Add `tui.keymap.chat.open_presets` with an implicit `leader p` shortcut that yields to existing bindings and explicit configuration. Show the action in `/keymap` and add a shortcut tooltip.
Preserve the composer draft, respect popup ownership, and consume held-key repeats after menu actions.
## Testing
Add snapshots for empty, populated, and narrow preset menus, plus coverage for draft preservation, cancellation, held-key handling, transcript search precedence, and default shortcut conflicts.
GitOrigin-RevId: f438c7015dbd416c90cdeb479d2a15d9d6d24954
2026-10-15 19:02:34 +00:00
..
2026-10-12 13:39:54 +00:00
2026-10-14 07:13:22 +00:00
2026-10-09 13:15:39 +00:00
2026-10-14 17:39:43 +00:00
2026-09-30 00:51:39 +00:00
2026-10-15 10:46:59 +00:00
2026-10-11 15:57:06 +00:00
2026-10-14 03:26:47 +00:00
2026-10-14 22:57:03 +00:00
2026-10-08 20:11:43 +00:00
2026-10-14 02:51:53 +00:00
2026-10-12 11:24:22 +00:00
2026-10-12 15:43:27 +00:00
2026-10-06 23:44:17 +00:00
2026-10-09 21:29:36 +00:00
2026-10-07 22:11:14 +00:00
2026-09-30 18:49:29 +00:00
2026-10-14 17:35:13 +00:00
2026-10-01 22:32:29 +00:00
2026-09-29 13:58:09 +00:00
2026-09-29 03:32:19 +00:00
2026-10-10 08:51:21 +00:00
2026-10-10 08:51:21 +00:00
2026-10-08 19:15:17 +00:00
2026-10-10 02:14:13 +00:00
2026-10-15 10:46:59 +00:00
2026-10-15 03:07:27 +00:00
2026-10-15 19:02:34 +00:00
2026-10-15 15:12:58 +00:00
2026-10-15 19:02:34 +00:00
2026-10-06 23:28:55 +00:00
2026-10-13 19:28:21 +00:00
2026-10-08 20:11:43 +00:00
2026-10-15 03:48:33 +00:00
2026-10-15 16:47:55 +00:00
2026-10-15 14:41:16 +00:00
2026-10-15 18:06:57 +00:00
2026-10-13 16:15:41 +00:00
2026-10-15 03:48:33 +00:00
2026-10-07 11:18:05 +00:00
2026-10-01 09:52:54 +00:00
2026-10-07 17:59:22 +00:00
2026-10-13 17:22:34 +00:00
2026-10-14 16:48:00 +00:00
2026-10-15 15:12:58 +00:00
2026-10-10 01:25:00 +00:00
2026-10-14 02:01:49 +00:00
2026-10-14 17:56:24 +00:00
2026-10-08 16:19:09 +00:00
2026-09-29 22:24:09 +00:00
2026-10-09 15:29:50 +00:00
2026-10-14 19:07:44 +00:00
2026-10-14 16:53:24 +00:00
2026-10-08 20:11:43 +00:00
2026-10-07 18:32:50 +00:00
2026-10-02 23:26:27 +00:00
2026-10-06 01:46:33 +00:00
2026-10-15 17:36:47 +00:00
2026-10-15 14:41:16 +00:00
2026-10-14 23:55:50 +00:00
2026-10-06 21:29:35 +00:00
2026-10-15 15:12:58 +00:00
2026-10-15 12:01:04 +00:00
2026-10-10 02:54:59 +00:00
2026-10-12 18:53:49 +00:00
2026-10-07 22:11:14 +00:00
2026-10-14 20:53:59 +00:00
2026-10-14 18:19:02 +00:00
2026-10-07 07:57:14 +00:00
2026-10-15 09:49:32 +00:00
2026-10-14 19:47:50 +00:00
2026-10-13 22:07:59 +00:00
2026-10-15 18:06:57 +00:00
2026-10-02 00:46:14 +00:00
2026-10-12 17:52:12 +00:00
2026-10-15 19:01:43 +00:00
2026-10-15 18:06:57 +00:00
2026-10-10 01:25:00 +00:00
2026-10-15 19:02:34 +00:00
2026-10-01 18:05:05 +00:00
2026-10-13 22:40:57 +00:00
2026-10-14 02:01:49 +00:00
2026-10-01 15:57:03 +00:00
2026-10-08 01:12:16 +00:00
2026-10-12 16:58:24 +00:00
2026-10-01 15:57:03 +00:00
2026-10-07 22:11:14 +00:00
2026-10-15 12:01:04 +00:00
2026-10-14 19:53:12 +00:00
2026-10-12 13:39:54 +00:00