The forge runner takes one job at a time, so every superseded push or PR sync piled up
behind the one before it and the dev preview run waited behind runs for merged heads.
Pull-request workflows get a group per workflow and PR number; the dev preview gets its
own group, so a newer dev push cancels an older one and PR runs never cancel it.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
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>
Run 170: CreateArtifact got an nginx 404 page; /twirp 404s at the host root and answers
(401 without a token) at /forge/twirp. Try the results URL with the subpath.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
actions/upload-artifact v4+ throws GHESNotSupportedError on this forge (run 169);
Forgejo's fork is the supported uploader.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Push to dev builds with base /void/rat-dev/, tier low, heap 3072 MB, and uploads dist.
No secrets. Consumed by gamecult-ops install-rat-dev-preview.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>