The overview card overflows its slot with three readable roots, and the footer is silently clipped #5
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
OVERVIEW_ROOTS = 3does not fit the slot it is named for. Three healthy roots put the widget at 212px in a 205px slot, and.od-card > .bodyisoverflow: hidden(core/packages/shell/src/pages/HomePage.svelte:56,69,grid-auto-rows: 276px), so theread/write · N more rootsfooter is cut by 7.39px with no cue that anything is missing.Pre-existing, not from #4 —
origin/main's widget measures the same 212 / 205 / −7.39. Found while measuring a different question on that PR.Measured
Rendered headless on the real dashboard via the
@astral/astralrecipe incore/CLAUDE.md:376, against a running server withOPSDECK_FAKE_DATA=1and six roots configured. Identical figures at a 376px card (1440 viewport) and a 360px card (380 viewport):A readable row is 55.91px (bar 17.39 + one
.metaline 16.67 + 3px margin). An unreadable row is 38.52px, because it has no bar. So the layout only fits today when at least one root is unreadable — the healthy case is the one that overflows.Why it matters
Two invariants in the tree currently say this does not happen:
HomePage.svelte— "widgets must fit the slot — never show a scrollbar"OVERVIEW_ROOTS's own doc comment inbackend/fsops.ts:487-490, which names the slot as the reason for the numberThe clip is silent, and the thing it eats is the footer that says how many roots are hidden — so the card understates its own incompleteness exactly when it is full.
Options
OVERVIEW_ROOTS = 2— fits with headroom, costs a row.grid-auto-rowsinHomePage.svelte, which affects every widget, not just this one.Whichever way it goes, a rendering test that measures content against slot height would keep it from drifting back — that is the check
OVERVIEW_ROOTS's comment currently asks a reader to perform by hand.Also noticed
OverviewWidget.svelte:141's CSS comment says "the slot is 260px wide". It measures 322px at a 360px card, and.whynever ellipsises at either width (clientWidth 322 == scrollWidth 322). Stale comment, no behaviour attached.