Skip to content

Face-to-face room titles don't tell repeat rooms with the same people apart (remainder of #132) #132

Closed

Description

@Birfy

Found in a two-instance UI retest of the social plugin (main e884312; source checked on 649bebe). Small copy/clarity items, grouped to keep the tracker short.

Observed

  1. Hold/approval text reads Bot → the room instead of Chief → the room (fix(social): face-to-face tile UI, message sync and simpler + menu (#124 #125 #126) #127 intended Chief → the room).
  2. Rooms can't be told apart: several face-to-face rooms are all titled "Face-to-face room".
  3. Near-duplicate labels: per-friend Auto-accept vs room-header Auto-send: two names for the same idea ("don't ask me each time").
  4. Crowded header: "Friends' Bots · 0" sits right next to the "2 to approve" badge.

Expected

  1. The sender's real Bot name (Chief) in every approval view.
  2. Room title includes something distinguishing: e.g. Room 482913 · 14:05 · Alice, Bob.
  3. One term for the toggle, with one short hint.
  4. Count and approval badge separated or merged into one short badge.

Repro

  1. Join two face rooms in a row; hold a Bot reply in one; look at the sidebar Friends' Bots header and the approval card.

Likely cause

  1. fix(social): face-to-face tile UI, message sync and simpler + menu (#124 #125 #126) #127's wording is not view-specific: the sidebar jump list (pendingTitle) and the in-chat card both use readableParty(item.from, 'Bot') in plugins/social/client.js. item.from comes from approvalView in plugins/social/src/social.js, via localNameOf(item.bot_id) (flybot.bot.list().find(bot => memberOf(bot.id)?.bot_id === botId)?.name ?? cleanText(botId)). When the held message's bot_id is a face-room-only identity that doesn't match a local member.bot_id, the fallback is the raw id, readableParty rejects it as a bot_xxx id and the label degrades to 'Bot'. Fix idea: also look the Bot up by room-only identity/handle, and fall back to the room's local Bot name.
  2. Titles default to the literal 'Face-to-face room' (social.js setRoomGrant, applyFaceSnapshot; room-membership.js upsertFaceRoom spec.name || room?.name || 'Face-to-face room'; client.js FaceRoomCard). Build the title from code/time/participants when none is given.
    3/4. plugins/social/client.js: Auto-accept label (per friend) and Auto-send (FaceAutoSend); header in FriendsBots.

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

  1. Birfy commented on Oct 16, 2026

    @Birfy
    CollaboratorAuthor

    Partly fixed on main (566f1e6) by #134. One item remains; I changed the title to match.

    Fixed:

    1. Bot → the room: the hold label now resolves the real Bot name, including face-room-only identities (localNameOf looks up the room's local Bots). Test: #126: a face-room hold shows in that chat with a readable name.
    2. One term: the per-friend and room-header toggles are both Auto-send now. No "Auto-accept" label is left in the client.
    3. Crowded header: Friends' Bots shows the Bot count or "N to approve", never both.

    Remaining:
    2. Room titles. faceRoomTitle() returns Face-to-face · Alice, Bob when owners are known, and only falls back to the room code or time when there are none. Two face rooms in a row with the same people are still titled identically, which is what the issue asked to fix. Suggested: always append a distinguishing part, as in the issue's Room 482913 · 14:05 · Alice, Bob. The literal Face-to-face room still appears as a fallback for closed/left rooms (social.js around lines 949, 1995, 2053; room-membership.js upsertFaceRoom; client.js card).

    Keeping this open for that.

  2. changed the title [-]Social copy/clarity: 'Bot → the room' should be Chief, indistinguishable room titles, Auto-send vs Auto-accept, crowded header[/-] [+]Face-to-face room titles don't tell repeat rooms with the same people apart (remainder of #132)[/+] on Oct 16, 2026
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