Skip to content

fix(tui): restore navigation keybind defaults - #42066

Merged
kitlangton merged 3 commits into
v2from
restore-tab-keys
Aug 12, 2026
Merged

fix(tui): restore navigation keybind defaults#42066
kitlangton merged 3 commits into
v2from
restore-tab-keys

Conversation

@kitlangton

@kitlangton kitlangton commented Aug 12, 2026

Copy link
Copy Markdown
Contributor

What

Restore the V2 TUI keybind defaults that were unintentionally overwritten or omitted by the command-ID migration in #41882:

  • Option+Up / Option+Down switch to the previous / next open tab.
  • Option+Shift+Up / Option+Shift+Down switch to the previous / next unread tab.
  • Ctrl+0 and <leader>0 select the tenth tab.
  • Ctrl+O opens the recent sessions and projects menu.
  • Ctrl+Shift+T reopens the last closed tab.
  • <leader>I opens image attachments.
  • message navigation remains configurable but unbound by default.
  • bare Home and End remain available for first/last message navigation rather than prompt-buffer boundaries.

Before / After

Before

The command-ID migration replaced the current tab defaults with stale message-navigation and leader-arrow defaults. It also omitted definitions for commands that remained implemented and registered, so their defaults and migrated user overrides disappeared. Home and End were also rebound to prompt-buffer movement despite #40123 intentionally reserving them for message navigation.

After

The centralized command-ID definitions preserve the effective defaults from immediately before #41882 while retaining the new canonical command IDs.

How

  • Restore the affected effective defaults in packages/tui/src/config/keybind.ts using canonical command IDs.
  • Add a focused parity test covering every restored default and omitted command.

Scope

This restores confirmed behavioral parity regressions only. It does not remove unrelated dead command definitions introduced by #41882; those can be audited separately without delaying this fix.

Testing

  • bun run test test/config-v2.test.tsx test/config.test.tsx test/keymap.test.tsx from packages/tui: 31 passed, 0 failed.
  • bunx prettier --check packages/tui/src/config/keybind.ts packages/tui/test/config-v2.test.tsx: passed.
  • git diff --check: passed.
  • bun typecheck from packages/tui: blocked by unrelated generated-schema skew in the dependency-linked clean worktree (location-switched, AI transport, and system-message schema errors); no errors referenced the changed files.

@kitlangton
kitlangton enabled auto-merge (squash) August 12, 2026 15:50
@kitlangton
kitlangton disabled auto-merge August 12, 2026 15:54
@kitlangton
kitlangton enabled auto-merge (squash) August 12, 2026 15:54
@kitlangton
kitlangton disabled auto-merge August 12, 2026 15:55
@kitlangton
kitlangton enabled auto-merge (squash) August 12, 2026 15:56
@kitlangton
kitlangton disabled auto-merge August 12, 2026 15:57
@kitlangton
kitlangton merged commit 653b7d7 into v2 Aug 12, 2026
6 checks passed
@kitlangton
kitlangton deleted the restore-tab-keys branch August 12, 2026 15:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant