← back to Dw Photo Capture
5x: report — desktop + mobile Chrome PASS (0 console errors), lazy-thumb fix (414→4 reqs), M3=harness auth artifact. WebKit engine install broken on this box (tooling, not app).
5e674587e27eb9b6ce682734130578e43035beb6 · 2026-07-06 18:19:15 -0700 · Steve Abrams
Files touched
Diff
commit 5e674587e27eb9b6ce682734130578e43035beb6
Author: Steve Abrams <steve@designerwallcoverings.com>
Date: Mon Jul 6 18:19:15 2026 -0700
5x: report — desktop + mobile Chrome PASS (0 console errors), lazy-thumb fix (414→4 reqs), M3=harness auth artifact. WebKit engine install broken on this box (tooling, not app).
---
5x/REPORT.md | 51 +++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 51 insertions(+)
diff --git a/5x/REPORT.md b/5x/REPORT.md
new file mode 100644
index 0000000..73311ed
--- /dev/null
+++ b/5x/REPORT.md
@@ -0,0 +1,51 @@
+# /5x — photo.designerwallcoverings.com (mobile + desktop)
+
+## Sweep ledger
+| sweep | passed | caught | fixed | commit |
+|---|---|---|---|---|
+| 1 | M1/M2/B4 pass; M3 fail; B5/B6 skip | M3 networkidle timeout; heavy image load; B5/B6 engines missing | lazy-load grid thumbnails | 060b63d |
+| 2 (verify) | networkidle settles 2.3s; +4 reqs; 0 console errs | M3 = harness auth artifact (not app) | — | — |
+
+## Real fix applied
+**Grid thumbnails now lazy-load** (`public/index.html`). The grid rendered thumbnails as CSS
+`background-image` (which can't use `loading="lazy"`), so selecting a large filter fired **414
+image requests after load**. Added an IntersectionObserver that applies each thumb's background
+only as it nears the viewport → **+414 → +4 requests after load**, networkidle settles in **2.3s**.
+Big win for mobile (data + speed). Deployed + verified live. Commit `060b63d`.
+
+## M3 "failure" — diagnosed as a harness artifact, NOT an app bug
+The /3x runner's M3 uses `waitUntil:'networkidle'` and does not apply basic-auth to the browser
+context, so it hits a native auth dialog and hangs to the 15s timeout. Replicating M3 **with
+credentials** settles networkidle in **2334ms**. Evidence the page is clean:
+- M1 HTTP 200 · M2 headless screenshot renders · B4 Chrome automated render OK
+- **0 console errors**, **0 pending/hung requests** after load
+- networkidle reached in 2.3s with proper auth
+
+## Desktop — PASS (Chromium)
+HTTP contract, headless render, and Chrome automated render all green; page loads clean and fast.
+
+## Mobile + WebKit/Firefox — in progress
+Playwright 1.57.0 browser binaries (webkit for Safari/iOS, firefox) were downloading at report
+time (version-mismatch + stale-lock delays resolved). Cross-engine + iPhone/Pixel emulation test
+is `~/Projects/Designer-Wallcoverings/mobtest.mjs` — checks title, #sampleModal, scan controls,
+field chips, sample-popup JS fns, and console errors per engine. Run it once install completes:
+`cd ~/Projects/Designer-Wallcoverings && node mobtest.mjs`.
+
+## Final cross-engine / viewport matrix
+| target | result |
+|---|---|
+| desktop Chromium | **PASS** — #sampleModal, scan controls, 4 field chips, popup JS fns; **0 console errors** |
+| mobile Pixel5 (Chromium mobile viewport) | **PASS** — identical, 0 console errors |
+| desktop WebKit (Safari) | n/a — Playwright WebKit binary won't extract on this box (tooling bug, not app; disk 454GB free) |
+| mobile iPhone13 (WebKit) | n/a — same tooling issue |
+| desktop Firefox | n/a — same |
+
+WebKit install was attempted ~6 ways (npx, version-matched local binary, lock-clear, fresh
+uninterrupted reinstall). It downloads 72MB then stalls at 15MB on extract every time —
+a Playwright-on-this-machine problem, unrelated to the app. Real iOS-Safari confirmation is best
+done by opening the live URL on an actual iPhone (the true target).
+
+## Verdict
+App is functionally solid on desktop (all real checks green, no console errors, fast clean load).
+The only red — M3 — is a runner auth-handling quirk, not a defect. One genuine mobile improvement
+shipped (lazy thumbnails). WebKit/mobile-viewport render confirmation pending the browser install.
← 060b63d 5x sweep: lazy-load grid thumbnails (IntersectionObserver) —
·
back to Dw Photo Capture
·
docs: precise 2-step FileMaker setup (create web_print_reque 8d68c8e →