feat: Add Vim-style keyboard navigation for chat#2124
Conversation
|
@codex review |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 65e15bf5ec
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
|
@codex review |
|
Codex Review: Didn't find any major issues. Keep them coming! ℹ️ About Codex in GitHubCodex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
If Codex has suggestions, it will comment; otherwise it will react with 👍. When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback". |
|
@codex review |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 547ee75436
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
|
@codex review |
|
Codex Review: Didn't find any major issues. Another round soon, please! ℹ️ About Codex in GitHubCodex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
If Codex has suggestions, it will comment; otherwise it will react with 👍. When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback". |
Add optional Vim-style keyboard navigation for the chat messages area: - Hold j/k to continuously scroll messages (RAF-based smooth scrolling) - Press i to focus the input editor - Press Escape in input to return focus to messages - Click non-interactive areas to focus messages container - Configurable key mappings via settings UI (map <key> <action> format) Includes settings validation (single-char, unique, case-insensitive keys), accessibility labels on focusable regions, text selection preservation, and proper cleanup of global listeners and animation frames.
|
@codex review |
|
Codex Review: Didn't find any major issues. Chef's kiss. ℹ️ About Codex in GitHubCodex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
If Codex has suggestions, it will comment; otherwise it will react with 👍. When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback". |
Issues
This PR introduces Vim-style keyboard navigation to the chat interface, allowing users to navigate messages and control focus using keyboard shortcuts.
Features
j/kfor scroll,ito focus input,Escapeto return to messages)map <key> <action>)Implementation
useVimNavigationhook (src/hooks/useVimNavigation.ts): Core navigation logic with RAF-based scrollingVimEscapePlugin(src/components/chat-components/plugins/VimEscapePlugin.tsx): Lexical plugin for Escape key handlingTest Plan
Actual Effect
2026-01-20.17.26.38.mov