SergeantPanda
b8374fcc68
Refactor/Enhancement: Refactored channel numbering dialogs into a unified CreateChannelModal component that now includes channel profile selection alongside channel number assignment for both single and bulk channel creation. Users can choose to add channels to all profiles, no profiles, or specific profiles with mutual exclusivity between special options ("All Profiles", "None") and specific profile selections. Profile selection defaults to the current table filter for intuitive workflow.
2026-01-11 19:05:07 -06:00
SergeantPanda
6b873be3cf
Bug Fix: Fixed bulk and manual channel creation not refreshing channel profile memberships in the UI for all connected clients. WebSocket channels_created event now calls fetchChannelProfiles() to ensure profile membership updates are reflected in real-time for all users without requiring a page refresh.
2026-01-11 17:51:00 -06:00
SergeantPanda
edfa497203
Enhancement: Channel Profile membership control for manual channel creation and bulk operations: Extended the existing channel_profile_ids parameter from POST /api/channels/from-stream/ to also support POST /api/channels/ (manual creation) and bulk creation tasks with the same flexible semantics:
...
- Omitted parameter (default): Channels are added to ALL profiles (preserves backward compatibility)
- Empty array `[]`: Channels are added to NO profiles
- Sentinel value `[0]`: Channels are added to ALL profiles (explicit)
- Specific IDs `[1, 2, ...]`: Channels are added only to the specified profiles
This allows API consumers to control profile membership across all channel creation methods without requiring all channels to be added to every profile by default.
2026-01-11 17:31:15 -06:00
SergeantPanda
719a975210
Enhancement: Visual stale indicators for streams and groups: Added is_stale field to Stream and both is_stale and last_seen fields to ChannelGroupM3UAccount models to track items in their retention grace period. Stale groups display with orange buttons and a warning tooltip, while stale streams show with a red background color matching the visual treatment of empty channels.
CI Pipeline / prepare (push) Has been cancelled
Build and Push Multi-Arch Docker Image / build-and-push (push) Has been cancelled
CI Pipeline / docker (amd64, ubuntu-24.04) (push) Has been cancelled
CI Pipeline / docker (arm64, ubuntu-24.04-arm) (push) Has been cancelled
CI Pipeline / create-manifest (push) Has been cancelled
2026-01-09 14:57:07 -06:00
SergeantPanda
a84553d15c
Enhancement: Stale status indicators for streams and groups: Added is_stale field to both Stream and ChannelGroupM3UAccount models to track items in their grace period (seen in previous refresh but not current).
2026-01-09 13:53:01 -06:00
SergeantPanda
cc9d38212e
Enhancement: Groups now follow the same stale retention logic as streams, using the account's stale_stream_days setting. Groups that temporarily disappear from an M3U source are retained for the configured retention period instead of being immediately deleted, preserving user settings and preventing data loss when providers temporarily remove/re-add groups. ( Closes #809 )
2026-01-09 12:03:55 -06:00
SergeantPanda
caf56a59f3
Bug Fix: Fixed manual channel creation not adding channels to channel profiles. Manually created channels are now added to the selected profile if one is active, or to all profiles if "All" is selected, matching the behavior of channels created from streams.
CI Pipeline / prepare (push) Waiting to run
CI Pipeline / docker (amd64, ubuntu-24.04) (push) Blocked by required conditions
CI Pipeline / docker (arm64, ubuntu-24.04-arm) (push) Blocked by required conditions
CI Pipeline / create-manifest (push) Blocked by required conditions
Build and Push Multi-Arch Docker Image / build-and-push (push) Waiting to run
2026-01-09 10:41:04 -06:00
SergeantPanda
ba5aa861e3
Bug Fix: Fixed Channel Profile filter incorrectly applying profile membership filtering even when "Show Disabled" was enabled, preventing all channels from being displayed. Profile filter now only applies when hiding disabled channels. ( Fixes #825 )
2026-01-09 10:26:09 -06:00
SergeantPanda
ad334347a9
More cleanup of base image.
CI Pipeline / prepare (push) Waiting to run
CI Pipeline / docker (amd64, ubuntu-24.04) (push) Blocked by required conditions
CI Pipeline / docker (arm64, ubuntu-24.04-arm) (push) Blocked by required conditions
CI Pipeline / create-manifest (push) Blocked by required conditions
Build and Push Multi-Arch Docker Image / build-and-push (push) Waiting to run
Base Image Build / prepare (push) Has been cancelled
Base Image Build / docker (amd64, ubuntu-24.04) (push) Has been cancelled
Base Image Build / docker (arm64, ubuntu-24.04-arm) (push) Has been cancelled
Base Image Build / create-manifest (push) Has been cancelled
2026-01-08 14:52:58 -06:00
SergeantPanda
74a9d3d0cb
Merge pull request #823 from patchy8736/uwsgi-socket-timeout
...
Base Image Build / prepare (push) Waiting to run
Base Image Build / docker (amd64, ubuntu-24.04) (push) Blocked by required conditions
Base Image Build / docker (arm64, ubuntu-24.04-arm) (push) Blocked by required conditions
Base Image Build / create-manifest (push) Blocked by required conditions
CI Pipeline / prepare (push) Waiting to run
CI Pipeline / docker (amd64, ubuntu-24.04) (push) Blocked by required conditions
CI Pipeline / docker (arm64, ubuntu-24.04-arm) (push) Blocked by required conditions
CI Pipeline / create-manifest (push) Blocked by required conditions
Build and Push Multi-Arch Docker Image / build-and-push (push) Waiting to run
Bug Fix: Add socket-timeout to uWSGI production config to prevent VOD stream timeouts/streams vanishing from stats page
2026-01-08 13:36:18 -06:00
SergeantPanda
fa6315de33
changelog: Fix VOD streams disappearing from stats page during playback by updating uWSGI config to prevent premature cleanup
2026-01-08 13:35:38 -06:00
SergeantPanda
d6c1a2369b
Merge branch 'dev' of https://github.com/Dispatcharr/Dispatcharr into pr/patchy8736/823
2026-01-08 13:27:42 -06:00
SergeantPanda
72d9125c36
Merge pull request #811 from nick4810/enhancement/component-cleanup
...
Extracted component and util logic
2026-01-08 13:07:41 -06:00
SergeantPanda
6e74c370cb
changelog: Document refactor of Stats and VOD pages for improved readability and maintainability
2026-01-08 13:06:30 -06:00
SergeantPanda
10447f8c86
Merge branch 'dev' of https://github.com/Dispatcharr/Dispatcharr into pr/nick4810/811
2026-01-08 11:50:39 -06:00
SergeantPanda
1a2d39de91
Merge branch 'dev' of https://github.com/Dispatcharr/Dispatcharr into dev
2026-01-08 10:28:15 -06:00
SergeantPanda
f389420251
Add optional legacy NumPy support for older CPUs in Docker configurations
2026-01-08 10:27:58 -06:00
SergeantPanda
3f6eff96fc
changelog: Update changelog for USE_LEGACY_NUMPY support
2026-01-08 10:26:08 -06:00
SergeantPanda
02faa1a4a7
Merge pull request #827 from Dispatcharr/numpy-none-baseline
...
Enhance Docker setup for legacy NumPy support and streamline installa…
2026-01-08 10:04:58 -06:00
SergeantPanda
01370e8892
Bug fix: Fixed duplicate key constraint violations by treating TMDB/IMDB ID values of 0 or '0' as invalid (some providers use this to indicate "no ID"), converting them to NULL to prevent multiple items from incorrectly sharing the same ID. ( Fixes #813 )
CI Pipeline / prepare (push) Waiting to run
CI Pipeline / docker (amd64, ubuntu-24.04) (push) Blocked by required conditions
CI Pipeline / docker (arm64, ubuntu-24.04-arm) (push) Blocked by required conditions
CI Pipeline / create-manifest (push) Blocked by required conditions
Build and Push Multi-Arch Docker Image / build-and-push (push) Waiting to run
2026-01-07 16:38:09 -06:00
SergeantPanda
8cbb55c44b
Bug Fix: Fixed Channels table EPG column showing "Not Assigned" on initial load for users with large EPG datasets. Added tvgsLoaded flag to EPG store to track when EPG data has finished loading, ensuring the table waits for EPG data before displaying. EPG cells now show animated skeleton placeholders while loading instead of incorrectly showing "Not Assigned". ( Fixes #810 )
2026-01-07 16:08:53 -06:00
patchy8736
0441dd7b7e
Bug Fix: Add socket-timeout to uWSGI production config to prevent VOD stream timeouts during client buffering
...
The production uWSGI configuration (docker/uwsgi.ini) was missing the socket-timeout directive, causing it to default to 4 seconds. When clients (e.g., VLC) buffer VOD streams and temporarily stop reading from the HTTP socket, uWSGI's write operations timeout after 4 seconds, triggering premature stream cleanup and causing VOD streams to disappear from the stats page.
The fix adds socket-timeout = 600 to match the existing http-timeout = 600 value, giving uWSGI sufficient time to wait for clients to resume reading from buffered sockets. This prevents:
- uwsgi_response_write_body_do() TIMEOUT !!! errors in logs
- GeneratorExit exceptions and premature stream cleanup
- VOD streams vanishing from the stats page when clients buffer
The debug config already had socket-timeout = 3600, which is why the issue wasn't observed in debug mode. This fix aligns production behavior with the debug config while maintaining the production-appropriate 10-minute timeout duration.
2026-01-07 14:10:17 +01:00
SergeantPanda
30d093a2d3
Fixed bulk_create and bulk_update errors during VOD content refresh by pre-checking object existence with optimized bulk queries (3 queries total instead of N per batch) before creating new objects. This ensures all movie/series objects have primary keys before relation operations, preventing "prohibited to prevent data loss due to unsaved related object" errors. ( Fixes #813 )
CI Pipeline / prepare (push) Waiting to run
CI Pipeline / docker (amd64, ubuntu-24.04) (push) Blocked by required conditions
CI Pipeline / docker (arm64, ubuntu-24.04-arm) (push) Blocked by required conditions
CI Pipeline / create-manifest (push) Blocked by required conditions
Build and Push Multi-Arch Docker Image / build-and-push (push) Waiting to run
2026-01-06 16:12:50 -06:00
SergeantPanda
518c93c398
Enhance Docker setup for legacy NumPy support and streamline installation process
2026-01-06 14:07:37 -06:00
SergeantPanda
cc09c89156
Merge pull request #812 from Dispatcharr/React-Hooke-Form
...
CI Pipeline / prepare (push) Has been cancelled
Build and Push Multi-Arch Docker Image / build-and-push (push) Has been cancelled
CI Pipeline / docker (amd64, ubuntu-24.04) (push) Has been cancelled
CI Pipeline / docker (arm64, ubuntu-24.04-arm) (push) Has been cancelled
CI Pipeline / create-manifest (push) Has been cancelled
Refactor forms to use react-hook-form and Yup validation
2026-01-04 21:03:10 -06:00
Nick Sandstrom
21c0758cc9
Extracted component and util logic
2026-01-04 18:51:09 -08:00
SergeantPanda
f664910bf4
changelog: Add RHF and removetrailingzeros changes .
2026-01-04 20:49:39 -06:00
SergeantPanda
bc19bf8629
Remove "removeTrailingZeros" prop from the Channel Edit Form
2026-01-04 20:45:52 -06:00
SergeantPanda
16bbc1d875
Refactor forms to use react-hook-form and Yup for validation
...
- Replaced Formik with react-hook-form in Logo, M3UGroupFilter, M3UProfile, Stream, StreamProfile, and UserAgent components.
- Integrated Yup for schema validation in all updated forms.
- Updated form submission logic to accommodate new form handling methods.
- Adjusted state management and error handling to align with react-hook-form's API.
- Ensured compatibility with existing functionality while improving code readability and maintainability.
2026-01-04 20:40:16 -06:00
SergeantPanda
9612a67412
Change: VOD upstream read timeout reduced from 30 seconds to 10 seconds to minimize lock hold time when clients disconnect during connection phase
CI Pipeline / prepare (push) Waiting to run
CI Pipeline / docker (amd64, ubuntu-24.04) (push) Blocked by required conditions
CI Pipeline / docker (arm64, ubuntu-24.04-arm) (push) Blocked by required conditions
CI Pipeline / create-manifest (push) Blocked by required conditions
Build and Push Multi-Arch Docker Image / build-and-push (push) Waiting to run
2026-01-04 15:21:22 -06:00
SergeantPanda
4e65ffd113
Bug fix: Fixed VOD profile connection count not being decremented when stream connection fails (timeout, 404, etc.), preventing profiles from reaching capacity limits and rejecting valid stream requests
2026-01-04 15:00:08 -06:00
SergeantPanda
6031885537
Bug Fix: M3UMovieRelation.get_stream_url() and M3UEpisodeRelation.get_stream_url() to use XC client's _normalize_url() method instead of simple rstrip('/'). This properly handles malformed M3U account URLs (e.g., containing /player_api.php or query parameters) before constructing VOD stream endpoints, matching behavior of live channel URL building. ( Closes #722 )
2026-01-04 14:36:03 -06:00
SergeantPanda
8ae1a98a3b
Bug Fix: Fixed onboarding message appearing in the Channels Table when filtered results are empty. The onboarding message now only displays when there are no channels created at all, not when channels exist but are filtered out by current filters.
2026-01-04 14:05:30 -06:00
SergeantPanda
48bdcfbd65
Bug fix: Release workflow Docker tagging: Fixed issue where latest and version tags (e.g., 0.16.0) were creating separate manifests instead of pointing to the same image digest, which caused old latest tags to become orphaned/untagged after new releases. Now creates a single multi-arch manifest with both tags, maintaining proper tag relationships and download statistics visibility on GitHub.
2026-01-04 12:05:01 -06:00
GitHub Actions
e151da27b9
Release v0.16.0
CI Pipeline / prepare (push) Waiting to run
CI Pipeline / docker (amd64, ubuntu-24.04) (push) Blocked by required conditions
CI Pipeline / docker (arm64, ubuntu-24.04-arm) (push) Blocked by required conditions
CI Pipeline / create-manifest (push) Blocked by required conditions
Build and Push Multi-Arch Docker Image / build-and-push (push) Has been cancelled
2026-01-04 01:15:46 +00:00
SergeantPanda
fdca1fd165
Merge pull request #803 from Dispatcharr/dev
...
Build and Push Multi-Arch Docker Image / build-and-push (push) Waiting to run
Version 0.16.0
2026-01-03 19:15:10 -06:00
SergeantPanda
9cc90354ee
changelog: Update changelog for region code addition.
CI Pipeline / prepare (push) Has been cancelled
Build and Push Multi-Arch Docker Image / build-and-push (push) Has been cancelled
CI Pipeline / docker (amd64, ubuntu-24.04) (push) Has been cancelled
CI Pipeline / docker (arm64, ubuntu-24.04-arm) (push) Has been cancelled
CI Pipeline / create-manifest (push) Has been cancelled
2026-01-02 15:45:05 -06:00
SergeantPanda
62b6cfa2fb
Merge pull request #423 from bigpandaaaa/uk-region
...
Add 'UK' region
2026-01-02 15:39:27 -06:00
SergeantPanda
3f46f28a70
Bug Fix: Auto Channel Sync Force EPG Source feature not properly forcing "No EPG" assignment - When selecting "Force EPG Source" > "No EPG (Disabled)", channels were still being auto-matched to EPG data instead of forcing dummy/no EPG. Now correctly sets force_dummy_epg flag to prevent unwanted EPG assignment. ( Fixes #788 )
2026-01-02 15:22:25 -06:00
SergeantPanda
058de26bdf
Merge pull request #787 from nick4810/enhancement/component-cleanup
...
Enhancement/component cleanup
2026-01-02 13:56:08 -06:00
SergeantPanda
f51463162c
Merge pull request #794 from sethwv:dev
...
Fix root-owned __pycache__ by running Django commands as non-root user
2026-01-02 12:06:14 -06:00
SergeantPanda
0cb189acba
changelog: Document Docker container file permissions update for Django management commands
2026-01-02 12:03:42 -06:00
SergeantPanda
3fe5ff9130
Merge branch 'dev' of https://github.com/Dispatcharr/Dispatcharr into pr/sethwv/794
2026-01-02 11:54:14 -06:00
SergeantPanda
131ebf9f55
changelog: Updated changelog for new refactor.
2026-01-02 11:29:01 -06:00
SergeantPanda
2ed784e8c4
Merge branch 'dev' of https://github.com/Dispatcharr/Dispatcharr into pr/nick4810/787
2026-01-02 11:27:22 -06:00
Nick Sandstrom
2e0aa90cd6
Merge remote-tracking branch 'upstream/dev' into enhancement/component-cleanup
2026-01-02 08:33:06 -08:00
SergeantPanda
a363d9f0e6
Merge pull request #796 from patchy8736:dev
...
CI Pipeline / prepare (push) Waiting to run
CI Pipeline / docker (amd64, ubuntu-24.04) (push) Blocked by required conditions
CI Pipeline / docker (arm64, ubuntu-24.04-arm) (push) Blocked by required conditions
CI Pipeline / create-manifest (push) Blocked by required conditions
Build and Push Multi-Arch Docker Image / build-and-push (push) Waiting to run
Fix episode processing issues in VOD tasks (#770 )
2026-01-02 10:13:48 -06:00
SergeantPanda
6a985d7a7d
changelog: Update changelog for PR
2026-01-02 10:13:01 -06:00
SergeantPanda
1a67f3c8ec
Merge branch 'dev' of https://github.com/Dispatcharr/Dispatcharr into pr/patchy8736/796
2026-01-02 09:53:54 -06:00
SergeantPanda
6bd8a0c12d
Enhance error logging for invalid season and episode numbers in batch_process_episodes
2026-01-02 09:53:45 -06:00