feat(web): rename focused sidebar thread with f2 - #132
Conversation
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 362bf0db6d
ℹ️ About Codex in GitHub
Your team has set up Codex to 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 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| const terminalOpen = selectThreadTerminalUiState( | ||
| useTerminalUiStateStore.getState().terminalUiStateByThreadKey, | ||
| threadRef, | ||
| ).terminalOpen; | ||
| const command = resolveShortcutCommand(event, props.keybindings, { |
There was a problem hiding this comment.
Resolve rename against the active shortcut context
When focus is on an inactive row, this evaluates when clauses using that row's terminal state and defaults other standard context keys to false, while the global shortcut handlers consistently use the active routed thread and current UI state. For example, if the active thread has its terminal open and a user places an f2 binding such as terminal.toggle when terminalOpen after thread.rename, pressing F2 on an inactive row with no terminal incorrectly starts renaming and stops propagation instead of honoring the later binding. Use the same active shortcut context here and in the equivalent LegacySidebar handler.
Useful? React with 👍 / 👎.
Thread transfer impact✅ Thread transfer remains within every enforced ceiling.
Baseline: Scenario and decoded snapshot size10 historical turns, 5 command tools per turn, 878.9 KiB retained MCP result per historical turn, and a 1.05 MiB retained result in the measured turn.
Updated in place by a trusted workflow. PR artifacts are strictly validated and never executed. |
3a4169a to
2d685ba
Compare
3b7ddee to
10388d2
Compare
10388d2 to
0d6733e
Compare
What Changed
Backports pingdotgg/t3code#6454.
Pressing F2 while focus is within a sidebar thread item opens its inline rename field and selects the full title. Enter saves the title and Escape cancels. This works in both sidebar implementations, and the shortcut remains configurable as
thread.rename.The sidebar also retains focus when navigating between threads instead of moving it to the composer.
Why
Thread rename was limited to pointer interactions. F2 makes it keyboard-accessible while keeping the shortcut scoped to the focused thread.
UI Changes
browser-recording-msrelwa3.mp4
Verification
Checklist
Made with GPT-5.6 Sol via the Codex harness in T3 Code.