← back to Dw Photo Capture
5x sweep 4: history evidence screenshot viewport-only (Firefox 32767px full-page limit)
0e8aa0ea0a6d82a8c434d3815f90c4fadc7ffd3d · 2026-09-25 11:08:38 -0700 · Steve Abrams
TK-12228
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017yv665HsXLibk8kGheHT1P
Files touched
A 5x/sweep-4.mdM scripts/e2e-front-back-display.cjs
Diff
commit 0e8aa0ea0a6d82a8c434d3815f90c4fadc7ffd3d
Author: Steve Abrams <steve@designerwallcoverings.com>
Date: Fri Sep 25 11:08:38 2026 -0700
5x sweep 4: history evidence screenshot viewport-only (Firefox 32767px full-page limit)
TK-12228
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017yv665HsXLibk8kGheHT1P
---
5x/sweep-4.md | 20 ++++++++++++++++++++
scripts/e2e-front-back-display.cjs | 2 +-
2 files changed, 21 insertions(+), 1 deletion(-)
diff --git a/5x/sweep-4.md b/5x/sweep-4.md
new file mode 100644
index 0000000..46684c0
--- /dev/null
+++ b/5x/sweep-4.md
@@ -0,0 +1,20 @@
+# /5x sweep 4 — after bf95f56 (server restarted)
+
+## Verify (5x/out/sweep-4/sweep-summary.txt)
+- E2E Chromium 19/19 LIVE · WebKit 19/19 LIVE · WebKit warm 19/19 LIVE
+- Hung-camera (timeout → SNAP file input → shotAdd): Chromium 22/22, **WebKit 22/22 (sweep-3 stub fix held: it now
+ really takes SNAP front + SNAP back)**, Firefox CRASH (#1)
+- Firefox normal journey CRASH (#1)
+- /3x `/`: M1 M2 M3 B4 PASS
+- **ABORT: test server died again (between 11:06:03 and 11:07:17, during/after /3x `/`)** — sweep invalid, the
+ sweep driver's new alive-guard stopped it instead of recording false failures. Not counted toward clean-twice.
+
+## Caught → diagnosis
+1. Harness: Firefox `page.screenshot({fullPage:true})` of /captures threw "Cannot take screenshot larger than
+ 32767" — the test dir's history has grown across sweeps (~100+ cards at 430px width). Evidence screenshot now
+ viewport-only; the assertions on every card/thumbnail are unchanged. Re-run: Firefox 19/19.
+ Observation (not fixed, product call): /captures renders up to 2000 cards in one page with no pagination; lazy
+ images keep it usable, but a long-lived history will get very tall on a phone.
+2. Env: 4th silent server death. For sweep 5 the server runs in its own session (`perl POSIX::setsid`, outside
+ the tool's background-task group) with a `-r` preload that logs every catchable signal + exit code to
+ /tmp/dwp-e2e/server-exit.log, to identify the killer.
diff --git a/scripts/e2e-front-back-display.cjs b/scripts/e2e-front-back-display.cjs
index 527c4c2..45a50e0 100644
--- a/scripts/e2e-front-back-display.cjs
+++ b/scripts/e2e-front-back-display.cjs
@@ -153,7 +153,7 @@ const allLoaded = l => l.length > 0 && l.every(x => x.w > 0 && x.h > 0);
check('history: every front/back thumbnail has pixels (naturalWidth>0)', hist.length >= 8 && allLoaded(hist), { n: hist.length, bad: hist.filter(x => !x.w) });
const c0 = cards[0];
check('history card shows created date+time chip with ISO title', /\d{4}/.test(c0.when) && /\d:\d\d/.test(c0.when) && /T.*Z$/.test(c0.title), c0);
- await page.screenshot({ path: path.join(OUT, '06-history-grid.png'), fullPage: true });
+ await page.screenshot({ path: path.join(OUT, '06-history-grid.png') }); // viewport only: an accumulated history exceeds Firefox's 32767px full-page limit
// sort + density persist across reload
await page.selectOption('#sort', 'sku'); await page.fill('#dens', '200'); await page.dispatchEvent('#dens', 'input');
await page.reload({ waitUntil: 'domcontentloaded' }); await page.waitForSelector('.card');
← bf95f56 5x sweep 3: hung-camera e2e mode (all engines), WebKit stub
·
back to Dw Photo Capture
·
5x sweep 5: report — sweeps converge at cap, 3 app defects f a2e8198 →