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
6.0 KiB
REPORT — three dashboard layout fixes (2026-10-08)
REPORT-dashboard-layout.md, notREPORT.md: other sessions work infelhom.euandfelhom-controllertoday. The controller's ownREPORT.mdandCONTEXT.mdwere left to the session that owns them; the controllerCHANGELOG.mdcarries 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.