Commit graph

2698 commits

Author SHA1 Message Date
SergeantPanda
f92cd22d4e changelog: Update changelog for django version change. 2026-02-20 16:14:48 -06:00
SergeantPanda
d68367e709 Roll django back to version 5 (still has remediations). django-celery-beat does not support Django 6 quite yet. Should soon. 2026-02-20 16:14:11 -06:00
SergeantPanda
bc12b5e6a7 changelog: Update changelog for python package and security updates. 2026-02-20 15:14:33 -06:00
SergeantPanda
ff7c78bb7e - Dependency updates:
- `Django` 5.2.9 → 6.0.2 (major version upgrade; includes security fixes)
  - `celery` 5.6.0 → 5.6.2
  - `psutil` 7.1.3 → 7.2.2
  - `torch` 2.9.1+cpu → 2.10.0+cpu
  - `sentence-transformers` 5.2.0 → 5.2.3
2026-02-20 15:12:08 -06:00
SergeantPanda
b0cc5dca27 Enhancement: Channel table group filter sort order: The group dropdown in the channel table is now sorted alphabetically. 2026-02-20 13:38:28 -06:00
SergeantPanda
74bf98b405 Bug Fix Filter channel groups in the channel table to include only those with channels in groupOptions
Some checks are pending
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
2026-02-20 12:26:20 -06:00
SergeantPanda
41b618a056
Merge pull request #994 from Dispatcharr/optimize-channels-store
Optimize channels store
2026-02-20 09:46:05 -06:00
SergeantPanda
a7b9c0ffe1
Merge branch 'dev' into optimize-channels-store 2026-02-20 09:42:36 -06:00
SergeantPanda
5dc531e5e4 Refactor: Rename 'Settings' to 'System' and vice versa in Sidebar component for clarity 2026-02-20 09:39:12 -06:00
SergeantPanda
438aa526bb Bug Fix: get_live_streams and get_vod_info now return the added field as a string (e.g., "1708300800") instead of an integer, fixing compatibility with XC clients that have strict JSON serializers (such as Jellyfin's Xtream Library plugin). (Closes #978)
Some checks are pending
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
2026-02-19 17:48:32 -06:00
SergeantPanda
1f932b30b9 Enhancement/BugFix:
- The User-Agent field was not correctly loaded from the existing profile when opening the edit modal. (Fixes #650)
- Replaced the plain command text field with a dropdown listing built-in tools (FFmpeg, Streamlink, VLC, yt-dlp) plus a Custom option that reveals a free-text input. Each built-in now shows its default parameter string as a live example in the Parameters field description, updating as the command selection changes. Added descriptive help text to all fields to improve clarity.
2026-02-19 15:51:08 -06:00
SergeantPanda
e382af5ad0 changelog: Update changelog for pr 983
Some checks are pending
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-02-19 11:36:54 -06:00
SergeantPanda
1503127f61
Merge pull request #983 from CodeBormen/fix/962-VOD-proxy-connection-counter-leak-on-client-disconnect
Fix: VOD proxy connection counter leak on client disconnect
2026-02-19 11:32:20 -06:00
SergeantPanda
184a8c8c5e changelog: Add dvr scheduling change for channel number 2026-02-19 09:48:39 -06:00
SergeantPanda
f2f6ddd82d changelog: Update changelog for changes in this branch. 2026-02-18 16:30:12 -06:00
SergeantPanda
b1abab6654 Bug Fix: Fix bug where attempting to schedule a one-time recording of a future program resulted in the recording starting immediately. 2026-02-18 16:25:33 -06:00
SergeantPanda
8a8df11b72 Fix issue with channelById type error (object vs map) this was breaking scheduling manual DVR recordings. 2026-02-18 15:16:33 -06:00
SergeantPanda
34a24b2e44 Added isLoading: false to fetchChannelIds and fix auth and channels tests. 2026-02-18 14:45:34 -06:00
SergeantPanda
c68d73fbdb Update DVR to not require group selection, use new channel summary endpoint. 2026-02-18 14:38:47 -06:00
SergeantPanda
8427ae0a2d tests: Update frontend tests for changes to channel store. 2026-02-18 14:12:03 -06:00
SergeantPanda
edc3fc951e Optimize now-line updates and scrolling performance in TVChannelGuide 2026-02-18 13:10:24 -06:00
SergeantPanda
3df259e06e Enhance program visibility in GuideRow with horizontal culling and buffer 2026-02-18 12:59:56 -06:00
SergeantPanda
15b4ec7be9 Slight performance increase for tv guide. 2026-02-18 12:11:21 -06:00
SergeantPanda
7db6aded22 add summary endpoint and lightweight channel summary retrieval for TV Guide 2026-02-18 11:51:41 -06:00
None
58ccf2d6e1 Fix: VOD proxy connection counter leaks on client disconnect and seeking
Fix multiple VOD proxy connection counter leak paths that caused
profile_connections to remain permanently elevated after client
disconnects, leaving profiles locked at capacity.

Changes:
- Fix get_stream() race condition: save state under lock with fresh active_streams to prevent overwriting concurrent decrements during scrubbing/seeking (root cause of counter stuck after timeshift)
- Add early active_streams increment in session reuse path to prevent cleanup race between GeneratorExit and new request
- Add rollback on get_stream() returning None (range not satisfiable)
- Add profile_id fallback to closure variable when Redis state is deleted before generator cleanup runs
- Change increment/decrement return types and add warning logs for lock acquisition and state failures
- Clean up debug traceback logging from increment/decrement methods
2026-02-17 20:24:00 -06:00
dekzter
1eeaefef85 use getChannels endpoint for fetching all instead of normal querying 2026-02-17 17:49:02 -05:00
dekzter
7c0ce190d2 'disabled' all view limitation for now (just set it really high) 2026-02-17 17:29:26 -05:00
dekzter
b24d51c2aa missed lots of places we used the old channels map, fixed them up 2026-02-17 17:28:59 -05:00
dekzter
f988506a79 missed channel memo 2026-02-17 16:23:54 -05:00
SergeantPanda
0aa5986c12 Enhancement: Reorganized the form into collapsible accordion sections (Pattern Configuration, Output Templates, Upcoming/Ended Templates, Fallback Templates, EPG Settings) for better organization. Field descriptions now appear in info icon popovers instead of taking up vertical space, making the form more compact and easier to navigate while keeping help text accessible.
Some checks failed
CI Pipeline / prepare (push) Has been cancelled
Build and Push Multi-Arch Docker Image / build-and-push (push) Has been cancelled
Frontend Tests / test (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-02-17 13:15:19 -06:00
SergeantPanda
47853bdb5b Enhancement: Added optional subtitle template field to custom dummy EPG configuration. Users can now define subtitle patterns using extracted regex groups and time/date placeholders (e.g., {starttime} - {endtime}). (Closes #942) 2026-02-17 12:00:24 -06:00
SergeantPanda
967704d7a0 changelog: Update changelog for modular celery container numpy detection pr.
Some checks are pending
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-02-17 10:59:19 -06:00
SergeantPanda
daba81037d
Merge pull request #974 from patrickjmcd/main
fix: add support for legacy numpy in celery entrypoint
2026-02-17 10:44:15 -06:00
Patrick McDonagh
b1376386d5
docs: add legacy NumPy support instructions in docker-compose 2026-02-17 09:50:50 -06:00
SergeantPanda
74cc9bd376 changelog: Update changelog for pr 946
Some checks are pending
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
2026-02-16 16:10:51 -06:00
SergeantPanda
ac1b43445e
Merge pull request #946 from CodeBormen/fix/945-XC-profile-refresh-extract-wrong-credentials
Fix XC URL sub-path handling in profile refresh and EPG creation
2026-02-16 16:04:53 -06:00
dekzter
cd6b3da8eb Merge remote-tracking branch 'origin/dev' into optimize-channels-store 2026-02-16 16:44:20 -05:00
SergeantPanda
50918b45fb changelog: Update changelog for webhooks. 2026-02-16 15:34:09 -06:00
SergeantPanda
b1cb70c5d2
Merge pull request #975 from Dispatcharr/connect
Feature: Connect
2026-02-16 15:27:56 -06:00
SergeantPanda
968551c1a6 Enhancement: M3U generation for Xtream Codes API endpoints now use proper XC-style stream URLs (/live/username/password/channel_id) instead of UUID-based stream endpoints, ensuring full compatibility with XC clients. (Fixes #839) 2026-02-16 13:45:57 -06:00
SergeantPanda
6ebcf18e48
Merge pull request #991 from Dispatcharr/cron-scheduling
feat(scheduling): add cron builder and refactor scheduling components (Closes #165)
2026-02-16 10:55:43 -06:00
SergeantPanda
717cce92ec
Merge branch 'dev' into cron-scheduling 2026-02-16 10:55:33 -06:00
dekzter
55a5180ee1 hardening of script handling with configurable variables - making script execution more secure 2026-02-15 07:37:00 -05:00
dekzter
055d2604ca better form validation 2026-02-15 07:36:29 -05:00
dekzter
45d0f180fe added endpoint for testing connections with a dummy payload 2026-02-15 07:36:08 -05:00
None
4842bb87fa Fix: VOD proxy connection counter leak on client disconnect
Three fixes:
- TOCTOU: Replace GET-check-INCR with atomic INCR-first-then-check pattern in both connection managers to prevent concurrent requests exceeding max_streams
- Immediate DECR: Decrement profile counter directly in stream generator exit paths (normal completion, client disconnect, error) instead of deferring to daemon thread cleanup which may never execute
- Rollback: Decrement profile counter on create_connection() failure so the reserved slot is released

Fixes #962
2026-02-13 19:37:06 -06:00
SergeantPanda
96d13253c8
Merge pull request #981 from Dispatcharr:auto-sync-channel-numbers
Some checks failed
CI Pipeline / prepare (push) Has been cancelled
Build and Push Multi-Arch Docker Image / build-and-push (push) Has been cancelled
Frontend Tests / test (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
Enhancement: Allow multiple channel numbering modes for auto channel sync
2026-02-13 15:40:35 -06:00
SergeantPanda
5ed8b7a954 changelog: Update changelog for auto channel sync changes. 2026-02-13 15:39:27 -06:00
SergeantPanda
fb2f156fd8 Bug Fix: Fixes a bug with auto channel sync where channel numbers could be duplicated if multiple groups overlapped. 2026-02-13 15:07:24 -06:00
SergeantPanda
2c9f6d7360 Enhancement: For auto channel sync, allow using provider number, fixed start number or next available. (Closes #956, #433) 2026-02-13 14:34:22 -06:00