Files
felhom.eu/REPORT-dashboard-layout.md
T
admin 7585097f26
gates / gates (push) Successful in 4m29s
Dashboard layout: R-906/R-907 fixed on main (controller d5f2e47, 423b6d3), R-909..R-911 filed, evidence from 9202, report
Register 131 -> 134 (R-909 Apps card header, fixed on main; R-910 retake the website's dashboard pictures
after tomorrow's release; R-911 storage-unavailable banner stays Hungarian on English pages).
Evidence: before (0.303.0) / after (0.304.0-layout.rc2) pictures and measurements on scratch 9202, red proofs,
fixture diff. 9202 is back on 0.303.0.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012qRErfCoiTkvDK9N5XHbzb
2026-10-08 14:47:14 +02:00

6.0 KiB
Raw Blame History

REPORT — three dashboard layout fixes (2026-10-08)

REPORT-dashboard-layout.md, not REPORT.md: other sessions work in felhom.eu and felhom-controller today. The controller's own REPORT.md and CONTEXT.md were left to the session that owns them; the controller CHANGELOG.md carries this work.

Baseline: controller main = 05e12921 (2026-10-08 10:25), fleet 0.303.0, scratch 9202 on 0.303.0. Read first: controller CLAUDE.md + .claude/rules/, felhom-ui-design, 10-localisation.md §1 and §2.3 (the parity fixtures: a deliberate change is recorded by deleting the fixture, re-writing it with -update-i18n-golden, and measuring that the diff is exactly the change — CHANGELOG.md v0.250.0 / v0.255.0 precedent).

Part What State
A Apps card header: logo + name (+ address) over a wrapping tags row; logo top-aligned; address one line, ellipsis, full in title Done on main (d5f2e47, fixtures e37e9b5) — R-909
B R-907: the Launcher header wraps on a phone Done on main (d5f2e47)
B+ Found live: a banner's link ran past a phone screen and had no colour; fixed in the session (small) Done on main (423b6d3)
C R-906: the overflow counted after the page filter Done on main (d5f2e47)
D Red tests, fixtures, test build on 9202, before/after pictures, 9202 put back Done
E Register, CHANGELOG, STATUS Done

Register: before 131, after 134, opened 3 (R-909, R-910, R-911), closed 0. R-906 and R-907 moved to „VERIFY — fixed on main, ships with tomorrow's controller release".

Red tests (documentation/audits/dashboard-layout-2026-10-08/red-proofs.txt)

Mutation for all three: stacks.html, style.css and handlers.go put back to 05e12921, tests from 423b6d3.

Test Failure line (excerpt)
TestStackCardHeaderLayout hu card 0: want the title row, then a .stack-tags row (title 13, tags -1) (16 cards, hu + en); .stack-detail-header must stack the title row over the tags … justify-content: space-between; .stack-title-row must align the logo to the top of the name … align-items: center; style.css has no top-level ".stack-title-text" rule
TestR907_PageHeaderWrapsOnAPhone the phone block must let .page-header wrap; the share button's text must stay whole …; the phone block lacks \.alert-banner \{[^}]*flex-wrap: wrap (+2); .alert-link must take the banner's colour …
TestR906_OverflowCountsOnlyThisPagesBannerAlerts /launcher: an overflow line is shown, but this page shows no more than one banner alert and /launcher: 0 warning banners, want 1 (the hub-off warning) — on /launcher, /stacks, /backups, /monitoring, /launcher?lang=en, /stacks?lang=en

TestR906_CapStillCountsBannerAlerts pins that the cap still works (six banner alerts → five + „+ 1").

Re-captured fixtures (e37e9b5, its own commit)

stacks_full, stacks_unhealthy_stop, stacks_install_interrupted — because the Apps card's MARKUP changed (a wrapper, an address span + title, a tags row), not its words. Measured (fixture-diff.txt): each = its predecessor with exactly the template change applied, byte-for-byte, 3 of 3; visible text identical. No other fixture moved; TestI18nParity and TestI18nEnglishPages green. Hungarian: not one string changed. New English text: none. Note: d5f2e47 alone fails TestI18nParity on those three; both commits went in one push and CI ran the tip.

Live (9202 only; documentation/audits/dashboard-layout-2026-10-08/README.md)

Headless Chrome inside 9202; English by ?lang=en (the household setting never changed). Test tags 0.304.0-layout.rc1 and .rc2 (pre-release tags, never a release, never a floor).

before (0.303.0) after (rc2 = 423b6d3)
Banner „+ 5 további figyelmeztetés" alone, every page three real warnings, no overflow line
Launcher, 390 px page 425 px wide, share button right edge 424 page 390, button 16–217, own line
Apps, 390 px page 519 px wide 390
Apps: name under a tag Paperless-ngx (en, 1440) 0 of 61 cards, all four runs
Apps: logo vs name top three values (-5, 9, 21 px) one value (-3)

The rc1 run found the banner overflow (B+ above): the phone pages were still 481 / 472 px wide. Fixed, rc2 built, run again. Pictures: before/ and after/ — Launcher, Apps (+ three cards: installed with two tags, not installed, built-in), Backups; hu and en; 1440 and 390 px.

9202 put back: 0.303.0 restored from a copy, healthy; both test images removed; work folder and session file gone (shredded on both sides). demo-hp host: only pct list, pct exec 9202, pct push 9202. Not touched: 9201, demo-felhom, Tester 1, Tester 2, the hub, the website.

One side effect, said plainly: build.sh --push also moves the registry's :latest tag to the last build (rc2). Nothing in the fleet runs :latest (only the legacy compose files name it); tomorrow's release build moves it again.

Files at their pushed commits

  • Controller d5f2e47: controller/internal/web/alerts.go, handlers.go, templates/stacks.html, templates/style.css, dashboard_layout_test.go (new), r906_overflow_test.go (new), CHANGELOG.md, REUSE.md.
  • Controller e37e9b5: the three parity fixtures.
  • Controller 423b6d3: templates/style.css, dashboard_layout_test.go, CHANGELOG.md.
  • felhom.eu: OPEN-ITEMS.md, STATUS.md, this report, the audit folder — the next commit.

CI by commit (controller): run 1561 = e37e9b50 (carries d5f2e47) success; run 1562 = 423b6d34 success.

unproven.py --summary: not walked 35 of 55 — unchanged.

Waits for tomorrow's release

  • Release the controller (it carries R-899 and R-304 too). Then R-906, R-907, R-909 are read back on a box and closed.
  • R-910: after the release reaches demo-hp, retake the website's dashboard pictures (the Apps picture shows the old card).
  • R-911 (new, P4): the „data storage not reachable" banner stays Hungarian on English pages.

Decision for you

None.