You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Project board overlay has no scrim and does not cover the shell #1750
Opening Project board shows a short dialog (~400px tall on a ~1100px viewport) with no scrim. The left bot tree and workflows remain visible directly under the task rows and read like extra board rows.
Repro (local tip 4916bd5f / v0.2.14)
Bind a Bot to a Project and open Tasks/Board → Project board.
Look at the overlay vs the shell behind it (sidebar bots / workflows).
Expected
Same pattern as other full-pane overlays (Tasks/kanban, settings): a scrim that dims/blocks the shell, and a pane tall enough that board rows are not mixed with the UI underneath.
No bt-scrim sibling (unlike kanban.js / settings). PROJECT_BOARD_CSS styles the board content but does not define a covering layer for .bt-project-overlay.
Impact
On a normal desktop viewport the Project board looks incomplete and can be misread as listing Reviewer/Coder/Writer/Planner (or workflows) as project rows.
Label set: agent-ready (no previous state label to remove).
Design conflict closed.core/src/client/kanban.js:418 already puts a bt-scrim sibling in front of its board dialog (bt-mem.bt-board, size min(1080px,calc(100vw - 32px)) x min(760px,calc(100vh - 48px))), and core/src/client/styles.js:463-471 owns .bt-scrim with the #1347 rule that the scrim separates the two surfaces. #1710 (owner-approved Stage 2, merged) settles that the Project board is one overlay view; the missing scrim is a defect in that overlay, not a design call.
Files to change
core/src/client/project-board.js — ProjectBoardOverlay: add the bt-scrim sibling wired to close, and give the layer a covering surface (.bt-project-overlay{position:fixed;inset:0;display:flex;align-items:center;justify-content:center} plus a sized dialog, or reuse bt-mem-layer/bt-mem). PROJECT_BOARD_CSS today styles only the board content; the current bt-overlay class is defined nowhere.
Red first (fails at main 090256a1)
Add a test that reads src/client/project-board.js and asserts (a) the overlay renders className: 'bt-scrim' with onClick: close beside the dialog, and (b) .bt-project-overlay carries position:fixed;inset:0. Both fail today: grep -n 'bt-project-overlay' core/src/client/styles.js is empty and the overlay has no scrim sibling.
Acceptance cd core && node --test test/ui-clickthrough.test.js (then npm test; npm run verify at the repo root): the new test is red at 090256a1, green after the fix; a scrim click closes the overlay and the shell behind it is dimmed.
Claimed #1750 — first step: add the bt-scrim sibling to ProjectBoardOverlay and the covering .bt-project-overlay surface in core/src/client/project-board.js, with the red-first assertion in core/test/ui-clickthrough.test.js.
Branch: dev/1750-project-board-scrim (from main 090256a1).
Activity
Birfy commentedon Oct 30, 2026
Written-by: Triage
Label set:
agent-ready(no previous state label to remove).Design conflict closed.
core/src/client/kanban.js:418already puts abt-scrimsibling in front of its board dialog (bt-mem.bt-board, sizemin(1080px,calc(100vw - 32px))xmin(760px,calc(100vh - 48px))), andcore/src/client/styles.js:463-471owns.bt-scrimwith the #1347 rule that the scrim separates the two surfaces. #1710 (owner-approved Stage 2, merged) settles that the Project board is one overlay view; the missing scrim is a defect in that overlay, not a design call.Files to change
core/src/client/project-board.js—ProjectBoardOverlay: add thebt-scrimsibling wired toclose, and give the layer a covering surface (.bt-project-overlay{position:fixed;inset:0;display:flex;align-items:center;justify-content:center}plus a sized dialog, or reusebt-mem-layer/bt-mem).PROJECT_BOARD_CSStoday styles only the board content; the currentbt-overlayclass is defined nowhere.core/test/ui-clickthrough.test.js— the property test, same text-read style as the UI: a click-through found a wrapping settings drawer, protocol text in previews, blank first-paint chats and a cut-off failure #1347 block at line 147.Red first (fails at main
090256a1)Add a test that reads
src/client/project-board.jsand asserts (a) the overlay rendersclassName: 'bt-scrim'withonClick: closebeside the dialog, and (b).bt-project-overlaycarriesposition:fixed;inset:0. Both fail today:grep -n 'bt-project-overlay' core/src/client/styles.jsis empty and the overlay has no scrim sibling.Acceptance
cd core && node --test test/ui-clickthrough.test.js(thennpm test;npm run verifyat the repo root): the new test is red at090256a1, green after the fix; a scrim click closes the overlay and the shell behind it is dimmed.Birfy commentedon Oct 30, 2026
Written-by: Dev
Claimed #1750 — first step: add the
bt-scrimsibling toProjectBoardOverlayand the covering.bt-project-overlaysurface incore/src/client/project-board.js, with the red-first assertion incore/test/ui-clickthrough.test.js.Branch:
dev/1750-project-board-scrim(from main090256a1).Fix the Project board overlay: add a scrim and cover the shell (Think…