José Almeida
b0b968cb22
feat(web): add reverse direction to recent task switcher ( #1241 )
...
* feat(web): add reverse direction to recent task switcher
Cmd/Ctrl+Shift+Space now cycles the recent task switcher backward
(most-recent toward oldest), complementing the forward Cmd/Ctrl+Space.
Both directions are user-configurable via Settings > Keyboard Shortcuts.
- new TASK_SWITCHER_REVERSE shortcut; Shift keeps it mutually exclusive
with the forward binding so both can be held together
- thread a cycle direction through openSwitcher/cycleSwitcher; reverse
opens on the oldest non-current task
- commit on release of either binding's hold modifier
- switcher footer shows both Next / Previous bindings
* fix(web): commit task switcher only on the active binding's modifier
Address PR review on the reverse task switcher:
- track the binding that drove the switcher and commit only on ITS hold
modifier release, so divergent custom forward/reverse bindings can't
commit early (greptile/coderabbit)
- move the CycleDirection type below the import block
- correct the reverse-shortcut direction comment (oldest -> most-recent)
- assert exact task titles in the reverse e2e precondition
* test(web): assert task switcher stays open on Shift-release
Make explicit that releasing the secondary modifier alone does not commit
the reverse switcher — only the hold modifier does.
2026-06-02 13:44:17 +01:00
..
2026-05-05 13:55:46 +01:00
2026-06-01 20:44:15 +01:00
2026-05-10 17:30:24 +01:00
2026-05-24 11:21:50 +01:00
2026-06-01 18:07:16 +01:00
2026-05-21 23:35:41 +01:00
2026-06-01 18:07:16 +01:00
2026-05-18 22:04:31 +01:00
2026-03-10 17:30:04 +00:00
2026-05-01 13:27:25 +01:00
2026-05-24 11:21:50 +01:00
2026-05-14 10:27:38 +01:00
2026-05-31 21:37:52 +01:00
2026-06-01 19:36:20 +01:00
2026-04-18 10:32:24 +01:00
2026-05-28 16:27:16 +01:00
2026-05-28 16:27:16 +01:00
2026-05-02 20:26:42 +01:00
2026-05-31 21:37:52 +01:00
2026-06-01 19:36:20 +01:00
2026-05-02 20:26:42 +01:00
2026-05-14 10:27:38 +01:00
2026-05-19 15:53:48 +01:00
2026-05-23 21:19:30 +01:00
2026-05-30 18:07:36 +01:00
2026-05-30 18:07:36 +01:00
2026-05-23 21:19:30 +01:00
2026-05-23 21:19:30 +01:00
2026-05-31 19:41:10 +01:00
2026-05-25 18:15:52 +01:00
2026-05-22 23:08:46 +01:00
2026-05-31 23:04:55 +01:00
2026-05-14 10:27:38 +01:00
2026-05-02 20:26:42 +01:00
2026-05-31 19:41:10 +01:00
2026-05-24 12:59:30 +01:00
2026-05-18 23:08:14 +01:00
2026-05-04 18:53:33 +01:00
2026-05-28 16:23:17 +01:00
2026-05-23 22:23:36 +01:00
2026-05-23 22:23:36 +01:00
2026-05-24 12:59:30 +01:00
2026-05-29 02:35:47 +01:00
2026-05-31 18:48:38 +01:00
2026-05-31 23:04:55 +01:00
2026-05-23 21:13:04 +01:00
2026-05-23 21:13:04 +01:00
2026-05-30 18:02:15 +01:00
2026-05-24 12:59:30 +01:00
2026-05-16 20:07:57 +01:00
2026-05-16 20:07:57 +01:00
2026-03-13 10:44:32 +00:00
2026-05-25 10:04:40 +01:00
2026-05-14 21:26:09 +01:00
2026-05-14 21:26:09 +01:00
2026-05-14 21:26:09 +01:00
2026-05-14 21:26:09 +01:00
2026-05-25 10:04:40 +01:00
2026-05-22 13:46:11 +01:00
2026-05-22 01:41:56 +01:00
2026-05-22 13:46:11 +01:00
2026-05-21 14:01:31 +01:00
2026-05-29 11:08:42 +01:00
2026-05-17 21:26:13 +01:00
2026-05-21 14:01:31 +01:00
2026-05-24 00:28:20 +01:00
2026-06-02 00:14:00 +01:00
2026-04-11 17:43:21 +01:00
2026-03-24 23:38:02 +00:00
2026-05-28 19:16:30 +01:00
2026-04-02 00:08:35 +01:00
2026-05-17 21:26:13 +01:00
2026-05-17 21:26:13 +01:00
2026-05-19 09:18:22 +01:00
2026-03-29 15:33:40 +01:00
2026-05-30 19:16:26 +01:00
2026-03-24 23:38:02 +00:00
2026-05-24 11:26:56 +01:00
2026-04-24 21:31:46 +01:00
2026-05-14 21:26:09 +01:00
2026-05-30 15:47:02 +01:00
2026-05-30 15:47:02 +01:00
2026-05-30 15:47:02 +01:00
2026-05-30 15:47:02 +01:00
2026-04-20 13:44:24 +01:00
2026-05-01 22:32:28 +01:00
2026-05-24 00:28:20 +01:00
2026-05-24 12:59:30 +01:00
2026-05-25 19:14:36 +01:00
2026-05-31 23:04:55 +01:00
2026-05-25 19:14:36 +01:00
2026-05-25 19:14:36 +01:00
2026-03-13 10:44:32 +00:00
2026-05-05 13:55:46 +01:00
2026-05-05 13:55:46 +01:00
2026-03-08 11:03:30 +00:00
2026-05-24 11:21:50 +01:00
2026-05-25 19:14:36 +01:00
2026-05-29 11:08:42 +01:00
2026-05-05 13:55:46 +01:00
2026-05-05 13:55:46 +01:00
2026-05-18 23:08:14 +01:00
2026-06-02 13:44:17 +01:00
2026-06-02 13:44:17 +01:00
2026-05-02 22:25:40 +01:00
2026-06-02 13:44:17 +01:00
2026-06-02 13:44:17 +01:00
2026-06-02 13:44:17 +01:00
2026-05-29 11:06:13 +01:00
2026-05-29 11:06:13 +01:00
2026-04-25 18:40:31 +01:00
2026-05-18 22:04:31 +01:00
2026-05-24 12:59:30 +01:00
2026-05-17 20:16:15 +01:00
2026-05-16 20:07:57 +01:00
2026-05-30 22:53:49 +01:00
2026-05-01 11:00:33 +01:00
2026-05-14 21:26:09 +01:00
2026-04-20 13:44:24 +01:00
2026-05-05 13:55:46 +01:00
2026-05-28 19:17:26 +01:00
2026-05-28 19:17:26 +01:00
2026-03-07 14:53:21 +00:00
2026-05-25 22:09:17 +01:00
2026-05-16 14:04:09 +01:00
2026-05-16 14:04:09 +01:00
2026-05-21 23:35:41 +01:00
2026-04-08 07:55:24 +01:00
2026-05-28 19:17:26 +01:00
2026-05-28 19:17:26 +01:00
2026-05-28 19:17:26 +01:00
2026-05-28 19:17:26 +01:00
2026-05-16 20:07:57 +01:00
2026-05-16 20:07:57 +01:00
2026-05-14 10:27:38 +01:00
2026-05-14 10:27:38 +01:00
2026-05-13 18:04:37 +01:00
2026-05-31 21:37:34 +01:00
2026-05-18 23:08:14 +01:00
2026-05-05 14:13:43 +01:00
2026-05-02 20:26:42 +01:00
2026-05-17 20:16:15 +01:00
2026-04-27 10:22:58 +01:00
2026-04-27 10:22:58 +01:00
2026-04-27 10:22:58 +01:00
2026-04-27 10:22:58 +01:00
2026-04-27 10:22:58 +01:00
2026-04-27 10:22:58 +01:00
2026-05-14 21:26:09 +01:00
2026-05-31 23:04:55 +01:00
2026-05-31 23:04:55 +01:00
2026-05-19 21:44:15 +01:00
2026-05-22 16:54:31 +01:00
2026-05-16 20:07:57 +01:00
2026-05-16 20:07:57 +01:00
2026-05-28 19:17:26 +01:00
2026-06-01 18:07:16 +01:00
2026-05-06 19:05:19 +01:00
2026-05-31 21:37:34 +01:00
2026-04-20 13:44:24 +01:00
2026-05-31 21:37:34 +01:00
2026-05-31 21:37:34 +01:00
2026-05-23 23:17:16 +01:00
2026-05-25 10:04:40 +01:00
2026-05-16 20:07:57 +01:00
2026-05-16 20:07:57 +01:00
2026-05-16 20:07:57 +01:00
2026-05-16 20:07:57 +01:00
2026-05-16 20:07:57 +01:00
2026-05-16 20:07:57 +01:00
2026-05-23 19:27:49 +01:00
2026-05-01 13:27:25 +01:00
2026-05-24 12:59:30 +01:00
2026-04-24 17:14:03 +01:00
2026-05-31 23:04:55 +01:00
2026-05-04 00:53:21 +01:00
2026-05-04 00:53:21 +01:00
2026-05-16 20:07:57 +01:00
2026-05-14 21:26:09 +01:00
2026-05-14 21:26:09 +01:00
2026-04-27 10:22:58 +01:00
2026-05-02 20:26:42 +01:00
2026-05-30 15:47:02 +01:00
2026-05-05 13:55:46 +01:00
2026-05-31 23:04:55 +01:00
2026-05-31 23:04:55 +01:00
2026-04-24 17:14:03 +01:00
2026-05-23 19:27:49 +01:00
2026-03-08 11:03:30 +00:00
2026-04-16 10:14:45 +01:00
2026-05-14 21:26:09 +01:00