Repository navigation
Conversation
Threads could be marked unread from the menu, but there was no shortcut. Add thread.toggleUnread (default mod+shift+u) so the open thread can be toggled from the keyboard, command palette, and Settings. Made-with: Cursor Grok 4.6 Co-authored-by: Gilad Leifman <Mizaro@users.noreply.github.com>
ApprovabilityVerdict: Not approved Macroscope's review found this PR not approvable — This adds a new production keyboard command and enables it by default through the shared keybinding defaults, with corresponding behavior in ChatView, the command palette, settings, and persisted UI state. The default shortcut changes user-facing product behavior and warrants human review. You can add or adjust custom eligibility rules. Learn more. |
|
Understand this PR’s impact Explore downstream dependencies and potential security impact with Blast Radius. Important Review skippedReview was skipped as selected files did not have any reviewable changes. ⚙️ Run configurationConfiguration used: Repository: pingdotgg/t3code/.coderabbit.yaml Review profile: CHILL Plan: Advanced Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Repository: pingdotgg/t3code/.coderabbit.yaml Review profile: CHILL Plan: Advanced Run ID: 📒 Files selected for processing (12)
Included review availability: Your plan provides up to 10 included reviews per hour; 9 remain after this review. 📝 WalkthroughWalkthroughThe change adds shared thread unread evaluation and toggling to the UI state store. It adds the ChangesThread read toggle
Priority: ⬇️ Low Estimated code review effort: 3 (Moderate) | ~25 minutes Change: Feature Sequence Diagram(s)sequenceDiagram
participant User
participant ChatView
participant CommandPalette
participant UiStateStore
participant Sidebar
User->>ChatView: Press Mod+Shift+U
ChatView->>UiStateStore: Toggle active thread read state
User->>CommandPalette: Select read-state action
CommandPalette->>UiStateStore: Toggle scoped thread read state
UiStateStore-->>Sidebar: Updated visit timestamp
Sidebar->>UiStateStore: Evaluate unread status
Suggested reviewers: 🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
|
Thanks for working on this. We merged the orchestrator V2 rewrite in #2829, and we are closing this PR as part of that transition. This PR adds read/unread keyboard and command-palette behavior throughout the old latestTurn.completedAt model. V2 changed the thread completion/read-status inputs, so the multi-entry-point implementation must move to latestRun. Sorry for the extra work this creates. If the change is still needed on V2, please rebuild it on current main, verify it there, and open a new PR linking back here. We're closing the current implementation without assuming the underlying request is resolved. |
What Changed
Add a
thread.toggleUnreadkeybinding so the open thread can be marked unread or read from the keyboard.mod+shift+u(⌘⇧U/Ctrl+Shift+U), with!terminalFocusso it does not steal terminal inputToggling unread after opening a thread sticks until you leave or a later completion retriggers the visit stamp.
Why
Threads could already be marked unread from the context menu, but there was no shortcut. Pin and settle already have
mod+shiftbindings; this follows that pattern so read/unread is reachable from the chat view, Settings, and the command palette.UI Changes
Settings lists the new binding as Thread: Toggle Read/Unread (
Ctrl+Shift+U, when!terminalFocus):Open thread starts read (relative time, no unread badge):
Ctrl+Shift+Umarks it unread (green Done pill in the sidebar):Command palette exposes Mark unread with the same shortcut, and searching "unread" also finds the Settings row:
End-to-end: Settings, then toggling the demo thread unread and read twice with
^⇧U, then palette search showing Mark unread:https://github.com/Mizaro/t3code/releases/download/pr-12832-ui-evidence/toggle_thread_unread_shortcut.mp4
Checklist