- playout: run-scoped R2 manifest URIs (candidate a rewrite via rewriteManifestToRun) - tests: playlist_rewrite_test.go (rewrite + publish integration + slate guard) - docs: STREAMING, cloudflare-workers-setup, architecture (incl. Level-2 diagram) - release housekeeping: TODO->DONE, CHANGELOG 1.1.0, version bump
1.8 KiB
1.8 KiB
TODO
Playout / R2 manifest–segment layout mismatch
Chosen approach: candidate (a) — rewrite the live manifest so its media URIs point into the current run-scoped folder before the atomic R2 publish. Go change in backend/playout/src/playlist.go. The linearvoid-media Worker stays a faithful path→R2 mapper (no serve-time rewrite).
Remaining — Validation
- Run playout (local or test lab), then:
curl https://media.linearvoid.tv/hls/playlist.m3u8→ 200, short TTL.- Every URI in the manifest resolves
200withCache-Control: public, max-age=31536000, immutable(via thelinearvoid-mediaWorker). - Confirm manifest refresh +
CF-Cache-Statusprogression and no 404 on segment fetch across a run loop.
- Verify slate fallback still serves correctly after the rewrite change.
Implementation (candidate a), Go unit tests, and documentation are complete — see DONE.md.
Frontend Tests
User Frontend
- Test coverage for all critical frontend components and interactions
- Add code coverage reporting and enforce minimum coverage threshold in CI/CD pipeline
- Document test cases and expected outcomes
Admin Frontend
- Test coverage for all critical admin UI components and interactions
- Add code coverage reporting and enforce minimum coverage threshold in CI/CD pipeline
- Document test cases and expected outcomes
Backend Integration Tests
Cloudflare R2
- Test retrieval of segments and manifests from R2 via Cloudflare edge
- Validate cache hit/miss behavior and performance metrics
- Validate edge cache hit/miss behavior with repeat requests — script
scripts/validate-edge-cache.shcreated