Skip to content

fix(stage-tamagotchi): chat-list add, switch, and delete actions fail #2085

Description

@0xSelenicDove

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

  1. Open the standalone desktop chat window.
  2. Open Conversations.
  3. Try each action:
    • create a new conversation
    • select another conversation
    • delete a conversation
  4. 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:

  1. The Vaul DrawerContent pointer-release lifecycle can close and unmount the mobile sheet before child button clicks complete.
  2. 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

  • Reproduced from the supplied stable desktop recording.
  • Reproduced the state rollback in the repo Electron app.
  • Verified add, switch, and delete through real pointer clicks.
  • Waited beyond the authority heartbeat and confirmed state remained correct.
  • Added automated regressions.
  • Full monorepo typecheck passed.
  • Lint passed with no errors.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Labels

apps/stage-tamagotchiDesktop App: Windows & macOS & LinuxbugSomething isn't workingenv/os-allAll operating systems (most of the time Windows & macOS & Linux)scope/uiScope related to UI/UX, or interface improve, perf, and bugs

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions