Skip to content

fix(live): unblock long-GOP HLS and iPhone loading failures - #81

Merged
christopherklint97 merged 1 commit into
mainfrom
fix/iphone-live-startup
Oct 6, 2026
Merged

christopherklint97 merged 1 commit into
mainfrom
fix/iphone-live-startup

Conversation

@christopherklint97

Copy link
Copy Markdown
Owner

Summary

  • Reproduced real NFL REPLAY INFO HD failure: valid 8.334/8.333-second GOP segments were rejected by a four-second publication guard, permanently disabling shared HLS and forcing MPEG-TS fallback.
  • Admit finite, positive segments up to a fixed 12-second bound and advertise TARGETDURATION:12; preserve byte/storage/watchdog/strict packet-seam safety.
  • Distinguish permanent unsafe rejection (immediate 501, no Retry-After) from genuine retryable 503 warmup; preserve latches and old-ticket invalidation. Log only channel ID and fixed retirement category.
  • Keep Hls.js headroom at 24 seconds independent of advertised target and catch-up seeks disabled; iPhone/native selection remains intact.
  • Show actionable errors for rejected legacy HTTP responses, destroy failed players, ignore late error/waiting callbacks, and preserve explicit retry. Initial zero-time updates no longer shorten first-frame acquisition.

Verification

  • RED-to-GREEN real FFmpeg eight-second-GOP integration; policy, retirement and stale-ticket regressions.
  • All frontend tests: 347 passed; typecheck/lint/build passed.
  • Python worker/stitch: 24 passed.
  • Focused backend tests and typecheck passed; full packaged CI required before merge/deployment.
  • Initial host full-suite run used a 4-GiB tmpfs below the archive fixture's 20-GiB reserve and failed capacity checks; rerun on ordinary scratch filesystem in progress. Do not count that run as green.
  • Real affected-channel candidate browser acceptance and independent review in progress.
  • Physical iPhone playback not yet verified; local browser tests do not establish device acceptance.

Release

Exact-head CI, merge to main, verified ARM64 runtime deployment, and production readback/playback validation required before completion. No archive implementation changes.

@christopherklint97
christopherklint97 marked this pull request as ready for review October 6, 2026 14:39
@christopherklint97
christopherklint97 merged commit d1d63d1 into main Oct 6, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant