Repository navigation
feat(sidebar): pinned threads fold away behind a Pinned header - #36030
dawid-niedzwiecki wants to merge 1 commit into
Conversation
Pinned threads always took the top of the thread list, with no way to put them out of sight while working on something else. The pinned section now has the same collapsible header as Working, Snoozed and Settled on web, desktop and mobile. It is open by default, each device remembers its choice, and the open thread stays listed while the section is folded. Dropping a thread onto the folded section pins it.
ApprovabilityVerdict: Approved at Macroscope's review found this PR approvable — Adds a device-local Pinned collapse control on web and mobile while keeping pins expanded initially and the open thread visible. The change is limited to sidebar presentation and associated drag behavior, with no obvious material risk requiring human judgment. You can add or adjust custom eligibility rules. Learn more. |
|
No actionable comments were generated in the recent review. Walkthrough
Merge Risk:
|
Problem
Pinned threads always take the top of the thread list. Working, Snoozed and Settled can be folded away, but there is no way to put pins out of sight while working on something else.
Change
The pinned section gets the same collapsible header as the other shelves, on web, desktop and mobile.
pinned-headerlist marker, so the drag projection now uses the header's real height instead of opening label clearance above the pins.v2-pinned-shelflist item sits ahead of the pinned rows in the phone list and the tablet sidebar, with its state stored in mobile preferences.docs/user/thread-sidebar.mddescribes the header and the drop onto a folded section.Web and mobile are in one PR because they are the same behavior on each client.
Scope
This is a feature, not a bug fix, so it is outside what CONTRIBUTING.md accepts by default.
I am opening it because #19690 proposed the same thing for web, was taken over by a maintainer, and was then closed for age with "If the change still matters, open a fresh PR from current
main." This is a fresh implementation on currentmain, with mobile included. The request is also in Ideas: #33372.If this is not wanted, closing it is fine.
Verification
Web
Sidebar.drag.test.ts: a new case gives the Pinned header a real row height. Without the projection change it fails, because pins under the header are shifted up by the label height when a drag starts.Sidebar.browser.test.tsx: folding hides pins except the open thread, and unfolding brings them back.thread.pincommand with an order key and the count went up. Picking up the only visible pin in a folded section and putting it back dispatched nothing.Mobile
threadListV2.test.ts: a folded pinned shelf keeps only the selected thread, and the shelf item precedes the pinned rows.vp run check:changedpasses.Not checked: Android on a device or emulator, the tablet sidebar, a packaged desktop build, and the Boring sidebar by hand (it renders pins through the same path).
Claude Fable 5.2, through the Claude Code harness in T3 Code.