[object Object]

← 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

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 →