Commit Graph

1 Commits

Author SHA1 Message Date
Indiana
e02aecee65 test: check the app in a real browser, because the suites cannot
Every serious defect this session survived a green suite. The sharpest:
THREE.WebGLRenderer throws on a device with no WebGL, the exception escaped
its effect, React unmounted the whole root, and every page rendered blank.
432 frontend tests passed throughout, because jsdom never builds a WebGL
context and nothing exercised a real page in a real browser.

scripts/smoke.py closes that blind spot. It drives Chrome over the DevTools
Protocol — no framework, no npm dependency — and checks each of the 13
routes for the four failures that have actually happened here: a page that
renders nothing, horizontal scroll on a phone, an input under 16px (iOS
zooms on focus and never zooms back), and any uncaught error during load.
Non-zero exit, so it can gate a deploy.

All four checks are PROVEN to fire, by pointing the script at a page built
with each defect on purpose — which is how I found that my own
horizontal-scroll check was broken. It compared scrollWidth against
window.innerWidth, but under Chrome's mobile emulation innerWidth expands to
the CONTENT width when a page overflows: 1200 on a 390px viewport, so the
difference was always 0 and the check could never fire. It reported "ok" on
a deliberately 1200px-wide page. Now compares against
documentElement.clientWidth, which stays at the true 390, and reports
"H-SCROLL +810px" on that same page.

Worth stating plainly: the earlier clean sweep I reported was measured with
that broken check, so its horizontal-scroll result was meaningless. Re-run
with the fix, all 13 routes still pass at 390x844 and 1440x900 — but that is
the run that counts.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-07 00:57:37 +00:00