Add support for pinned threads in the sidebar#1824
Add support for pinned threads in the sidebar#1824Robrusi wants to merge 4 commits intopingdotgg:mainfrom
Conversation
|
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)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
- Avoid capturing stale pinned thread IDs in thread delete actions - Read the latest pin state when computing fallback navigation
ApprovabilityVerdict: Needs human review This PR introduces a new user-facing feature allowing threads to be pinned in the sidebar, with new UI sections, sorting behavior, and persistence. While self-contained and including tests, new features that introduce user-facing behavior and workflows warrant human review to verify the implementation meets product expectations. You can customize Macroscope's approvability policy. Learn more. |
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 1 potential issue.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit b164956. Configure here.

What changed
This PR adds support for pinning threads in the UI so important conversations are easier to keep in view.
Pinned threads now:
Why
Made it easier to keep track of important threads
Details
UI
Checklist
Testing
bun fmtbun lintbun typecheckbun run testNote
Medium Risk
Moderate risk: changes sidebar rendering/order and navigation indexes, plus persists new
pinnedThreadIdsin localStorage; regressions could affect thread selection, sorting, and post-delete navigation.Overview
Adds pinned threads support in the sidebar: threads can now be pinned/unpinned via single- and multi-select context menus, and pinned items render in a new
Pinnedsection above projects with a pin indicator and optional project folder suffix.Updates thread ordering logic so
sortThreadsForSidebarprioritizesisPinned, and rebuildsvisibleSidebarThreadIdsas pinned-first then projects with deduping to keep keyboard traversal/jump hints stable even when a thread appears in both places.Extends
uiStateStoreto store/persistpinnedThreadIds(including pruning onsyncThreads/clearThreadUi) and updates delete fallback selection inuseThreadActionsto respect pin ordering; includes new unit tests for pin state.Reviewed by Cursor Bugbot for commit 9de609c. Bugbot is set up for automated code reviews on this repo. Configure here.
Note
Add pinned threads support to the sidebar
Pinnedsection at the top of the sidebar that shows pinned threads with a pin icon and folder label suffix.setThreadPinnedto uiStateStore.ts, persisting pin state in localStorage and pruning stale ids when threads are deleted.toggle-pinaction;sortThreadsForSidebarin Sidebar.logic.ts now places pinned threads before unpinned ones.visibleSidebarThreadIds(used for keyboard navigation) is rebuilt as pinned threads first, then per-project threads, deduplicated.Macroscope summarized 9de609c.