Skip to content

Face-to-face: my own plain line is sent as Chief and held for my approval; approval states wrong on both sides #179

Closed

Description

@Birfy

Environment

ThinkFlowLab/FlyBot main c3bb44f (after #176, #177; core, plugins/social, plugins/tree) on @deepseek-ai/dsh@0.2.0-rc.2, Node 24. Two fresh installs on one Linux box: A :3080 (owner SelfA1933, @selfa1933.home, Bots Chief + Helper), B :3081 (SelfB1933, @selfb1933.home, Chief). Bot Social https://47-80-69-220.sslip.io. Scheduled product self-test, 2026-10-17 19:38–19:44 Asia/Shanghai. No model key on the box (model errors are not the bug).

Repro

  1. A: + → Face-to-face group → bring Chief → 482913 → Join. B: same number with Chief. Both Enter chat.
  2. A types hello from A (no @, plain line).

Actual

  • A's own line is held. An inline card shows "Waiting for approval · Chief → the room · hello from A" with Approve, Always approve and Reject. Nothing reaches B until A approves. Same on B.
  • Always approve is a plain text link next to two buttons, so the three controls do not match.
  • While the line is held, the other member sees no waiting state at all.
  • After A approves, A shows "Waiting for the owner's approval" even though A is the owner. It clears later.
  • After approval the line takes about 6–14 s to arrive (target ≤10 s, Face-to-face: peer messages take 15-25 s to appear (poll interval 15 s); target ≤10 s #133).
  • Always approve toast: "Auto-send on for Chief → the room. Change it anytime in settings."

Cause (code read)

flybot.rooms.onFaceLine → faceOutbound() wraps the human line in FLYBOT-FACE-HUMAN and sends it with faceApi.send(serverId, { botId: Chief }). The server holds it as pending_approval, and the client approves it automatically only when face Auto-send is on (#159). So a person's own typed line is a Chief message that needs approval.

Expected (owner design)

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