Problem
The sidebar has no local search/filter. Native right-click menus and visible overflow menus expose different actions, busy chats can lose their overflow control, project context-menu “New chat” can bypass the New Chat landing flow, archive lacks nearby undo, and default drag-reorder adds accidental complexity.
This is separate from the global command palette in #229 and keyboard/accessibility primitives in #225.
Relevant code
apps/desktop/src/ui/Sidebar.tsxapps/desktop/src/ui/sidebar/**apps/desktop/src/ui/sidebarHelpers.ts- Native context-menu command handling
- New Chat routing/actions
Implementation outline
- Add local search/filter for chats, projects, and Tasks.
- Define one action registry shared by overflow and right-click menus.
- Keep the overflow action available for selected/busy rows.
- Route every user-initiated New Chat action through the same landing/scope flow.
- Add archive undo and an obvious Archived destination.
- Make Show more/list caps consistent across sections.
- Remove or demote section drag-reorder from the default experience.
- Use one primary sidebar scroll model.
- Preserve current selection and expanded state through filtering.
Acceptance criteria
- Users can quickly find an older chat/project/task without Cmd+K.
- Right-click and overflow expose the same valid actions.
- Busy rows retain their management menu.
- Every New Chat action opens the same intentional scope/landing experience.
- Archive is reversible nearby and Archived is discoverable.
- List caps/show-more behavior is consistent.
- Filtering does not lose selection or mutate persisted order.
- Pointer, keyboard, and touch-capable devices have equivalent access.
Required tests
- Search/filter across every sidebar section.
- Shared action registry parity.
- Busy-row menu.
- New Chat routing from all entry points.
- Archive/undo/Archived flow.
- Filter/clear with selected and expanded items.