preview: pretend homeserver for the dev preview (in-page, off by default) #28

Merged
void merged 9 commits from void/preview-demo into dev 2026-11-07 19:02:48 +00:00

2026-11-07

Void
preview-demo: fix test file, drop unused import
Some checks failed
Build pull request / Build pull request (pull_request) Failing after 2m53s
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-07 18:58:15 +00:00
Void
preview-demo: seed settings before the settings module reads them, short banner, quick first poll
Found driving Chrome: the pose setting was seeded after settings.ts had already read defaults;
the Connecting bar stayed until the first 15 s long poll returned.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-07 18:57:07 +00:00
Void
preview-demo: deliver submit events the sandbox would cancel
The host CSP sandbox lacks allow-forms; Chrome drops native submission before the submit
event fires, so the login button did nothing in a real browser (found driving Chrome).

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-07 18:54:59 +00:00
Void
preview-demo: destructure origin
Some checks failed
Build pull request / Build pull request (pull_request) Failing after 3m22s
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-07 18:52:30 +00:00
Void
preview-demo: destructure open
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-07 18:52:15 +00:00
Void
preview-demo: lint
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-07 18:51:07 +00:00
Void
preview-demo: lint-clean router, prettier
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-07 18:50:52 +00:00
Void
preview-demo: seed settings through the installed window's storage
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-07 18:50:15 +00:00
Void
preview: pretend homeserver for the dev preview, in-page and off by default
src/preview-demo answers a demo.invalid homeserver from fixtures through a guarded fetch;
own-origin requests pass, every other origin is refused (fetch, WebSocket, XHR, beacon).
Built in only with VITE_PREVIEW_DEMO=1 and switched on by previewDemo in config.json
(scripts/preview-config.js --demo, run by the dev workflow). Login prefills 'demo'.
Pose art: 24 downscaled thumbnails in preview-demo/poses, copied into dist by the workflow.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-11-07 18:49:59 +00:00