From ee3fb5d33ae7c00c1737aa0807ea90519ba9773f Mon Sep 17 00:00:00 2001 From: Harshit Singh Bhandari Date: Tue, 19 May 2026 12:08:35 +0530 Subject: [PATCH] fix(web): make Done/Terminated dashboard section scrollable (#1923) (#1925) * fix(web): make Done/Terminated dashboard section scrollable (#1923) The collapsible Done/Terminated cards grid had no max-height or overflow handling, so it grew unbounded and was clipped by the ancestor's overflow:hidden once enough terminated sessions accumulated. The regression came from the Warm Terminal design refresh (#927) which added `flex: 1` to `.kanban-board-wrap`, defeating the body-level `overflow-y: auto` that previously allowed natural page scroll past the done section. Mirror the existing `.kanban-column-body` pattern by giving the cards grid its own internal scroll container and matching thin scrollbar styling. Each scrolling region owns its own scroll; the Warm Terminal flex layout is preserved. * style(web): document done-bar__cards max-height magic number Addresses greptile P2 review feedback on PR #1925. The 320px in calc(100vh - 320px) is the assumed chrome above the cards (dashboard header + subhead + body padding + done-bar toggle and margins). Adding a comment makes the implicit ancestor-height contract explicit, and points to the kanban-board rule that uses the same viewport-anchored pattern. --- .changeset/fix-done-bar-scroll.md | 5 +++++ packages/web/src/app/globals.css | 15 +++++++++++++++ 2 files changed, 20 insertions(+) create mode 100644 .changeset/fix-done-bar-scroll.md diff --git a/.changeset/fix-done-bar-scroll.md b/.changeset/fix-done-bar-scroll.md new file mode 100644 index 000000000..edac04f39 --- /dev/null +++ b/.changeset/fix-done-bar-scroll.md @@ -0,0 +1,5 @@ +--- +"@aoagents/ao-web": patch +--- + +Fix Done/Terminated section on the dashboard not scrolling. The expanded cards grid now has an internal scroll container (mirroring the kanban column body pattern), so older terminated sessions are reachable when many accumulate. diff --git a/packages/web/src/app/globals.css b/packages/web/src/app/globals.css index 1ae049ef9..d85a5c6c0 100644 --- a/packages/web/src/app/globals.css +++ b/packages/web/src/app/globals.css @@ -5858,6 +5858,21 @@ html.light .xterm .xterm-viewport:hover::-webkit-scrollbar-thumb:active { grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 8px; margin-top: 12px; + /* 320px ≈ dashboard header + subhead + body padding + done-bar toggle/margins. + Mirrors the .kanban-board viewport-anchored height pattern (line 5107). */ + max-height: calc(100vh - 320px); + overflow-y: auto; +} + +.done-bar__cards::-webkit-scrollbar { + width: 4px; +} +.done-bar__cards::-webkit-scrollbar-track { + background: transparent; +} +.done-bar__cards::-webkit-scrollbar-thumb { + background: var(--color-scrollbar); + border-radius: 0; } /* ── Done card (compact grid card) ──────────────────────────────────── */