conversations-page.mdfeat: sidebar filter/sort/group rebuild + searchbar fix (design: sidebar-filter-sort-group phases 1-5)
Brings /conversations sidebar to full FilterSortPopover parity: every column
plus every AOP custom field is filterable + multi-column sortable, Group tab
covers sentinels + built-in columns + custom select/boolean fields, slice
swaps to CanvasFilterSortConfiguration with a v1 → v2 migration, and the
sidebar conversations hook drives listConversations via the shared
computeFiltersFromConfig / computeBackendSortFromConfig utilities.
Also fixes the search input — the reset effect re-fired on every keystroke
because `local` was in its deps, clearing the input before the 120ms debounce
could write the value to the store.
Co-Authored-By: Claude Opus 4.7 (1M context) <<email>>Jun 3, 2026, 12:14 AMmessage-actions-and-reactions.mdfeat: more conversationView improvemntsJun 5, 2026, 12:35 AMnext-steps.mdfeat: six-tab conversation navigation shell
Replaces the expandedSections-driven body navigation with a real six-tab
shell (Inbox · Next Steps · Agents · Files · CRM · Contacts) in both view
and sidebar variants. Each tab body is its own zero-prop component that
pulls everything from the Zustand conversation store — no prop drilling
through ConversationBodyLayout. conversationSection is now a typed tab
key with normalization so legacy URLs (timeline, enrichment, doc/*,
agent/*) fold back to the Inbox tab.
Also extracts ConversationParticipantsList from
ConversationParticipantsPanel so the Contacts tab can render the list
inline (the popover wrapper is preserved for back-compat).
Implements Phase 2 of apps/mail/docs/conversation-view-redesign/overview.md.
Co-Authored-By: Claude Opus 4.7 (1M context) <<email>>Jun 2, 2026, 9:11 PMoverview.mdfeat: six-tab conversation navigation shell
Replaces the expandedSections-driven body navigation with a real six-tab
shell (Inbox · Next Steps · Agents · Files · CRM · Contacts) in both view
and sidebar variants. Each tab body is its own zero-prop component that
pulls everything from the Zustand conversation store — no prop drilling
through ConversationBodyLayout. conversationSection is now a typed tab
key with normalization so legacy URLs (timeline, enrichment, doc/*,
agent/*) fold back to the Inbox tab.
Also extracts ConversationParticipantsList from
ConversationParticipantsPanel so the Contacts tab can render the list
inline (the popover wrapper is preserved for back-compat).
Implements Phase 2 of apps/mail/docs/conversation-view-redesign/overview.md.
Co-Authored-By: Claude Opus 4.7 (1M context) <<email>>Jun 2, 2026, 9:11 PMsidebar-filter-sort-group.mdfeat: sidebar filter/sort/group rebuild + searchbar fix (design: sidebar-filter-sort-group phases 1-5)
Brings /conversations sidebar to full FilterSortPopover parity: every column
plus every AOP custom field is filterable + multi-column sortable, Group tab
covers sentinels + built-in columns + custom select/boolean fields, slice
swaps to CanvasFilterSortConfiguration with a v1 → v2 migration, and the
sidebar conversations hook drives listConversations via the shared
computeFiltersFromConfig / computeBackendSortFromConfig utilities.
Also fixes the search input — the reset effect re-fired on every keystroke
because `local` was in its deps, clearing the input before the 120ms debounce
could write the value to the store.
Co-Authored-By: Claude Opus 4.7 (1M context) <<email>>Jun 3, 2026, 12:14 AMtimeline.mdfeat: new conversation view improvementsJun 4, 2026, 9:37 PM