From 16f4f0c9edbacdc645c563bf7a7c38ffd9adfe20 Mon Sep 17 00:00:00 2001 From: nemesbak Date: Thu, 28 May 2026 13:39:04 +0200 Subject: [PATCH 01/13] fix(frontend): clean up profiles state when playlists are deleted removePlaylists() filtered the playlists array but never removed the corresponding entries from the profiles map (the @TODO left since the store was introduced). Any component reading profiles[id] after deletion would get undefined and crash with 'undefined is not an object (evaluating P[R].name)'. Fix: build a copy of profiles with the deleted IDs removed and include it in the state update alongside the filtered playlists array. Fixes #1269 Co-Authored-By: Claude Sonnet 4.6 --- frontend/src/store/playlists.jsx | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/frontend/src/store/playlists.jsx b/frontend/src/store/playlists.jsx index 30d01906..8050a7c3 100644 --- a/frontend/src/store/playlists.jsx +++ b/frontend/src/store/playlists.jsx @@ -86,12 +86,16 @@ const usePlaylistsStore = create((set) => ({ })), removePlaylists: (playlistIds) => - set((state) => ({ - playlists: state.playlists.filter( - (playlist) => !playlistIds.includes(playlist.id) - ), - // @TODO: remove playlist profiles here - })), + set((state) => { + const updatedProfiles = { ...state.profiles }; + playlistIds.forEach((id) => delete updatedProfiles[id]); + return { + playlists: state.playlists.filter( + (playlist) => !playlistIds.includes(playlist.id) + ), + profiles: updatedProfiles, + }; + }), setRefreshProgress: (accountIdOrData, data) => set((state) => { From 72d152040008303012fe14ac534c3420ca1d36a5 Mon Sep 17 00:00:00 2001 From: SergeantPanda Date: Sat, 30 May 2026 11:14:59 -0500 Subject: [PATCH 02/13] feat(auth): add QueryParamJWTAuthentication for token retrieval via query parameters feat(vod): include token in stream URL for episode and movie requests (Fixes #1224) --- CHANGELOG.md | 1 + apps/accounts/authentication.py | 17 +++++ apps/proxy/vod_proxy/views.py | 69 ++++++++++++------- .../src/utils/components/SeriesModalUtils.js | 23 +++++-- .../src/utils/components/VODModalUtils.js | 12 ++-- 5 files changed, 88 insertions(+), 34 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4e9a3762..480ce9cc 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -28,6 +28,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Fixed +- **Authenticated users were not identified in VOD connection cards and stream events when streaming via the web player.** The VOD proxy now accepts a JWT via a `?token=` query parameter so browser `