Fix Chat header showing thread controls (session switcher, back button, room header) while the conversation list is still displayed on mobile after re-entering Chat, since restored session/room state no longer implied the detail pane was visible.
- Derive mobileThreadPaneOpen from actual sidebar visibility (!sidebarVisible) combined with active thread/room state instead of relying solely on restored session/room presence.
- Gate showMobileSessionSwitcher, showMobileDirectThreadHeaderControls, and new showMobileRoomThreadHeaderControls off the corrected mobileThreadPaneOpen signal.
- Wrap the room thread header in showMobileRoomThreadHeaderControls so it only renders when the detail pane is actually shown.
- Add regression coverage in ChatView.mobile.test.tsx and ChatView.swipe-back.test.tsx for the list-shown-after-remount case.
- Add changeset documenting the fix.
Files changed:
.changeset/fn-7784-chat-header-list-consistency.md | 7 +
packages/dashboard/app/components/ChatView.tsx | 18 ++-
.../components/__tests__/ChatView.mobile.test.tsx | 141 +++++++++++++++++++--
.../__tests__/ChatView.swipe-back.test.tsx | 74 +++++++++--
4 files changed, 214 insertions(+), 26 deletions(-)
Fusion-Task-Id: FN-7784
Fusion-Task-Lineage: e2571efa-dff9-43ef-af09-f7d2ce32788b
Co-authored-by: Fusion (runfusion.ai) <noreply@runfusion.ai>