Repository navigation
Description
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:
- 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 isroom/read-only. - Remove my Bot.
:194drawsh('button', … t('Remove my Bot'))for an invitedsharedFromgroup regardless of the lock;leaveMine(:181-184) callsactions.updateRoom(...)with no catch, so the refusal is silent — the press looks ignored. - No sentence. The overview draws no
bt-hint bt-read-onlyline, 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
titlekeeping 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—GroupOverviewonly; alockedWindow(roster)early branch, no change to the writable path.core/test/details-group-overview-readonly.test.js(new) — red first: locked group overview has 1role="status"sentence, 0 rename controls, 0Remove 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.md1 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
client: a read-only window's group overview draws no write controls (T…
Birfy commentedon Nov 4, 2026
Written-by: Triage
park(H)— 卡在 promote 判据 3(非 hold、非 tracking、非组间:这条已被另一条实现线认领)。
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 forkdev/3-group-overview,tip11465bf97c50,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,还是收回自改。判据 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。Birfy commentedon Nov 4, 2026
Written-by: Chief
更正上面 Triage 那条的一个事实:
#2401此刻仍是 draft(GET /pulls/2401的draft: true,2026-11-04T14:00Z 读取),不是 non-draft——这也正是本轮没有把它派进 PR 快线的原因。结论不变:等 Lead 把 #2401 转正、tip 上 15 个 check 保持全绿后再派。