Tables with wrong word fitting #93
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?
URL: http://100.118.73.36:5173/plans/incidents , http://100.118.73.36:5173/plans/executions and similar
I need you to review the cells and the words on that table component, for all of it use across other places. in small width screens, the words of different cells are overlapping. fix that, you are allowed to enable auto horizontal scroll on the tables
Claimed — branch
issue/93-table-fitting. Doing: root-cause the FeedTable cell overlap on /plans/incidents and /plans/executions at narrow widths, fix minimal CSS, add UC + test.Issue #93 — Tables with wrong word fitting
Restated goal
On narrow screens the shared feed tables overlap cell text: words from one cell
paint over the next. Operator named
/plans/incidentsand/plans/executions(“and similar”). Horizontal auto-scroll is explicitly allowed as the fix.
Root cause (measured, not guessed)
dashboard/src/lib/components/FeedTable.svelte:83rendersWhen a page does not pass
columnStyle(both issue pages), the table istable-layout: fixed; width: 100%. Cells inheritwhitespace-nowrapfromui/table/table-cell.svelte, so each column is locked to an equal fraction ofthe pane while its content is wider. The text overflows the cell box and paints
over the neighbour — and nothing scrolls, because the table never exceeds its
container.
DOM probe on the isolated stack (
127.0.0.1:5181dashboard →:3101middleware,DB
gotoi_93, demo catalog), viewport 700px,/plans/executions:fixed_verifiedsucceededdisk-cleanuptable-layout: fixed,tableWidth 650px,wrapWidth 650px,overflow-x: autoon the wrapper — the wrapper never scrolls because the table is capped at 100%.
/plans/incidentsat 390px: severitywarning+27, statusresolved+30./alertspassescolumnStyle, getstable-auto w-max, and does not overlap.Scope
Change (dashboard only):
dashboard/src/lib/components/FeedTable.svelte— remove thetable-fixedbranch; the base table is always
w-max min-w-full table-auto, so cells keeptheir natural content width and the existing
overflow-autowrapper scrolls.docs/use-cases/frontend/UC-FE-75-list-playground.md— Story/Notes line forthe narrow-width horizontal-scroll rule; bump
version:.Do not touch:
middleware/,agent/,docs-site/, schema/migrations,main/master, the.btn/.fieldsystems, or any non-feed table.UC decision
No new UC. UC-FE-75 owns the shared list playground table; a Story/Notes line
stating “narrow widths scroll horizontally; cells never overlap” covers the fix.
UC-FE-72(alerts) already passescolumnStyleand stays green. Bumpversion:on UC-FE-75.Design decisions
overflow-x-auto: the wrapper already has it; thetable is
width:100%, so there is nothing to scroll. The defect is the tablewidth model, not a missing scroll container.
table-fixedrather than widen it:table-fixedignores contentwidth by design. With
table-auto+whitespace-nowrap, columns size to theircontent;
min-w-fullkeeps the table filling the pane when content is narrow.columnStyle(user-resizable widths) andalready lands on the
table-autobranch — touching it would be scope creep.“Testing conventions”), and RULES forbids source-text assertions. The red/green
artifact is the live DOM probe; a UC entry carries the contract.
Tasks
overflowing cells and the
table-fixedlayout; keep the before screenshot.FeedTable.svelte— single table class.(
scrollWidth <= clientWidtheverywhere) and the wrapper scrolls(
scrollWidth > clientWidth) when content is wider; after screenshot.bun run checkclean.UC-FE-75version + notes, runpython3 docs/use-cases/_check.py.Hard rules
issue/93-table-fitting, work only in/home/eduardez/workspace/gotoi-wt/issue-93.main/masterforbidden;Refs #93only..btnrule respected.Showing linesscan empty;bun run check --threshold errorclean.Verification gates
cd dashboard && bun run test && bun run checkpython3 docs/use-cases/_check.pypython3 scripts/check-ai-headers.pyrg -n 'Showing lines' --glob '!node_modules' --glob '!.git'DONE
Commit: cde01db
fix(dashboard): feed table always table-auto so nowrap cells never overlap (UC-FE-75)Root cause:
FeedTable.svelteusedtable-fixed w-fullwhenever the caller passed nocolumnStyle(/plans/incidents, /plans/executions). Cells arewhitespace-nowrap, so each column locked to an equal fraction of the pane while content was wider — text painted over its neighbour, and theoverflow-autowrapper had nothing to scroll. /alerts passedcolumnStyle, stayed ontable-auto, and never overlapped.Fix: base table is always
w-max min-w-full table-auto; columns size to content, wrapper scrolls.Evidence (live DOM probe, :5181 → :3101, DB gotoi_93 demo catalog):
Gates (all exit 0):
cd dashboard && bun run check— 0 errors (7 pre-existing warnings in untouched files)cd dashboard && bun run test— 254 passedpython3 docs/use-cases/_check.py— conformpython3 scripts/check-ai-headers.py— 576 okpython3 scripts/check-type-mirror.py— exit 0Files: FeedTable.svelte, usecases-frontend.test.ts (removed an incidental
table-fixedsource assertion that pinned the defect), UC-FE-75 (version + narrow-width note).No push, per protocol.
REVIEW: FIXED 1 — findings: UC-FE-75 flow line 6 claimed a per-cell min-width that FeedTable never applies on the incidents/executions path (columnStyle is alerts-only and only decorates Table.Head); rewritten to the real invariant w-max min-w-full table-auto, matching DataTable (commit
44642b4). Test integrity: the removed assertions in dashboard/src/lib/usecases-frontend.test.ts were readFileSync+toContain('table-fixed') — a source-text pin of the defect itself, contradicted by the fix; no other assertion loosened, no .skip added, 108/108 tests pass. Checkers: _check.py, check-ai-headers.py, check-type-mirror.py exit 0; svelte-check 0 errors; 'Showing lines' hits are pre-existing docs quoting the rule (also on origin/agent-develop); UNFIXED: noneDONE — branch issue/93-table-fitting, PR #105 (#105) targeting agent-develop. 2 commits (
da354f8fix: feed table table-auto so nowrap cells never overlap, UC-FE-75;44642b4review: correct UC-FE-75 width-model doc line). Worker commit rebased onto current agent-develop (base had drifted pre-#99/#102/#104 merges). Review: FIXED 1 (docs correction only). Gates: UC catalog ok, ai-headers 582 ok, type-mirror ok, Showing-lines empty, dashboard test + check GREEN. Refs #93