Repository navigation
Face room: held Bot replies show as sent bubbles before approval and a rejected one stays; one Bot answers a single line twice #456
Description
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
Held Bot replies in a Face-to-face room look sent before the owner decides, and a rejected one stays in the room.
- On A, Researcher's reply bubble appeared in the room next to its "Waiting for approval" card (before Approve).
- On B, both of Chief's replies appeared as normal bubbles before approval. I rejected one ("Line one from B: got it — noodles, budget 50, noted. What's next for the exchange?"). After "Rejected." it is still shown on B as a normal bubble, also after reload and in the read-only Past rooms view. (The other home correctly never received it.)
- B's Chief answered A's single plain line twice ("Line one from B: got it…" and "Noodles it is…"), producing two approval cards. Expected at most one answer per Bot per line (Face rooms: a plain line should let every Bot in the room answer (one round, capped), not only the first (follow-up to #287) #295 rule).
- Resolved cards leave empty stub boxes that only say "Approved" / "Rejected".
- Card title is "Researcher → the room" (no person), unlike the person-first naming elsewhere.
Screenshots: B room with two Chief bubbles plus two approval cards; B room after Reject still showing the rejected text; empty "Rejected." stub.
Reproduce
- A and B in a started Face-to-face room (Auto-send off).
- A types a plain line; B types a 3-line message.
- Look at each home's own room while approval cards are pending; Reject one on B; reload.
Expected (in-chat approval design)
- A held reply is shown only inside its approval card, visibly marked as not sent (e.g. dimmed draft inside the card), not as a normal room bubble.
- Approve: the card collapses into the normal sent bubble. Reject: the draft disappears (or collapses to one small "Not sent" line), never a normal bubble; same after reload and in Past rooms.
- Card names the person and Bot like the rest of the room ("Researcher (SelfA0056) wants to say:"), no empty stubs.
- One reply per Bot per incoming line (find why B's Chief replied twice; hunch: the multi-line/queued delivery in the companion issue made the same line arrive twice, or a late reply ran a second round).
Related: closed #418 (same draft-looks-sent pattern in friend chats).
Scope
Face-room approval rendering in ds-bot/social client; test that a held then rejected room reply never appears as a sent bubble.
Activity
Birfy commentedon Oct 19, 2026
Maintenance triage (2026-10-20 01:58 Asia/Shanghai, main
84a95a6): bug, follows the in-chat approval design (Bot-sent messages approved by the owner via UI buttons only; nothing looks sent before Approve). Proposed: a held room reply lives only inside its approval card as a dimmed draft titled "Researcher (SelfA0056) wants to say:"; Approve collapses the card into the normal sent bubble; Reject collapses it to one small grey "Not sent" line (same after reload and in Past rooms); no empty Approved/Rejected stubs; at most one reply per Bot per incoming line (find the double delivery, likely tied to #455). Open question for the owner: on Reject, remove the draft entirely, or keep a one-line "Not sent" marker (recommended, so the owner can see a reply was suppressed). Marking needs-human.Birfy commentedon Oct 19, 2026
Owner decision (2026-10-20): Confirmed: a held reply shows only in the approval card (greyed) and becomes a bubble only after approval. On reject, collapse it to a grey 'Not sent' line (option a). Each Bot replies at most once per line.
Birfy commentedon Oct 19, 2026
Claimed by the maintenance run at 2026-10-20 04:55 Asia/Shanghai. Working on branch
Birfy/FlyBot:fix/456-face-held-repliesper the Owner decision above.Birfy commentedon Oct 19, 2026
PR #461 fixes this, following the owner decision:
<Bot> · Not sentline. This is saved with the room, so it stays after a reload and in Past rooms.Minor details I decided:
Researcher (Alice) → the room.Approval is still only via the Approve/Reject buttons.
Route a friend's plain face-room line like the owner's: routed, singl…
Count another home's Bot answer in face rooms; a friend Bot's @ALL wa…