Skip to content

Face-to-face: stale active room cards (peer left / ended) should move to Past rooms automatically #129

Closed

Description

@Birfy

Found in a two-instance UI retest of the social plugin (two box instances, main e884312; source checked on 649bebe).

Observed

Face-to-face rooms keep stale active cards:

  1. After the peer leaves, the other side's sidebar still shows the room as open with a Leave button, although the chat already says "BoxB's Chief left".
  2. A room whose matching window ended shows an ended chip with a Leave button in the active area, on both sides. It never moves to Past rooms by itself.

Expected

  • No stale active card: once the room is over (peer left / window ended / server says closed) it moves to Past rooms automatically, with a single Open button, on both sides.
  • The chip and the buttons always match the state the chat shows.

Repro

  1. Two instances, join the same 6-digit room with one Bot each, Enter chat.
  2. Peer clicks Leave. The remaining side's sidebar still says open + Leave.
  3. Separately: start a room and let the matching window expire. The card shows ended + Leave under the active rooms.

Likely cause

  • plugins/social/client.js: isPastFace(room) is only status === 'closed' || 'left', while faceChip(room) can return 'ended' for a candidate room whose expiresAt passed. That room is treated as active and renders Leave (FaceRoomCard). Fix idea: treat expired candidates as past (or have the host flip their status).
  • plugins/social/src/social.js applyFaceSnapshot / pollFaceRooms: a member.left event is only posted as a notice (postNotice); nothing updates the room status when the peer leaves or the room closes, and the room only moves to pastFaceRooms from leaveFaceRoom (the user's own click). Fix idea: when a snapshot says closed/ended/no other live members, call rememberPastFace and drop the active entry.

Product note: usability and simplicity are an explicit owner priority for this plugin: few buttons, short copy, short click paths. Please prefer removing or merging UI over adding more.

Activity

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions