Describe the bug
In the latest stable desktop app, the conversation list's add, switch, and delete actions do not behave reliably. Buttons can close the sheet without applying the requested operation, and mutations can briefly occur before disappearing.
Steps to reproduce
- Open the standalone desktop chat window.
- Open Conversations.
- Try each action:
- create a new conversation
- select another conversation
- delete a conversation
- Reopen the list or wait for chat synchronization.
Expected behavior
- Add creates and activates a new conversation.
- Selecting a row switches to that conversation.
- Delete removes only the targeted conversation and leaves a valid active fallback.
Actual behavior
The sheet can close before the click action completes. Create/delete mutations made in the chat window can also be replaced by the main window's next authority snapshot.
Verified root cause
Two independent failures overlap:
- The Vaul DrawerContent pointer-release lifecycle can close and unmount the mobile sheet before child button clicks complete.
- The standalone chat window is a chat-sync follower but the drawer directly mutates its local session store. The authority window then broadcasts its unchanged snapshot and rolls back follower-side create/delete changes.
Fix
PR #2086:
- replaces the Vaul interaction boundary with a responsive Reka dialog/sheet
- dispatches persistent create/delete commands to the chat-sync authority
- keeps selection local to the requesting window
- adds UI and authority/follower regression coverage
Validation
Describe the bug
In the latest stable desktop app, the conversation list's add, switch, and delete actions do not behave reliably. Buttons can close the sheet without applying the requested operation, and mutations can briefly occur before disappearing.
Steps to reproduce
Expected behavior
Actual behavior
The sheet can close before the click action completes. Create/delete mutations made in the chat window can also be replaced by the main window's next authority snapshot.
Verified root cause
Two independent failures overlap:
Fix
PR #2086:
Validation