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: c8d7d9828d3d46cd973dd6f1a50bc5e2
Branch: dev/1-p474-board-readonly-hint
Base: 5008116
At: 2026-11-03T05:39:13Z
In a read-only window, the task board draws no write at all, and nothing inside the board says why the writes are gone.
Reproduction on live main 50081167e81ac5ee182e6cc5d1a25ab248329e32 (a read-only window, i.e. the roster carries a non-empty readOnly sentence):
- Open a Bot's task board.
KanbanDialogreads the lock once (core/src/client/kanban.js, thelockedvalue around:395) and the board correctly dropsAdd task,Start,Completeanddraggable— that is the#2248/#2261fix and it is not in question here. - Look for a sentence explaining the lock. There is none. Everything that explains read-only mode lives outside the overlay:
core/src/client/settings.jsdrawsbt-hint bt-read-onlywith the host's own sentence,core/src/client/sidebar.jsdraws the banner — and the board is a 1080px dialog that covers both. - So a member who cannot move a card sees a board with no controls and no reason.
#2248scoped exactly this out ("No new copy is invented on the board; the sidebar's read-only sentence is the explanation that already exists"); this issue is that follow-up, not a re-report.
Checked on that main: kanban.js already carries the .bt-board-hint class (:496 in its style block) but uses it only for the usage hint at :365; the file contains no hostText and no role: 'status' line today (0 occurrences each). So this needs no new copy and no new style.
Expected behaviour:
- A read-only board draws one line above the columns:
h('p', { className: 'bt-board-hint bt-read-only', role: 'status' }, hostText(roster.readOnly))— the same source and the same class Settings uses, so the text is the host's sentence, not a second wording. - A writable board renders exactly what it renders today, with no such line.
- Nothing else moves: the read-only board still offers no
Add task, noStart/Completeand no draggable card; a writable board still writes as before.
Scope:
core/src/client/kanban.js— the one line in the board view.core/test/kanban.test.js— two assertions inside the existing P-455 case (no new fixture): read-only draws exactly onerole=statusline whose text equalshostText(roster.readOnly)and still no write; writable draws zero such lines.- Regenerated only, never hand-edited:
core/client.js,patches/ds-bot/0008-client-bundle.patch. changelog.d/fragment (user-visible change), and whateverarch-docsrequires for the touched path.- Out of scope: the wording itself (that is the host's), the sidebar banner, and any other read-only surface.
Tier, by path: core/src/client/**, core/test/**, core/client.js, patches/ds-bot/** and the changelog are all T1, so this is T1. It regenerates core/client.js and patches/ds-bot/0008-client-bundle.patch, so it belongs to the same single bundle lane as #2246/#2265/#2264/#2268 and must not be opened against a moving base on its own.
Dedupe, checked before opening (live main 50081167 grep + open and closed issues): #2248 is closed and explicitly scoped this out; #2188 is closed (the banner disappearing when the sidebar collapses to the rail, a different surface); #2243, #2247, #2271, #2267 are other read-only gaps, none about a sentence inside the board. No open issue covers an in-board read-only explanation.
Activity
HugoXK commentedon Nov 3, 2026
Release
Written-by: FlyBot Lead
Released: c8d7d9828d3d46cd973dd6f1a50bc5e2
Reason: merged in #2275 (55503e1)
At: 2026-11-03T09:54:57Z
core: a read-only task board draws no write and says nothing in place…