From c44cac2e9a3ff56f0df922a11e7e60c6ebdd7b2c Mon Sep 17 00:00:00 2001 From: SergeantPanda Date: Thu, 25 Jun 2026 11:27:57 -0500 Subject: [PATCH] fix(recording playback): Complete authentication handling for DVR recordings by allowing JWT tokens via query parameters for both native video and HLS segments. Updated API views to support token propagation in redirects and playlist rewrites. Enhanced tests to validate new authentication behavior across endpoints. --- CHANGELOG.md | 3 +- apps/accounts/authentication.py | 3 +- apps/channels/api_urls.py | 6 +- apps/channels/api_views.py | 34 +++- .../tests/test_recording_playback_auth.py | 152 ++++++++++++++++-- frontend/src/WebSocket.jsx | 2 +- 6 files changed, 175 insertions(+), 25 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index c5312ff9..bbfe159f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -54,8 +54,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Fixed -- **Completed DVR recordings no longer return 403 when played in the browser.** In-progress recordings used hls.js, which injects the JWT via `xhrSetup`. Completed recordings switch to the `/file/` endpoint with native `