← back to Studio Zero
5x: REPORT — 2 clean sweeps (favicon + conditional export buttons fixed; M1 was a WHATWG bad-port artifact, not an app bug)
dfe27aaeb50a9e4b0fefd4872de5aba6941e14c7 · 2026-07-25 11:14:37 -0700 · Steve
Files touched
Diff
commit dfe27aaeb50a9e4b0fefd4872de5aba6941e14c7
Author: Steve <steve@designerwallcoverings.com>
Date: Sat Jul 25 11:14:37 2026 -0700
5x: REPORT — 2 clean sweeps (favicon + conditional export buttons fixed; M1 was a WHATWG bad-port artifact, not an app bug)
---
5x/REPORT.md | 35 +++++++++++++++++++++++++++++++++++
1 file changed, 35 insertions(+)
diff --git a/5x/REPORT.md b/5x/REPORT.md
new file mode 100644
index 0000000..d0c0b19
--- /dev/null
+++ b/5x/REPORT.md
@@ -0,0 +1,35 @@
+# /5x REPORT — Studio Zero
+
+Target: studio-zero served in demo mode (SZ_PROVIDER=demo → clickthrough exercises every
+control instantly; the LLM path is out of scope for a UI sweep).
+
+## Sweep-by-sweep
+| Sweep | Port | Six-way | Caught | Fixed | Commit |
+|------|------|---------|--------|-------|--------|
+| 1 | 4190 | 4/7 | 3 (M3 favicon-404, 2× export-button click-timeout, M1) | favicon + conditional export buttons | 81d5154 |
+| 2 | 4190 | 6/7 | 1 (M1 only) | diagnosed M1 as a test artifact (see below) | — |
+| 3 | 4321 | 7/7 | 0 | — | (clean) |
+| 4 | 4321 | 7/7 | 0 | — | (clean) |
+
+Stop condition: **clean twice** (sweeps 3 & 4).
+
+## Defects + real fixes
+1. **M3 JS error = `/favicon.ico` 404** — page had no icon. Fixed at root: inline data-URI
+ SVG favicon (a play-button mark) → no request, no 404. `81d5154`
+2. **Clickthrough: "Download plan" / "Copy markdown" click-timeout** — they rendered
+ dimmed-but-present (pointer-events:none) with 0 steps done, so Playwright waited 5s.
+ Fixed by only RENDERING those export buttons once ≥1 step exists (better UX — no inert
+ dead buttons — and nothing for the clickthrough to hang on). `81d5154`
+3. **M1 "fetch failed" — NOT an app defect.** Port 4190 is a WHATWG "bad port"
+ (managesieve) that undici's `fetch` refuses by spec ("bad port"). curl, Chrome, and
+ Node `http.get` all reached the server (200); only `fetch` blocked it. Re-ran on a
+ non-bad port (4321) → M1 passes. No code change warranted; documented so it isn't
+ mistaken for a server bug next time.
+
+## Final six-way state (sweeps 3–4)
+M1 HTTP 200 ✅ · M2 render ✅ · M3 E2E 0 JS errors ✅ · Chrome/Safari/Firefox ✅ ·
+click-through 5/5 (New · Start · Generate · Copy markdown, + export buttons appear post-generate) ✅
+
+## Open items
+None. Note for future local `/5x` / fetch-based tests: avoid WHATWG bad ports
+(4190, 6000, 6666, 5060, …) or undici fetch will report "fetch failed / bad port".
← 81d5154 5x sweep 1: add favicon (kills 404); render export buttons o
·
back to Studio Zero
·
auto-save: 2026-07-25T11:35:57 (1 files) — test/ ce4a40d →