feat: add pinned threads and thread ID search#2038
feat: add pinned threads and thread ID search#2038jordant97 wants to merge 2 commits intopingdotgg:mainfrom
Conversation
Add two new features to the sidebar: 1. Pinned threads — right-click a thread and select "Pin thread" to pin it to the top of its project's thread list. Pinned state persists across sessions via localStorage. A small pin icon indicates pinned threads. 2. Search threads by ID — the Command Palette (⌘K) now matches against thread IDs in addition to titles, so pasting a copied thread ID finds the thread instantly. A sidebar filter input (filter icon next to Projects header) also supports filtering by ID or title, with results shown even in collapsed projects. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.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)
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 |
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 5070275. Configure here.
ApprovabilityVerdict: Needs human review This PR introduces two new user-facing features: pinned threads and thread filtering by ID/title. While the implementation is frontend-only and well-scoped, new features introducing new UI workflows and state management warrant human review to ensure the behavior meets product expectations. You can customize Macroscope's approvability policy. Learn more. |
When a thread filter query is active, all matching threads are already rendered. Skip the preview limit so hasOverflowingThreads is false and hiddenThreads is empty, preventing a no-op "Show more" button and misleading hidden-thread status indicator. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

Summary
Changed files
apps/web/src/uiStateStore.ts—pinnedThreadKeysstate,pinThread()/unpinThread()actions, persistence & cleanupapps/web/src/components/Sidebar.tsx— Pin icon, context menu entries, pinned-first sorting, filter input UI, auto-expand on filterapps/web/src/components/CommandPalette.logic.ts— Addedthread.idtosearchTermsapps/web/src/uiStateStore.test.ts— Updated test fixtureTest plan
uiStateStore,CommandPalette.logic,threadSort)🤖 Generated with Claude Code
Note
Medium Risk
Adds new persisted UI state (
pinnedThreadKeys) and modifies sidebar thread ordering/filtering logic, which could affect thread visibility/order and localStorage migrations if buggy.Overview
Adds pinned threads in the sidebar: threads can be pin/unpinned from the context menu, display a pin indicator, persist via
uiStateStorelocalStorage, and are sorted to the top of each project’s thread list.Adds a sidebar thread filter UI that filters threads by ID or title (showing all matches without the preview limit), and extends command palette thread search to include
thread.idinsearchTermsfor ID-based lookup.Reviewed by Cursor Bugbot for commit 53d0193. Bugbot is set up for automated code reviews on this repo. Configure here.
Note
Add pinned threads and thread ID search to the sidebar
Macroscope summarized 53d0193.