feat(web): add drag-to-reorder for sidebar thread sections - #6069
feat(web): add drag-to-reorder for sidebar thread sections#6069adhyaay-karnwal wants to merge 2 commits into
Conversation
Users can hold and drag threads within active, snoozed, and settled sections without visible drag handles. Order persists locally per section while pinned threads keep server-synced ordering. Co-authored-by: Cursor <cursoragent@cursor.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 Plus Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
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 using high effort and found 1 potential issue.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Want fixes drafted automatically? Bugbot Autofix can create code changes for findings. A team admin can enable Autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit e9303dc. Configure here.
Snoozed and settled threads use the slim row variant, which returned before applying the dnd-kit sortable ref, listeners, and transform — so those sections could never be reordered. Co-authored-by: Cursor <cursoragent@cursor.com>
ApprovabilityVerdict: Needs human review This PR introduces a new user-facing feature (drag-to-reorder for sidebar thread sections) with new state management and UI interactions. New features warrant human review to validate the behavior and user experience. You can customize Macroscope's approvability policy. Learn more. |

Summary
threadOrderBySectionin UI state; pinned threads continue using server-syncedpinOrderKeyorderingTest plan
pnpm exec vitest run src/uiStateStore.test.ts(17 tests pass)Made with Cursor
Note
Add drag-to-reorder for active, snoozed, and settled sidebar thread sections
DndContextandSortableContext(via dnd-kit), allowing threads to be reordered by dragging within their section; cross-section drops are ignored.reorderThreadspure function and store action in uiStateStore.ts that merges visible reordered ids with hidden thread positions to avoid losing filtered-out threads.threadOrderBySectioninPersistedUiState.z-20 opacity-80); pinned rows continue to use the existing sortable path.Macroscope summarized a7652a6.