Dispatcharr/apps/vod
nemesbak 5fbe38f8d2 fix(vod): respect relation_id when switching providers in SeriesModal/VODModal
The provider-info endpoints for both series and movies always returned
data from the highest-priority relation, ignoring the provider the user
had selected in the dropdown. Switching sources in the UI produced no
change in the episode list or movie details.

Root cause: the endpoints had no support for a relation_id query param,
and the frontend never passed one when the user changed the selection.

Fix (backend):
- series provider-info: accept ?relation_id=<id> and query that specific
  M3USeriesRelation; fall back to highest-priority when omitted
- movie provider-info: same treatment for M3UMovieRelation

Fix (frontend):
- api.getSeriesInfo / api.getMovieProviderInfo accept an optional
  relationId argument and append it to the query string
- useVODStore.fetchSeriesInfo / fetchMovieDetailsFromProvider forward
  the argument to the API layer
- SeriesModal.onChangeSelectedProvider re-fetches series info (episodes
  included) with the newly selected relation's id
- VODModal.onChangeSelectedProvider re-fetches movie details with the
  newly selected relation's id

Fixes #1250

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-28 13:39:04 +02:00
..
migrations Bug Fix: Remove stale episode relations when series relations are deleted as well as remove episodes not seen in current series scan. 2026-02-24 18:32:48 -06:00
__init__.py Initial backend commit for vod 2025-08-02 10:42:36 -05:00
admin.py Bug Fix: Remove stale episode relations when series relations are deleted as well as remove episodes not seen in current series scan. 2026-02-24 18:32:48 -06:00
api_urls.py Separate VOD and channel logos into distinct tables with dedicated management UI 2025-11-07 13:19:18 -06:00
api_views.py fix(vod): respect relation_id when switching providers in SeriesModal/VODModal 2026-05-28 13:39:04 +02:00
apps.py Initial backend commit for vod 2025-08-02 10:42:36 -05:00
models.py Bug Fix: Remove stale episode relations when series relations are deleted as well as remove episodes not seen in current series scan. 2026-02-24 18:32:48 -06:00
serializers.py Separate VOD and channel logos into distinct tables with dedicated management UI 2025-11-07 13:19:18 -06:00
tasks.py Bug Fix: VOD orphan cleanup crashing with a ForeignKeyViolation (IntegrityError) when a concurrent refresh task created a new M3UMovieRelation or M3USeriesRelation for a movie/series between the orphan-detection query and the DELETE SQL. Both orphaned_movies.delete() and orphaned_series.delete() are now wrapped in try/except IntegrityError; affected records are skipped with a warning and will be cleaned up on the next scheduled run. 2026-03-08 11:56:52 -05:00
urls.py Fix VOD page not displaying correct order while changing pages. 2025-09-14 19:27:11 -05:00