Skip to content

Face room @ picker lists a friend's Bot 5 times in 3 sections, 'Everyone · 1 members'; mention chip renders differently per home; Bot named 4 ways #305

Closed

Description

@Birfy

Summary

In a Face-to-face room the composer's @ picker offers the same friend's Bot five times across three sections, with three different names. "Everyone" says 1 members in a room of two people and two Bots. A sent mention renders differently on each home. The same Bot also has a different name in the chat header, the bubble and the details panel.

Environment

FlyBot main a003044, dsh 0.2.0-rc.2, Node 24. Fresh A :3090 (SelfA1622) / B :3091 (SelfB1622), both with one Chief. A's Chief is shared with B (per-Bot invite). Face room 482913, open with both Chiefs. Self-test 2026-10-18 16:28–16:30 Asia/Shanghai.

Repro

  1. Open the face room on B. Type @ in the composer.
  2. Pick A's Chief, type what is 2+2?, and send.
  3. Look at the line on B and on A.

Actual

  • Picker on B. Screenshot: the @ menu open over B's composer.
    • Bots
      • Chief / Chief of Staff: B's own Chief. OK.
      • SelfA1622's Chief: the room's remote participant (mentionRows, core/src/client/at-menu.js L35–36).
      • Everyone / 1 members: room.members.length counts only this home's Bots (L97). The room has 2 people and 2 Bots, and "1 members" is ungrammatical.
      • Chief (@chief.selfa1622.home): every published friend's Bot, added to every chat (remoteMentionRows, L46, flybot-registry.js L135). Picking it inserts the raw handle.
    • Friends' Bots: Chief · remote (plugins/social/client.js L1594, its own section).
    • Sessions: three Chief rows, which are A's Chief's chat Sessions from the DSH shell source.
  • Rendering of the sent line
  • Bot names differ per surface on the same home.
    • Sidebar/picker Chief.
    • Blue bubble header SelfB1622's Chief @chief.selfb1622.home.
    • Details panel SelfB1622 · Chief.
    • Waiting tile Chief · SelfB1622.

