Skip to content

Face room: other home's lines arrive as raw queued '[Group post from …]' text above the composer, not bubbles; line breaks flattened #455

Closed

Description

@Birfy

Found by the product self-test on 2026-10-20 ~01:00 Asia/Shanghai (focus: Face-to-face room). Setup: ThinkFlowLab/FlyBot main 84a95a6, dsh 0.2.0-rc.2, two fresh homes A SelfA0056 (:3090, Bots Chief + Researcher) and B SelfB0056 (:3091, Bot Chief), not friends (two strangers meeting in person), Bot Social server https://47-80-69-220.sslip.io, Bots on ark/deepseek-v4-flash. Room 482915.

Problem

A line typed by the other person (and an approved Bot reply from the other home) does not appear as a chat bubble on the receiving home right away. It shows up as a queued message row above the composer, raw header included, with the DSH queue footer:

  • On B after A typed "Hi, we just met. Can someone suggest a lunch spot?": queued row [Group post from SelfA0056] Hi, we just met. Can someone suggest a lunch spot? and footer Cmd/Ctrl+Enter steers all queued messages.
  • Researcher's approved reply arrived on B the same way: [Group post from Researcher · SelfA0056] Since B likes….
  • On A, B's 3-line message first appeared the same way ([Group post from SelfB0056] Line one from B Line two…); the bubble only appeared later.
  • When the bubble finally renders on A, B's 3 lines (typed with Shift+Enter) are flattened into one line: "Line one from B Line two: I like noodles Line three: budget 50". On B (sender) the same message shows 3 lines.

Screenshots (self-test run): B composer area with the queued [Group post from SelfA0056] … row and the steer footer; A chat with B's 3-line message as one line.

Reproduce

  1. Two homes, A creates a Face-to-face room via the top + menu, B joins with the number, Enter chat.
  2. On A, while a local Bot is answering (or just after), type a plain line. On B type a 3-line message with Shift+Enter.
  3. Watch the other home's room.

Expected

  • Another person's line and another home's approved Bot reply render immediately as a normal bubble (person/Bot avatar + name), never in the composer queue, never with a [Group post from …] header, and never steerable with Cmd/Ctrl+Enter (the receiving owner did not write it).
  • Line breaks are preserved on the receiving side.

Hunch (verify)

ds-bot/src/host/groups.js postToRoom delivers posts with agent.followup(createUserMessage({ text: '[Group post from …]\n…' })). If the room Session is mid-turn, DSH shows that followup in its queued-messages UI with the raw text, until the turn ends. Peer/remote room events probably need to be appended to the room transcript as display events (as for local human bubbles) and only handed to Bots without going through the user's composer queue. The flattening may be in the face event view/render path (#302 touched it).

Scope

Face-room delivery and rendering on the receiving home; add a test that a peer line arriving while a local Bot turn is running renders as a bubble with line breaks and nothing is queued in the composer.

Activity

  1. 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)
    on Oct 19, 2026
  2. Birfy commented on Oct 19, 2026

    @Birfy
    CollaboratorAuthor

    Maintenance triage (2026-10-20 01:58 Asia/Shanghai, main 84a95a6): confirmed clear bug, consistent with the owner rules (every human in a room can talk; only the receiving owner's own typed lines belong in their composer). Proposed scope: peer lines and other homes' approved Bot replies are appended to the room transcript as display events (bubble with avatar + name, line breaks kept) and handed to local Bots without DSH's followup/composer queue; never shown with the [Group post from …] header, never steerable. Test: a peer line arriving mid-turn renders as a bubble with its line breaks and leaves the composer queue empty. Minor details (exact event shape) decided by the implementer. Marking needs-human until the owner confirms; then agent-ready. Note: #455–#458, #182 and #304 all touch the face-room files, so they will be developed one after another, not in parallel.

  3. added
    needs-humanThe agent loop stopped; a person must decide (reason in the last comment)
    agent-readyMaintainer-approved spec: an agent may take it. Only maintainers set this; never in a template
    and removed
    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

    Owner decision (2026-10-20): Confirmed as proposed: peer posts render as normal room bubbles (avatar + name), line breaks preserved, never as queued '[Group post from …]' text above the composer.

  5. added
    agent-workingAn agent has claimed this issue (the claim comment names the branch)
    on Oct 19, 2026
  6. self-assigned this
    on Oct 19, 2026
  7. Birfy commented on Oct 19, 2026

    @Birfy
    CollaboratorAuthor

    Claimed by maintenance (2026-10-20 07:58 Asia/Shanghai). Working on branch fix/455-face-room-other-home-lines in Birfy/FlyBot, developed in parallel with the other face-room issues (#462, #458, #457, #455, #304, #182); they will merge one after another.

  8. Birfy commented on Oct 20, 2026

    @Birfy
    CollaboratorAuthor

    Implementation notes for #466 (2026-10-20 08:22 Asia/Shanghai), minor details decided under the owner's delegation:

    • A peer line (another person's, or another home's Bot's approved reply) that arrives while this home's room Session is mid-turn is held by the host instead of entering DSH's composer queue. The round that is running shows it at once as a bubble; the line still gets its own round afterwards, so who answers it (if anyone) follows the existing rules unchanged. A line that arrives when no round is running goes exactly as before.
    • Another home's Bot line shown mid-round is also written to the room log right away, so the Bots still to speak in that round see it, as they already see a person's line.
    • Line breaks: a person's bubble keeps single line breaks (white-space: pre-line), as the sender's own bubble does. Bot replies keep normal Markdown rendering.
    • Out of scope, unchanged: system notices (joined / left) and the owner's own typed line in a face room.
  9. removed
    agent-workingAn agent has claimed this issue (the claim comment names the branch)
    on Oct 20, 2026
  10. added a commit that references this issue on Oct 20, 2026
    b3fc677
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

agent-readyMaintainer-approved spec: an agent may take it. Only maintainers set this; never in a templatearea: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