- 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
40 lines
1.8 KiB
Markdown
40 lines
1.8 KiB
Markdown
# TODO
|
||
|
||
> Completed tasks moved to [DONE](./DONE.md). Remaining tasks in [BACKLOG](./BACKLOG.md).
|
||
|
||
## 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 `200` with `Cache-Control: public, max-age=31536000, immutable` (via the `linearvoid-media` Worker).
|
||
- Confirm manifest refresh + `CF-Cache-Status` progression 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](./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.sh` created
|