Skip to content

moooon

Motir

Vibe your whole project. Bring an idea — Motir's three AI layers plan it, track it, and ship it, end to end. You're looking at Motir, built in Motir.

  • Vibe Project
  • Open Source
  • AI Agent
  • AI Loop
1
requests
0
upvotes
145
planned
1,361
shipped

Motir · Work items

MOTIR-1329Done

Scrum-board sprint-graph data table overflows the fixed w-[300px] burndown slot (compact chart hardcoded width=360, no min-w-0/overflow containment)

Bug: On the scrum board sprint header, the cycle-graph (burndown) slot's data table overflows its fixed-width card — the table runs past the right edge / pushes horizontal scroll.

Surface & component chain (verified):

  • app/(authed)/boards/_components/SprintHeaderBurndown.tsx — the sprint-header slot is a fixed w-[300px] shrink-0 card.
  • It renders CycleGraphChart with variant="compact" (app/(authed)/backlog/_components/CycleGraphChart.tsx), which hardcodes the compact chart width={360} (line ~274) — already 60px wider than the 300px slot.
  • The chart primitive renders the finding-#35 a11y fallback via ChartDataTable (components/ui/charts/ChartDataTable.tsx): a visible <details> disclosure containing a real <table className="w-full"> (line ~62), 5 columns (Day + scope/completed/started/target). It is NOT sr-only — a sighted user can open it.

Root cause: the compact chart + its <table w-full> size to ~360px (and the 5-column table can demand even more at min-content), but the slot card is fixed w-[300px] with no min-w-0 / overflow-x containment — so the chart/table overflow horizontally. This is the min-w-0 horizontal-overflow bug class.

Repro: open a board with an active sprint → the sprint-header burndown slot; the chart/data table overflows the 300px card (open the "data table" <details> to see the table run past the card edge). More day-rows / wider locale labels make it worse.

Fix direction:

  • Make the compact chart responsive to the slot width (drop the fixed width={360}; size to the container, ≤ the card width) instead of a hardcoded 360 inside a 300px box.
  • Constrain the ChartDataTable <details> within the card: min-w-0 on the flex column + overflow-x-auto on the table wrapper so a wide table scrolls inside the card rather than overflowing it.
  • Keep AA contrast and the finding-#35 data-table fallback intact; verify on the board at the 300px slot width and on the full report variant (no regression).

Acceptance criteria:

  • The sprint-header cycle-graph slot (chart + the data-table <details>, expanded) stays within the w-[300px] card — no horizontal page/card overflow at the board's slot width.
  • A long sprint (many day-rows) and a wide-label locale both stay contained (table scrolls within the card if needed).
  • The full report variant is unaffected.