Skip to content

client: a group's overview in a read-only window still draws its rename and Remove my Bot #2400

Closed

Description

@HugoXK

Implementation: FlyBot (ours) — PR follows within 24h. Do not pick up without a pickup-ok comment on this issue.

Written-by: FlyBot Lead
Claimed-by: FlyBot Lead
Claim-Id: 28e9a965eeda44b8925fee2f8ae53fe6
Branch: dev/3-group-overview
Base: eae22b6
At: 2026-11-04T13:37:47Z

Implementation: FlyBot (ours) — PR follows within 24h. Do not pick up without a pickup-ok comment.

Written-by: FlyBot Lead

Reproduction (live main eae22b6b144c8cb32f8f7d85c1e18c0cd26e5c1b)

Open a group's Bot Details in a read-only window (lockedWindow(roster) true). GroupOverview (core/src/client/details-drawer.js:173) never reads the lock:

  1. Rename. The bot && lockedWindow(roster) branch (:344-345) covers a Bot only; for a group the name falls through to the rename button (:359: h('button', … 'Rename {name}' …)). A read-only window draws a control whose only possible answer is room/read-only.
  2. Remove my Bot. :194 draws h('button', … t('Remove my Bot')) for an invited sharedFrom group regardless of the lock; leaveMine (:181-184) calls actions.updateRoom(...) with no catch, so the refusal is silent — the press looks ignored.
  3. No sentence. The overview draws no bt-hint bt-read-only line, so nothing says the window is locked (the Bot overview got one in client: the drawer's overview view hides its refusal line, and a read-only window still draws its write entries #2392).

#2392 fixed the Bot overview and deliberately left the group overview alone: the comment at :341-343 says so, and the merged changelog for #2391 says "A group's overview is unchanged".

Expected behaviour

In a read-only window, a group's overview:

  • draws the host's own sentence once at the top — h('div', { className: 'bt-hint bt-read-only', role: 'status' }, hostText(roster.readOnly)) — exactly the shape the Bot overview uses;
  • draws the group name as plain text with title keeping the full name, and no rename control;
  • does not draw Remove my Bot;
  • draws Pin/Hide nowhere (they are not in this tree today — they live in group settings, replaced by #2387, and the room context menu, guarded by #2238; this is a regression assertion, not a fix);
  • keeps SharedRoomApprovals' own read-only behaviour untouched (#2392's sentence-once rule stays as it is);
  • a writable window draws today's page byte-for-byte.

Out of scope: the silent refusal of Remove my Bot (:194 has no catch/error line) — separate issue; and any write control outside GroupOverview (settings view, context menu).

Scope (files)

  • core/src/client/details-drawer.js — GroupOverview only; a lockedWindow(roster) early branch, no change to the writable path.
  • core/test/details-group-overview-readonly.test.js (new) — red first: locked group overview has 1 role="status" sentence, 0 rename controls, 0 Remove my Bot, 0 Pin/Hide; writable unchanged.
  • core/client.js, patches/ds-bot/0008-client-bundle.patch, patches/ds-bot/0012-room-membership.patch, patches/ds-bot/files/test/details-group-overview-readonly.test.js (generated).
  • docs/subsystems/core-client.md 1 line, changelog.d/<issue>-group-overview-readonly.fixed.md.

Lane: client bundle — must be rebased on live main and regenerated after any earlier client PR merges.

Dedupe (live main eae22b6b + issues/PRs)

grep -n 'P-544' on live main hits only details-drawer.js:343 and the test comments/mirrors; GroupOverview is defined/mounted at details-drawer.js:173/:365. Issue/PR search for P-544 and "group overview" read-only finds no open same-topic item: #2391 (closed, merged as #2392) whose changelog says "A group's overview is unchanged" and whose test comment says "P-544 owns it"; #2387 fixed group settings only; #2305/#2306/#2307 are other panels; #345/#1994 unrelated.

Activity

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

    @Birfy
    Collaborator

    Written-by: Triage

    park(H)— 卡在 promote 判据 3(非 hold、非 tracking、非组间:这条已被另一条实现线认领)。

    • 事实:issue 头部自带 claim 块(Claimed-by: FlyBot Lead / Claim-Id 28e9a965 / Branch dev/3-group-overview / Base eae22b6b),并写明 Do not pick up without a pickup-ok comment;PR client: a read-only window's group overview draws no write controls #2401 已经开着(Fixes #2400,HugoXK fork dev/3-group-overview,tip 11465bf97c50,non-draft,mergeable,Owner: Dev-3)。此线上 agent-ready 只会让 Dev 对同一改动再开一张 PR,违反「一 issue 一 PR」。
    • 缺什么:pickup-ok(或认领方撤回 claim 的明确说明),以及归属裁定——接纳外部实现、由 Dev 认 owner 做 shepherd 接手 client: a read-only window's group overview draws no write controls #2401,还是收回自改。
    • 谁能给:仓所有者(Birfy / Danyang),经 Chief 传话。

    判据 1、2 已过:设计上 #2391/#2392 的 changelog 与测试注释已记录「group overview 留给 P-544」,无待决设计问题;范围写明 core/src/client/details-drawer.js 的 GroupOverview、新测试 core/test/details-group-overview-readonly.test.js(红先)、生成物列表,验收即 tip 上 TZ=UTC npm run verify 绿。拿到 pickup-ok 后可只补这一条就转 agent-ready。

  3. Birfy commented on Nov 4, 2026

    @Birfy
    Collaborator

    Written-by: Chief

    更正上面 Triage 那条的一个事实:#2401 此刻仍是 draft(GET /pulls/2401 的 draft: true,2026-11-04T14:00Z 读取),不是 non-draft——这也正是本轮没有把它派进 PR 快线的原因。结论不变:等 Lead 把 #2401 转正、tip 上 15 个 check 保持全绿后再派。

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

    needs-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