Debate Ring Viewer
Search the build
-
14077ff2026-07-03 chore: macstudio3 migration — reconcile from mac2 + repoint paths (stevestudio2→macstudio3, node/npm/npx→/opt/homebrew) -
0d61c5d2026-06-03 Untrack committed log files and add *.bak to .gitignore -
04f4c6b2026-05-31 Link favicon.svg in head (use branded SVG, not .ico fallback) -
26a85f92026-05-13 snapshot: 6 file(s) changed, +2 new, ~4 modified -
2b784742026-05-07 untrack node_modules per standing rule (was tracking 1635 files; files preserved on disk) -
826386e2026-05-07 add canonical .gitignore per standing rule -
0c2d40d2026-05-04 [morning-review] debate-ring-viewer: cache /demo.mp4, harden avatar SVG injection, a11y labels -
7ccaab02026-05-04 [morning-review] debate-ring-viewer: harden round 404 + XSS + Win path + audio resume + a11y -
ce2f1752026-05-03 yolo: baseline before overnight
Authors
- Steve8
- local1
Agents used
Skills used
- /demo2
- /npm1
- /npx1
- /homebrew1
- /server1
- /etag1
- /storyboard-snap1
- /index1
Creative ideas + design notes
0c2d40d · 2026-05-04 · [morning-review] debate-ring-viewer: cache /demo.mp4, harden avatar SVG injection, a11y labels
- src/server.js: pass cacheControl/maxAge/etag/lastModified to /demo.mp4 sendFile so QuickTime+Safari can short-circuit to 304 instead of re-downloading the (large) MP4 on every refresh - scripts/storyboard-snap.cjs: replace template-literal innerHTML for the avatar SVG with DOMParser + document.importNode, stripping <script> elements and on* attributes; a hostile avatar file can no longer execute script in the storyboard page context - public/index.html: add aria-label to the speed range and sound checkbox inputs and aria-live to the speed value span so AT users hear changes
File tree
- .gitignore
- demo-flow.json
- ecosystem.config.cjs
- logs/reviews/post-build-20260503-200006.md
- logs/reviews/post-build-mid-fight.md
- logs/reviews/pre-build-20260503-200006.md
- logs/reviews/storyboard-pre-build.md
- logs/reviews/storyboard-review-20260503-163548.md
- package-lock.json
- package.json
- public/app.js
- public/favicon.svg
- public/index.html
- public/style.css
- scripts/four-horsemen-review.sh
- scripts/keyframes-extract.sh
- scripts/storyboard-snap.cjs
- scripts/weekly-highlight-reel.sh
- src/server.js
- storyboards/frame-01-idle.png
- storyboards/frame-02-fighting.png
- storyboards/frame-03-deep.png
- storyboards/post-build-20260503-200006/frame-00-t2s.png
- storyboards/post-build-20260503-200006/frame-01-t12s.png
- storyboards/post-build-20260503-200006/frame-02-t22s.png
- storyboards/post-build-20260503-200006/frame-03-t32s.png
- storyboards/post-build/frame-00-t2s.png
- storyboards/post-build/frame-01-t12s.png
- storyboards/post-build/frame-02-t22s.png
- storyboards/post-build/frame-03-t32s.png