Commit graph

3726 commits

Author SHA1 Message Date
SergeantPanda
effa03b2a5 Enhancementvod): optimize xc_get_series for performance and reduce API response time 2026-05-30 09:08:54 -05:00
SergeantPanda
97bfc6f802 changelog: Update for refactor pr. 2026-05-30 08:49:02 -05:00
SergeantPanda
157c87ce4d feat(vod): optimize xc_get_vod_streams for performance and reduce API response time 2026-05-29 22:12:55 -05:00
SergeantPanda
dd06ba57f5 changelog: Update changelog for vod metadata pr. 2026-05-29 21:38:37 -05:00
SergeantPanda
efea46b08b
Merge pull request #1287 from nemesbak/fix/vod-metadata-director-cast-releasedate
fix(vod): import director, actors and release_date from XC provider during sync
2026-05-29 21:32:39 -05:00
SergeantPanda
fc867b7f77 fix(vod): enhance metadata extraction for actors and preserve existing values 2026-05-29 21:18:16 -05:00
SergeantPanda
dba93b1d20 changelog: Update changelog for get_vod_streams changes. 2026-05-29 21:05:27 -05:00
SergeantPanda
e871010366 feat(vod): enhance xc_get_vod_streams with additional movie details and updated trailer field 2026-05-29 20:55:29 -05:00
SergeantPanda
d29a9ef88c fix(tests): update API call expectations in useVODStore tests to include null parameter 2026-05-29 20:00:55 -05:00
SergeantPanda
1d5a005888
Merge pull request #1285 from nemesbak:fix/vod-series-provider-switch
fix(vod): respect relation_id when switching providers in Series/Movie modal
2026-05-29 19:39:59 -05:00
SergeantPanda
06046c8961 changelog: Update changelog for vod pr. 2026-05-29 19:26:20 -05:00
SergeantPanda
d8ead97049 Merge branch 'dev' of https://github.com/Dispatcharr/Dispatcharr into pr/nemesbak/1285 2026-05-29 19:24:35 -05:00
SergeantPanda
7cbc71f7fb refactor(vod): Apply prettier. 2026-05-29 19:23:51 -05:00
SergeantPanda
36879c10f2 fix(vod): validate relation_id and handle loading state in VODModal 2026-05-29 19:23:13 -05:00
nemesbak
ac84916974 fix(vod): preserve advanced-refresh metadata and fix youtube_trailer key
- Use 'youtube_trailer' key (matching api_views.py and advanced refresh)
  instead of orphaned 'trailer' key that was never consumed.
- On basic sync, only write director/actors/release_date to
  custom_properties when the field is currently empty. This prevents
  basic sync from overwriting richer data previously stored by
  refresh_movie_advanced_data, while still populating those fields for
  movies that have never had an advanced refresh run.

Tested: logic verified against all three scenarios (preserve existing
rich data, populate empty fields, youtube_trailer key propagation).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-30 01:06:58 +02:00
SergeantPanda
b19184d7aa changelog: Update changelog for stream profile bugfix. 2026-05-29 17:12:38 -05:00
SergeantPanda
e45e4fc86f
Merge pull request #1288 from nemesbak:fix/stream-profile-override-ignored
fix(channels): honor per-channel stream profile override during streaming
2026-05-29 17:08:40 -05:00
SergeantPanda
b63650799a docs: Restored todo as this did not resolve it. Cleaned up overly verbose comment. 2026-05-29 17:07:55 -05:00
Goldenfreddy0703
6e07dce3f1 Fix maintainer review items without breaking multi-login rotation.
Cap credential-scoped group counters at profile.max_streams (not group.max_streams),
skip credential counters when fingerprint resolution fails, and always swap profile
counters on update_stream_profile. Restore per-profile-only selection for VOD/live
switches so a second stream can use a different login without invalid HTTP errors.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-29 17:07:52 -04:00
SergeantPanda
a164194c61 changelog: Update changelog for web player pr. 2026-05-29 14:58:34 -05:00
SergeantPanda
87accc2f63
Merge pull request #1305 from nemesbak:fix/output-profile-guide-player
fix(frontend): apply web-player output profile in TV Guide and all live stream calls
2026-05-29 14:53:49 -05:00
nemes
c717df50f9 fix(frontend): update getShowVideoUrl tests to expect output_format and output_profile 2026-05-29 17:32:24 +02:00
nemes
98d7acd3c0 fix(frontend): apply output_profile and output_format in all live stream player calls
getShowVideoUrl was returning a raw proxy URL without calling
buildLiveStreamUrl, so the web-player output profile preference stored in
localStorage was ignored when starting a live stream from the TV Guide,
Program Detail modal, DVR page, Recording Details modal, and Recording Card.

Fixes #1304
2026-05-29 17:32:22 +02:00
SergeantPanda
e04afff04a
Merge pull request #1274 from nick4810:tests/frontend-unit-tests
Tests/frontend unit tests
2026-05-29 09:35:00 -05:00
nemes
17ce532326 fix(frontend): update getShowVideoUrl tests to verify output_format and output_profile 2026-05-29 13:23:22 +02:00
nemes
14c54b60f1 fix(frontend): apply output_profile and output_format in all live stream player calls
getShowVideoUrl was building raw proxy URLs without calling buildLiveStreamUrl,
so the web-player output profile preference stored in localStorage was silently
ignored when starting a live stream from the TV Guide, Program Detail modal,
DVR page, Recording Details modal, and Recording Card.

