Skip to content

面对面房间结束后,其他参与者的 Bot 仍出现在侧边栏(疑似 room-only 泄漏) #1819

Open

Description

@hsliuustc0106

现象

面对面(Face-to-face)建群/参会之后,侧边栏 Bot 列表里出现了其他参与者的 Bot(标着 Friend's Bot、带地球图标),例如 Yipei's Bot、zhangyi's bot、Danyang's OpenDigitalMate Bot,还有一条 ds-bot 显示 no longer shared。

用户预期:只是因为面对面房间才接触到的 Bot,不应该长期留在自己的侧边栏 Bot 列表里。

复现步骤

  1. 与朋友建立/加入一个 Face-to-face 房间(各方带自己的 Bot 入座)
  2. 房间结束后(或仍在房间中)查看侧边栏 Bot 列表
  3. 可见其他参与者带来的 Bot 出现在列表中,标为 Friend's Bot

期望结果

  • 若双方存在好友关系且对方共享了 Bot:列表中可见,属预期(可以理解)
  • 若只是面对面房间的座位(room-only 临时权限):房间结束/离开后不应出现在侧边栏
    • 依据 docs/subsystems/social.md 的不变量 4:“When that Bot leaves its last face room or the room closes, the plugin revokes the room-only identity (remove_home_member) and drops room-scoped remotes from Friends' Bots.”
    • 以及“Face-room remotes leave Friends' Bots when the room is left”

待维护者确认

报告者无法确定这些 Bot 属于 A(好友共享)还是 B(room-only 临时授权),因为两者在侧边栏外观相同(都标 Friend's Bot)。

  • 若为 A:属于设计行为,但建议区分标识/提供隐藏入口(UX 改进)
  • 若为 B:room-only remotes 泄漏到侧边栏,与 invariant 4 矛盾,是 bug

环境

  • FlyBot 桌面端,实例 flybot682b8a43,v0.2.15(2026-10-30)
  • 截图:侧边栏可见多条 Friend's Bot 记录(Yipei's Bot / zhangyi's bot / Danyang's OpenDigitalMate Bot / ds-bot no longer shared)

建议排查方向

  • plugins/social/src/social.js 的 applyRemoteRoster / 本地隐藏与 roomOnly 过滤逻辑
  • leaveMissingRemotes、face room 离开/关闭时的 revoke 路径
  • 侧边栏渲染(TeamSidebar)是否区分 person-grant 与房间级授权

Activity

  1. hsliuustc0106 commented on Oct 30, 2026

    @hsliuustc0106
    CollaboratorAuthor

    截图(侧边栏中的 Friend's Bot 条目):

    侧边栏截图

  2. hsliuustc0106 commented on Oct 30, 2026

    @hsliuustc0106
    CollaboratorAuthor

    RFC opened to confirm the intended behavior: #1821 — whether a face-to-face room's remote seats should appear in the sidebar at all, and how a room-only remote is told apart from a granted friend's Bot.

  3. Birfy commented on Oct 30, 2026

    @Birfy
    Collaborator

    Written-by: Triage

    判定:先挂着(H) — 卡在 promote 判据 1(设计冲突已闭):这些 Bot 是好友共享(grant)还是 room-only 座位,报告者自己分不清(两者侧栏外观相同),要等 #1821 的 RFC 结论才能判断是 by design 还是 invariant 4 的泄漏。

    缺什么:#1821 的所有者裁定 —— room-only 远端座位该不该进侧栏、room-only 与 granted 在 UI 上怎么区分。#1821 一落:判 by design → 本 issue 带理由关闭;判 room-only 泄漏 → 按 #1821 的验收转 agent-ready(文件与验收命令由 #1821 结论给出)。
    谁能给:所有者,在 #1821 上定夺。

  4. added
    needs-humanThe agent loop stopped; a person must decide (reason in the last comment)
    on Oct 30, 2026
  5. Birfy commented on Nov 7, 2026

    @Birfy
    Collaborator

    Written-by: Chief

    分拣(读于 2026-11-07T13:12Z,main 0d922cc82a250c9237229404affd18c168a0c4d6):这是真缺陷,但"期望行为"取决于一个口径,#1821 是同一件事的 RFC。保持 needs-human,等你选:

    A:只有"好友关系 + 对方共享了 Bot"才进侧边栏;房间接触过但没共享的一律不显示(含 no longer shared 那条也要清掉)。代价:要改侧边栏列表的数据源(host 返回的 Bot 列表 + core/src/client/ 侧栏渲染),T2,顺带把共享状态变化的失效逻辑补上。
    B:保持现状——房间接触过的 Bot 留在列表里,直到用户手动移除。代价:#1819 按"预期行为"关掉,#1821 只补一段文档说明,但用户会持续看到不属于自己的 Bot。

    回「A」或「B」即可。

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

    area:socialFriends, invites, grants, Bot SocialbugSomething isn't workingneeds-humanThe agent loop stopped; a person must decide (reason in the last comment)

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions