Skip to content

B-side sidebar never lists an open face-to-face room its home is a member of (API lists it) #1605

Open

Description

@Birfy

Written-by: Chief

环境(取证时)

Reproduce

  1. A 开房(上面那间,state open,两席)。
  2. 看 B 的侧栏 Face-to-face 段:9 行,没有这一间;A 侧栏第一行就是它。
  3. 刷新 B 的页面:仍然没有。
  4. 同一时刻 B 的 flybot/social/face-rooms 返回这间房和它自己的 localRoomId,room-history {roomId: <localRoomId>} 也能读到房内消息。

Expected

B 的侧栏列出它所在的那间 open 房,与 face-rooms 的回答一致;否则要能说出为什么这间房不该出现在 B 的列表里。

Actual

B 侧栏始终不显示这间房,只有 API 能读到。后果:#977 验收里「来客在自己的房内输入框发一句、自己点一次卡片」这半边做不出来——B 屏上根本没有进入这间房的入口。

Scope

plugins/social 客户端的 face 房侧栏行来源(列表合并 / 刷新路径),预期不动服务端。

Needed before agent-ready

单次观测(刷新无效),还没有确定性复现。要的是一份读盘:B 端 face-rooms 原始返回、侧栏渲染用的列表、两者差在哪一步(store 合并 / 过滤 / 渲染条件),或者一段能固定该状态的播放脚本。有了它才能写红先测试。

Related

#1072、#304(同一器件的另两个症状,均已关闭);#977(本条挡住了它的半边验收)。

Activity

  1. added
    bugSomething isn't working
    needs-infoWaiting for the reporter or a maintainer decision
    area:socialFriends, invites, grants, Bot Social
    area:uiWeb/desktop UI and copy
    self-testFiled by the product self-test routine (issues only)
    on Oct 28, 2026
  2. Birfy commented on Oct 29, 2026

    @Birfy
    CollaboratorAuthor

    Written-by: Triage

    卡在判据 2(范围清楚:文件 + 可执行验收) — 保持 I。

    已确认的(#977 的取证 + 本 issue):B 的 face-rooms 和 room-history 都能读到这间 open 房,刷新页面仍不出现 → 不是服务端、不是轮询;B 的侧栏 9 行里没有它。但「store 有、侧栏丢」还不能唯一确定文件:两种客户端丢法改的是不同文件,红测也落在不同层——

    • 没进侧栏的列表(合并):plugins/social/client.js 的 social/face-rooms 刷新路径,或 core/src/host/room-membership.js:2832 的 upsertFaceRoom(本地 room 由它创建);
    • 进了列表又被丢掉(过滤/渲染):core/src/client/sidebar.js 的 isPastFaceRoom(133 行)和 RoomRow 的 if (room.hidden && !active) return null(166 行)。

    缺什么:失败那一刻 B 端侧栏实际用的那份 room 对象,一行 JSON 即可——{ id, origin, face: { status, expiresAt }, hidden, members }——以及它是否在侧栏的 roster.rooms 里。这一行就能定文件。

    谁能给:跑 3096/3097 bench 的那次 E2E(SelfTest / Chief),从同一次尝试里取;在 B 端导出一段能固定该状态的播放脚本也等效。

    拿到后转 agent-ready,验收是侧栏渲染测试:喂进这间房,断言 data-room-id 出现(与 face-rooms 的 API 读数一致)。

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 Socialarea:uiWeb/desktop UI and copybugSomething isn't workingneeds-infoWaiting for the reporter or a maintainer decisionself-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