[codex] debounce thread jump hint pills#1526
Merged
juliusmarminge merged 5 commits intomainfrom Mar 30, 2026
Merged
Conversation
Co-authored-by: codex <codex@users.noreply.github.com>
|
Important Review skippedAuto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Repository UI Review profile: CHILL Plan: Pro Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
Co-authored-by: codex <codex@users.noreply.github.com>
Co-authored-by: codex <codex@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Debounce the thread jump hint pills in the sidebar so they only appear after the jump modifiers have been held briefly.
What changed
Why
The pills were flashing whenever the jump modifier was pressed as part of unrelated shortcuts like Cmd+Tab, which made the sidebar feel noisy.
Impact
Thread jump shortcuts still work the same way, but the hint pills no longer pop in immediately for transient modifier presses.
Validation
cd apps/web && bun run test src/components/Sidebar.logic.test.tsbun fmtbun lintbun typecheckNotice the difference when Cmd+Tabbing from the desktop app (prod) vs The browser (dev). The pills doesn't flash
CleanShot.2026-03-29.at.09.36.39.mp4
Note
Debounce thread jump hint pills with a 100ms delay in the Sidebar
createThreadJumpHintVisibilityControllerin Sidebar.logic.ts to delay showing thread jump hints byTHREAD_JUMP_HINT_SHOW_DELAY_MS(100ms) while hiding them immediately when modifiers are released or the window loses focus.useThreadJumpHintVisibilityReact hook to wire the controller into the Sidebar, replacing the previous immediate-show state.getVisibleSidebarThreadIdsto exclude threads from projects whereshouldShowThreadPanelis false, so jump shortcuts and ordered thread IDs no longer include threads from collapsed projects.Macroscope summarized 6f731bf.
Note
Medium Risk
Changes keyboard-hint visibility timing and the set/order of threads considered “visible” for jump commands, which can subtly affect sidebar keyboard navigation and hint rendering. Limited scope to sidebar UI logic with added unit tests for the timer controller.
Overview
Debounces sidebar thread-jump hint pills by introducing
createThreadJumpHintVisibilityController(anduseThreadJumpHintVisibility) so hints only appear afterTHREAD_JUMP_HINT_SHOW_DELAY_MSand hide immediately on modifier release/blur.Adjusts visible thread ordering for keyboard jump commands by updating
getVisibleSidebarThreadIdsto omit threads from projects whose thread panel isn’t shown, and reworksSidebar.tsxjump-command indexing to use this filtered list. Adds Vitest coverage for the delayed show/cancel/hide behavior and the new visibility filtering.Written by Cursor Bugbot for commit 6f731bf. This will update automatically on new commits. Configure here.