Fix: import buildLiveStreamUrl in RecordingCardUtils and call it at the end of
getShowVideoUrl so every caller inherits the correct output_format=mpegts
param and any configured output_profile automatically.

Fixes #1304
2026-05-29 13:20:35 +02:00
Nick Sandstrom
714f1b5cf5 Updated rendering behavior 2026-05-28 18:46:57 -07:00
Nick Sandstrom
5eeca5fc94 Fixed test behavior 2026-05-28 18:46:57 -07:00
Nick Sandstrom
cc59718997 Small cleanup 2026-05-28 18:46:57 -07:00
SergeantPanda
cc450f0a97
Merge pull request #1272 from JCBird1012/fix/db-connection-pool-exhaustion
perf: replace per-request DB connections with geventpool
2026-05-28 20:01:13 -05:00
SergeantPanda
77a3edf63a perf/fix: migrate DB driver to psycopg3, fix pool settings
- Switch engine to postgresql_psycopg3 (PR had wrong engine name,
  and we're migrating from psycopg2 to psycopg3 as part of this work)
- Set CONN_MAX_AGE=0 (required by geventpool; PR had None)
- Reduce MAX_CONNS 20→8, REUSE_CONNS 10→3 to avoid exhausting
  pg max_connections across 4 uWSGI workers + Celery
- Add pool=False to explicitly disable Django's native psycopg3 pool
2026-05-28 19:47:24 -05:00
SergeantPanda
38c89402f8 Enhancement: Update psycopg2 to 3. 2026-05-28 19:46:58 -05:00
SergeantPanda
14dd28b7fb Enhancement: Update psycopg from 2 to 3, remove psycogreen as it's no longer needed with psycopg3. 2026-05-28 19:46:27 -05:00
Jonathan Caicedo
4a45f536bb perf: replace per-request DB connections with geventpool 2026-05-28 19:46:17 -05:00
SergeantPanda
f6acbb0c98 changelog: Update changelog for connection pooling pr. 2026-05-28 19:42:06 -05:00
SergeantPanda
f5ed272807 Merge branch 'dev' of https://github.com/Dispatcharr/Dispatcharr into pr/JCBird1012/1272 2026-05-28 19:32:10 -05:00
SergeantPanda
a2656184e8 perf/fix: migrate DB driver to psycopg3, fix pool settings
- Switch engine to postgresql_psycopg3 (PR had wrong engine name,
  and we're migrating from psycopg2 to psycopg3 as part of this work)
- Set CONN_MAX_AGE=0 (required by geventpool; PR had None)
- Reduce MAX_CONNS 20→8, REUSE_CONNS 10→3 to avoid exhausting
  pg max_connections across 4 uWSGI workers + Celery
- Add pool=False to explicitly disable Django's native psycopg3 pool
2026-05-28 19:31:50 -05:00
SergeantPanda
80b72d8cfa Enhancement: Update psycopg2 to 3. 2026-05-28 19:27:52 -05:00
SergeantPanda
d6f837238f Enhancement: Update psycopg from 2 to 3, remove psycogreen as it's no longer needed with psycopg3. 2026-05-28 19:27:11 -05:00
SergeantPanda
2f31a17be3 changelog: Update changelog for plugin page pr. 2026-05-28 15:39:46 -05:00
SergeantPanda
6d37b44e75
Merge pull request #1265 from sv-dispatcharr/fix/plugin-repo-tweaks 2026-05-28 15:26:38 -05:00
Seth Van Niekerk
3acb5ff0f5 Introduce In-House Template & Compliance Actions 2026-05-28 15:08:01 -05:00
SergeantPanda
1d2ca3c436
Merge pull request #1300 from sv-dispatcharr:repo/compliance-checks
Introduce In-House Template & Compliance Actions
2026-05-28 15:06:06 -05:00
SergeantPanda
7768d137c4 fix: remove unnecessary libpq-dev dependency from Dockerfile 2026-05-28 14:38:27 -05:00
Kanishk Sachdev
3e966cd1dd docker: split base image into builder and runtime stages
Keeps compilers in the builder; runtime stage copies only the venv
and NumPy wheel.
2026-05-28 14:38:18 -05:00
SergeantPanda
1cfd26227b
Merge pull request #1271 from kensac:docker-multistage-base
docker: split base image into builder and runtime stages
2026-05-28 14:36:45 -05:00
SergeantPanda
89a689c5a0 changelog: Update changelog for Docker PR. 2026-05-28 14:36:02 -05:00
SergeantPanda
9c6c2a081b fix: remove unnecessary libpq-dev dependency from Dockerfile 2026-05-28 14:31:00 -05:00
Seth Van Niekerk
3e7bd3d431
Introduce In-House Template & Compliance Actions 2026-05-28 14:20:39 -04:00
nemesbak
f08a30e303 fix(vod): import director, actors and release_date from XC provider sync
get_vod_streams on XC providers supplies director, cast/actors and
release_date for each movie, but process_movie_batch was only persisting
trailer in custom_properties. As a result those fields were always empty
in Dispatcharr's own get_vod_info / provider-info responses even when
the upstream provider returned correct data.

Changes:
- Extract director, actors (also mapped from 'cast') and release_date
  from movie_data during the batch-import phase and store them in
  custom_properties alongside the existing trailer field.
- Fix the update path to merge incoming custom_properties into the
  existing dict (using {**existing, **incoming}) rather than overwriting
  it wholesale, so that detailed_info and other keys written by the
  advanced refresh task are preserved across subsequent basic syncs.

Fixes #1228

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-28 13:39:05 +02:00