59949e91ca
tools/render_check.py drives the real UI in Playwright's Chromium and asserts what a person actually sees: the login gate, live search narrowing on a spec value, the quick-adjust buttons, the category spec template pre-filling and switching the unit to grams, the settings and password panels, and the phone layout at a true 390px viewport. Playwright's own Chromium rather than the installed Chrome: headless Chrome returns nothing while a desktop Chrome is open, silently enough that it reads as the app being broken. It found a real bug on its first run. The fetch helper treated any 401 as a lapsed session, so a wrong password bounced to "Not authenticated" instead of saying the password was wrong. 401s from the login call itself are now left to report their own reason. It also confirmed the CSP is doing its job from the other direction: Playwright's wait_for_function compiles predicates with eval() and is refused, so the check polls from Python rather than the app loosening script-src. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
3 lines
64 B
Plaintext
3 lines
64 B
Plaintext
# Test-only. Not installed into the container image.
|
|
playwright
|