Expected

  • One @ list per room: people and the room's Bots, each once, named as the Members panel names them (SelfA1622 · Chief). Everyone describes the room correctly (2 people · 2 Bots, singular/plural right). Per the product design there is no separate Friends' Bots section, and DSH Session rows do not show in a face room's @ (simplicity, consistency).
  • A friend's Bot that is not in this room is not offered in the room (it cannot be reached there). A handle is never inserted as the visible text.
  • A mention renders the same on every home: chip with @, single space. The receiver turns the attested mentions handles into the same chip.
  • One naming rule for a Bot across bubble header, sidebar, details, tiles and picker (Face room: people vs Bots — received human lines have no avatar and look like my own; members list shows only Bots, named inconsistently (partial regression of #180) #229 set Person · Bot for Members and tiles; extend it to the bubble header and picker).

Activity

  1. Birfy commented on Oct 18, 2026

    @Birfy
    CollaboratorAuthor

    PR #339 fixes the @ picker in a face room: each Bot in the room once, labelled Person · Bot like the Members panel, Everyone without the wrong count, and no friends' Bots from outside the room (neither remoteMentionRows nor the social Friends' Bots section). Still open here: DSH's own Sessions rows in the same menu (a shell source that ds-bot cannot hide per Session without patching DSH), the sender chip without @ and the double space, the receiver drawing the attested mentions as the same chip, and one naming rule for bubble header, details and tiles.

  2. Birfy commented on Oct 18, 2026

    @Birfy
    CollaboratorAuthor

    Status on main 9733d6a (2026-10-18 22:45 Asia/Shanghai): #367 and #368 landed the mention rendering. A face-room chip now shows @ and the Members label (SelfA · Chief) on both homes, a line typed on the other home is drawn as the same chip (matched by the host's faceAliases), a bare @Chief means the writer's own Chief, and a typed space after a picked name is no longer doubled. Still open here:

    • DSH's own Sessions rows in the face-room @ menu. They come from a shell source that ds-bot cannot hide per Session without patching DSH.
    • One naming rule for the bubble header, the details panel and the tiles.
    • A live two-home browser check of the chip on lines drawn as notices or group cells.
  3. added
    bugSomething isn't working
    area:socialFriends, invites, grants, Bot Social
    area:uiWeb/desktop UI and copy
    self-testFiled by the product self-test routine (issues only)
    needs-humanThe agent loop stopped; a person must decide (reason in the last comment)
    on Oct 19, 2026
  4. Birfy commented on Oct 19, 2026

    @Birfy
    CollaboratorAuthor

    Triage on main 7b9e90b, 2026-10-19 ~12:10 Asia/Shanghai: needs-human. What is left: (1) DSH's own Sessions rows in the face-room @ menu: ds-bot cannot hide them per Session without patching DSH, so this needs a DSH plugin API (or accepting them). (2) One naming rule for a Bot across bubble header, details panel and tiles, which is the same open question as #384. Question for the owner: which single format should a friend's Bot use everywhere (options: SelfA · Chief as in the Members panel; Chief with the owner as a second line; Chief (SelfA))? And for (1): ask DSH for a way to hide Sessions rows in a room's @ menu, or leave them?

  5. Birfy commented on Oct 19, 2026

    @Birfy
    CollaboratorAuthor

    Owner decision (2026-10-19): a friend's Bot is displayed as Helper (SelfB0023) (Bot name followed by the owner's name in parentheses; option (c)). This is the single naming rule for bubble header, details panel and tiles, same as #384.

    Still open here: DSH's own Sessions rows in the face-to-face @ menu (hide via a DSH plugin API, or accept them). Not decided in this comment. needs-human stays.

  6. Birfy commented on Oct 19, 2026

    @Birfy
    CollaboratorAuthor

    Owner decision (2026-10-19): the DSH Session row in the face-to-face @ menu is filtered out inside FlyBot now. We should also ask DSH for an API to exclude it. Nothing is filed in a DSH repo yet. Also, a friend's Chief uses the same format as every other friend Bot, Chief (OwnerName), with no <owner>'s Chief special case (see #384).

  7. 7 remaining items

  8. added
    needs-humanThe agent loop stopped; a person must decide (reason in the last comment)
    and removed
    agent-readyMaintainer-approved spec: an agent may take it. Only maintainers set this; never in a template
    agent-workingAn agent has claimed this issue (the claim comment names the branch)
    on Oct 19, 2026
  9. Birfy commented on Oct 19, 2026

    @Birfy
    CollaboratorAuthor

    Decision (delegated by owner), 2026-10-19 ~16:36 Asia/Shanghai, on the question of 06:32 UTC: option 1 now — in a face-to-face room only, FlyBot hides the DSH shell's Sessions rows (and their section title) in the @ menu, as the owner decided ("filter in FlyBot for now"). This is a small UI detail, not an authz or approval question: a Session row reached by arrow keys only inserts a Session reference, it does not send or grant anything. #422 stays open to replace the filter with a DSH API; posting that request upstream in deepseek-harness waits for the owner's ok.

    Triage on main e5f6036: design conflicts resolved, spec clear; ready to develop. Remaining scope after #425 (naming, one row per Bot, Every Bot in this room already on main): (a) the face-room Sessions filter above, with a test; (b) a sent mention renders as the same chip with @ and one space on the sender and the receiver (the picker inserts @Name ; don't double the space). Develop on top of #425 (same files: at-menu.js), so after #425 merges. Checked: owner decisions on #384/#305, #422, AGENTS.md hard rule 1 (no DSH patch: CSS/DOM only), no separate Friends' Bots section.

  10. added
    agent-readyMaintainer-approved spec: an agent may take it. Only maintainers set this; never in a template
    agent-workingAn agent has claimed this issue (the claim comment names the branch)
    and removed
    needs-humanThe agent loop stopped; a person must decide (reason in the last comment)
    on Oct 19, 2026
  11. Birfy commented on Oct 19, 2026

    @Birfy
    CollaboratorAuthor

    Claimed by the maintenance routine (2026-10-19 16:54 Asia/Shanghai): working on branch Birfy:fix/305-face-room-at-picker.

  12. Birfy commented on Oct 19, 2026

    @Birfy
    CollaboratorAuthor

    Development decisions (delegated, 2026-10-19 17:04 Asia/Shanghai), in #431:

    • How the face-room filter works. Not CSS alone: FlyBot watches the face room's own trigger controller (inputTriggers.sessionOf, a public DSH service FlyBot already uses for "Reference a chat"). CSS hides the reference rows whose icon is session and their section title, and FlyBot moves the highlight past them in the direction of the key, so the arrow-key / Enter concern from the 06:32 UTC comment does not apply: Enter never picks a hidden row. A menu left with only Session rows is dismissed, so Enter sends the line. No DSH patch.
    • Subagents rows (child Sessions) are hidden with the Sessions rows; file rows stay.
    • Everyone outside face rooms counts the Bots it reaches (local members plus seated friends' Bots), 1 member / 2 members (also the palette's group subtitle). Face rooms keep Every Bot in this room.
    • Mention chip (@, one label on both homes, no doubled space) and one row per Bot were already on main; checked, no change.
  13. added a commit that references this issue on Oct 19, 2026
    c5d9c3f
  14. removed
    agent-workingAn agent has claimed this issue (the claim comment names the branch)
    on Oct 20, 2026
  15. removed
    agent-readyMaintainer-approved spec: an agent may take it. Only maintainers set this; never in a template
    on Oct 21, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

area:socialFriends, invites, grants, Bot Socialarea:uiWeb/desktop UI and copybugSomething isn't workingself-testFiled by the product self-test routine (issues only)

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions