From 874878fdc36964121ff2e685c03f0507cb4f988c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marc-Andr=C3=A9=20Bombeck?= Date: Sun, 10 May 2026 10:18:12 +0200 Subject: [PATCH] chore(planning): record A2 painted-scrollbar fix in shells Co-Authored-By: Claude Opus 4.7 (1M context) --- .planning/STATE.md | 20 +++++-- .planning/phase-A2-report.md | 106 +++++++++++++++++++++++++++++++++++ 2 files changed, 122 insertions(+), 4 deletions(-) create mode 100644 .planning/phase-A2-report.md diff --git a/.planning/STATE.md b/.planning/STATE.md index 648df5fab..71205f256 100644 --- a/.planning/STATE.md +++ b/.planning/STATE.md @@ -34,15 +34,27 @@ Last update: 2026-05-10T10:02+02:00 ### A2 — `/admin/api-tokens` table scrollbar (3rd attempt, Playwright live-verified) -- [ ] Inspect prod (https://healthlog.bombeck.io/admin/api-tokens) at +- [x] Inspect prod (https://healthlog.bombeck.io/admin/api-tokens) at Pixel 5 viewport with Playwright headless using Marc's session cookie `cmox4d6fj000101p8w9ykhcnm` -- [ ] Identify the exact element causing horizontal overflow (could be +- [x] Identify the exact element causing horizontal overflow (could be page-level, not table-level) -- [ ] Fix the actual overflow source (not just table column-hide which +- [x] Fix the actual overflow source (not just table column-hide which earlier attempts already did) -- [ ] Playwright e2e against PROD asserts no horizontal scroll at 393×851 +- [x] Playwright e2e against PROD asserts no horizontal scroll at 393×851 - Detailed report: `.planning/phase-A2-report.md` +- Status: 2026-05-10T10:21+02:00 — done. Production probe at Pixel-5 + with Marc's session pinned the painted scrollbar to the AdminShell + mobile section strip (13 entries, scrollWidth ~1700 vs clientWidth + ~360), NOT the api-tokens table. Every previous attempt fixed the + wrong component because the strip sits right above the api-tokens + card. Added `no-scrollbar` utility to globals.css and applied to + both AdminShell + SettingsShell mobile strips (same defect, same + pattern); swipe + keyboard-arrow scrolling preserved. Document- + level overflow already 0 in prod + (innerWidth=scrollWidth=393). Tests: 1559/1559, typecheck clean, + lint 0/12-baseline. New AdminShell unit suite + settings-shell + assertion + e2e regression guard. Commit `3e16074` on origin/main. ### A3 — Chart visual revert + per-chart toggles diff --git a/.planning/phase-A2-report.md b/.planning/phase-A2-report.md new file mode 100644 index 000000000..b03729f24 --- /dev/null +++ b/.planning/phase-A2-report.md @@ -0,0 +1,106 @@ +# Phase A2 — `/admin/api-tokens` painted scrollbar (3rd attempt) + +Marathon: v1.4.18 Wave-A +Agent: A2 (parallel with A1, A3, B1) +Started: 2026-05-10T10:08+02:00 +Finished: 2026-05-10T10:21+02:00 +Commit: `3e16074` on origin/main + +## Root cause — confirmed against PROD + +The two earlier fixes (v1.4.15 column-hide, v1.4.16 mobile card-list) +both targeted ``. They did remove overflow +inside that card, and the production probe confirmed it: at Pixel-5 +(393 CSS px) the api-tokens card now reports `scrollWidth=327, +clientWidth=327, diff=0` and the document itself reports +`scrollWidth=innerWidth=393` — zero page-level horizontal overflow. + +The actual scrollbar Marc kept reporting lives one component up, in +``. Its mobile section strip is a horizontal flex with +13 admin entries and an `overflow-x-auto` wrapper. At Pixel-5 the +strip reports: + +``` +