SergeantPanda
843940f552
refactor(http headers): centralize User-Agent construction and streamline API requests
...
- Introduced `dispatcharr_user_agent`, `dispatcharr_dvr_user_agent`, and `dispatcharr_http_headers` functions in `core.utils` to standardize User-Agent strings and HTTP headers for outbound requests.
- Updated various components, including `LogoViewSet`, `EPGSourceViewSet`, and VOD proxy views, to utilize the new header functions, ensuring consistent User-Agent usage across the application.
- Enhanced the handling of Schedules Direct API requests by including proper User-Agent headers, addressing previous API compliance issues.
2026-06-11 09:45:35 -05:00
Five Boroughs
f8919b0d98
fix(epg): handle attr-spacing and named entities in index lookup, unblock boot rebuild
2026-05-31 21:57:26 +02:00
Five Boroughs
dd6c4df62b
Store programme index in DB and add interleaved XMLTV file support
2026-05-31 17:13:11 +02:00
Five Boroughs
2bf4e8cd0f
WIP: EPG channel preview with byte-offset index lookup
2026-05-31 17:13:11 +02:00
SergeantPanda
dc649ffd88
Enhancement: Initial fmp4 support and major ts_proxy refactor
2026-05-08 17:46:47 -05:00
SergeantPanda
dcefc6541c
chore(cleanup): - Removed dead VODConnectionManager class (apps/proxy/vod_proxy/connection_manager.py) and its associated helpers, which had been superseded by MultiWorkerVODConnectionManager. All active code already used the multi-worker implementation. Removed the unused VODConnectionManager import from vod_proxy/views.py, the unscheduled cleanup_vod_connections task from apps/proxy/tasks.py, and the unscheduled cleanup_vod_persistent_connections task from core/tasks.py.
...
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
Frontend Tests / test (push) Waiting to run
- Removed dead VOD URL routes: `VODPlaylistView` (playlist generation), `VODPositionView` (position tracking), and the class-based `VODStatsView` (replaced by the existing function-based `vod_stats` view).
- Removed dead `updateVODPosition()` API method from `frontend/src/api.js`, which called the now-removed position tracking endpoint.
2026-04-09 19:59:50 -05:00
dekzter
f69a462253
merged in dev
2026-03-13 08:22:44 -04:00
SergeantPanda
76271fc9fd
Bug Fix: Version update notification persisting after upgrading to the notified version (e.g. "v0.20.2 available" shown while already running v0.20.2). Root cause: check_for_version_update.delay() was called from AppConfig.ready(), which fires inside Celery prefork pool subprocesses before the broker connection is established, causing the dispatch to fail silently with no log output. Fixed by moving the startup dispatch to the worker_ready signal in celery.py (consistent with the existing recover_recordings_on_startup pattern), and deleting the stale version-{current_version} notification at the top of the production check path so it is cleared even when GitHub is unreachable. A WebSocket update is sent immediately on deletion so the frontend badge clears without waiting for the API response.
2026-03-08 13:38:18 -05:00
dekzter
6f4665e6eb
merged in dev
2026-02-26 08:20:20 -05:00
SergeantPanda
b01eb9585c
feat: add system notifications and update checks
...
Real-time notifications for system events and alerts
Per-user notification management and dismissal
Update check on startup and every 24 hours to notify users of available versions
Notification center UI component
Automatic cleanup of expired notifications
2026-02-03 09:24:02 -06:00
SergeantPanda
9ffd595c96
Enhancement: Added stream_id (provider stream identifier) and stream_chno (provider channel number) fields to Stream model. For XC accounts, the stream hash now uses the stable stream_id instead of the URL when hashing, ensuring XC streams maintain their identity and channel associations even when account credentials or server URLs change. Supports both XC num and M3U tvg-chno/channel-number attributes.
2026-01-31 17:47:46 -06:00
SergeantPanda
5ed42432fc
Bug Fix: Stream rehash/merge logic now guarantees unique stream_hash and always preserves the stream with the best channel ordering and relationships. This prevents duplicate key errors and ensures the correct stream is retained when merging. ( Fixes #892 )
2026-01-31 14:15:39 -06:00
SergeantPanda
73956924f5
Enhancement: Stream group as available hash option: Users can now select 'Group' as a hash key option in Settings → Stream Settings → M3U Hash Key, allowing streams to be differentiated by their group membership in addition to name, URL, TVG-ID, and M3U ID
2025-12-18 15:26:08 -06:00
dekzter
50e9075bb5
initial run of a binary and encoded redis client - no more encoding / decoding data into redis, huge PITA (still some outstanding spots I need to patch)
2025-10-25 08:15:39 -04:00
SergeantPanda
a3e4f23891
Enhancement: Add m3u_id parameter to generate_hash_key and update related calls
2025-10-02 09:14:22 -05:00
SergeantPanda
5806464406
Fix unique constraint violations when rehashing streams
2025-09-03 16:23:58 -05:00
SergeantPanda
19017317f6
Fix invalid import.
2025-08-12 11:48:59 -05:00
SergeantPanda
b7fb9336be
Reuse connections when seeking.
2025-08-12 09:56:30 -05:00
SergeantPanda
e876af1aa2
Scan sub folders for logos.
2025-07-18 15:04:34 -05:00
SergeantPanda
479826709b
Fetch logos when logos are added by filesystem scan.
2025-07-18 15:01:26 -05:00
SergeantPanda
1ece74a0b0
Scan logos folder for new logos.
2025-07-18 14:07:58 -05:00
SergeantPanda
db10e90801
Enhance rehash_streams task to send WebSocket notifications for blocked rehash attempts..
2025-07-11 15:51:19 -05:00
SergeantPanda
073fe72a49
Acquire locks when rehash starts.
2025-07-11 15:13:29 -05:00
SergeantPanda
8ec489d26f
Send websocket updates during rehash.
2025-07-11 14:47:12 -05:00
SergeantPanda
1c7fa21b86
Add rehash streams endpoint and UI integration for triggering stream rehashing
2025-07-11 14:11:41 -05:00
SergeantPanda
8f4e05b0b8
Add extracted_file_path to EPGSource model and update extraction logic
2025-05-26 15:10:54 -05:00
SergeantPanda
182a009d69
Track extracted files for mapped epg files.
2025-05-25 18:14:27 -05:00
SergeantPanda
c1eb3a6ecf
Add Zip file support for EPG.
2025-05-25 14:05:59 -05:00
SergeantPanda
422bd0577a
Removed cleanup from celery task.
2025-05-20 20:13:21 -05:00
SergeantPanda
7c809931d7
Rewored celery memory cleanup logic.
2025-05-18 20:57:37 -05:00
SergeantPanda
ed665584e9
The struggle is real
2025-05-18 17:05:03 -05:00
SergeantPanda
1174e2e0c7
EPG processing enhancements. Celery memory management.
2025-05-17 16:42:37 -05:00
SergeantPanda
d5b64a56d6
Smarter logging for file change imports.
2025-05-10 13:56:55 -05:00
SergeantPanda
d3615e1a66
Huge overhaul of logging. More standardized and we are now capturing logs from celery task and sening to console.
...
Also adds a new environmental variable: DISPATCHARR_LOG_LEVEL, log levels available: TRACE, DEBUG, INFO, WARNING, ERROR, CRITICAL
2025-05-10 09:29:06 -05:00
dekzter
1a0d065eca
ui settings with configurable table size, added setting to set / rehash stream hashes
2025-05-03 08:01:22 -04:00
SergeantPanda
5be46c6e36
Greatly reduced number of logs for m3u/epg file importing/monitoring.
2025-04-24 17:15:00 -05:00
SergeantPanda
9b76358320
Fixes auto import ignoring Old files that hadn't been imported yet.
2025-04-17 00:40:00 -05:00
dekzter
b2d5e19b31
fixed is_active flag
2025-04-11 17:08:55 -04:00
dekzter
70db4fc36e
setting for auto-importing mapped files
2025-04-11 15:41:44 -04:00
dekzter
e99702a1ef
skip ingestion if m3u is disabled
2025-04-11 15:24:57 -04:00
dekzter
20c8ff2179
file extension check for m3u and epg watcher
2025-04-07 12:20:46 -04:00
dekzter
354cd84c88
filesystem watch and process of m3u and epg
2025-04-06 15:58:55 -04:00