Commit graph

3055 commits

Author SHA1 Message Date
SergeantPanda
d86f56a5aa fix: Update Docker Hub image tags to conditionally format based on event type
Some checks failed
Build and Push Multi-Arch Docker Image / build-and-push (push) Has been cancelled
2026-03-23 20:11:40 -05:00
SergeantPanda
cf5f81af0f Bug Fix: Fix CI Pipline attempting login to Docker Hub for PR's. 2026-03-23 18:02:39 -05:00
SergeantPanda
3e12be3ac0
Update Open Collective username in FUNDING.yml
Some checks failed
Build and Push Multi-Arch Docker Image / build-and-push (push) Has been cancelled
2026-03-21 13:15:46 -05:00
SergeantPanda
a8b217e2fb docs: Slight reorganization of the readme. Fix link on Open Collective. 2026-03-21 13:06:10 -05:00
dekzter
b5c13a00ce added support section
Some checks are pending
Build and Push Multi-Arch Docker Image / build-and-push (push) Waiting to run
2026-03-20 20:32:08 -04:00
SergeantPanda
161150f0f8 changelog: Update changelog for 0.21.1
Some checks failed
Base Image Build / prepare (push) Has been cancelled
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
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
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-03-17 21:41:44 -05:00
GitHub Actions
ac1de7bb5d Release v0.21.1 2026-03-18 01:06:57 +00:00
SergeantPanda
9d27b5b4e6
Merge pull request #1114 from Dispatcharr/dev
Dispatcharr - v0.21.1
2026-03-17 20:05:35 -05:00
SergeantPanda
5a159c505e
Merge pull request #1115 from CodeBormen/fix/graceful-chown-external-mounts
Fix/graceful chown + external mounts
2026-03-17 19:42:50 -05:00
None
7e22172070 fix: remove PUID auto-detect
The auto-detect read PUID/PGID from /data/db ownership (UID 102 in pre-PUID images), causing all upgrading users to run as UID 102 instead of the expected UID 1000. This broke host-side access (SSH, WinSCP), made existing DATA_DIR files unwritable, and failed comskip on recordings created before the change.
2026-03-17 19:32:07 -05:00
SergeantPanda
8d20c76d54 changelog: Update changelog for backups fix. 2026-03-17 18:52:31 -05:00
SergeantPanda
1ded6dde4c Merge branch 'dev' of https://github.com/Dispatcharr/Dispatcharr into dev 2026-03-17 18:41:34 -05:00
SergeantPanda
cbaedec905 Update GitHub Actions to use latest versions of checkout, Docker Buildx, and login actions 2026-03-17 18:41:27 -05:00
None
9e720f4fc7 fix: handle chown failures gracefully on external mounts
DATA_DIRS chown failures (NFS, SMB/CIFS, FUSE) crashed the container under set -e. The old image never chowned these directories, so users with external mounts had a working setup that broke on upgrade with zero config changes.

- Collect mkdir and chown failures per-directory instead of crashing
- Emit a single consolidated warning listing all affected directories with current ownership and remediation steps
- Container continues to start; Django reports at runtime if it cannot write to a specific directory
- Local volumes are unaffected: chown still runs and succeeds silently
2026-03-17 18:27:19 -05:00
SergeantPanda
d776e3c6dc
Merge pull request #1113 from CodeBormen/fix/missing-data-backups-ownership
fix: add /data/backups to init script DATA_DIRS
2026-03-17 17:56:49 -05:00
None
19d3f4258f Add /data/backups to DATA_DIRS
Corrects issue with user ownership migration on previous installations with /data/backups in-use
2026-03-17 17:46:13 -05:00
SergeantPanda
08b2e92920 Update GitHub Actions to use latest versions of checkout, Docker Buildx, and login actions
Some checks are pending
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
Frontend Tests / test (push) Waiting to run
2026-03-17 16:44:20 -05:00
GitHub Actions
50d90ab0ee Release v0.21.0
Some checks are pending
Build and Push Multi-Arch Docker Image / build-and-push (push) Waiting to run
Frontend Tests / test (push) Waiting to run
2026-03-17 21:25:50 +00:00
SergeantPanda
cfdfc32736
Merge pull request #1112 from Dispatcharr/dev
Dispatcharr - v0.21.0
2026-03-17 16:25:14 -05:00
SergeantPanda
c0340c9250 changelog: Added missed issue for recent pr. 2026-03-17 14:39:18 -05:00
SergeantPanda
9654d3e293 changelog: Update changelog for highest channel number pr. 2026-03-17 14:32:59 -05:00
SergeantPanda
406267965a
Merge pull request #1047 from JCBird1012/auto-assign-next-available
fix: single stream channel modal; remove unused ChannelNumberingModal; add "Next Highest Channel" numbering mode
2026-03-17 13:05:14 -05:00
SergeantPanda
0fbeb16970 changelog: Added thanks for recent PR, removed security change that never hit main branch, moved security to the top to match previous versions of changelog. 2026-03-17 11:08:25 -05:00
SergeantPanda
ab7eb5b5d8
Merge pull request #1111 from CodeBormen/fix/1059-series-rules-corrupted-data
Fix/1059 series rules corrupted data
2026-03-17 10:54:40 -05:00
SergeantPanda
6b373c41cf refactor: remove unused getNextHighestChannelNumber method and related variable 2026-03-17 09:57:53 -05:00
SergeantPanda
149ef17424 Update label for auto-assigning channel numbers after highest 2026-03-17 09:51:49 -05:00
SergeantPanda
b4281c83bb Switch to backend logic instead of frontend. Use '-1' as 'highest' so not break the api. 2026-03-17 09:27:18 -05:00
Matt Grutza
b75fcf26de
Merge branch 'dev' into fix/1059-series-rules-corrupted-data 2026-03-16 18:51:25 -05:00
None
b7eb299aac Update changelog 2026-03-16 18:50:24 -05:00
SergeantPanda
07863a181e refactor: streamline channel numbering logic; consolidate loading states and variable names 2026-03-16 18:05:33 -05:00
SergeantPanda
d9dea82f40 docs: Add pronounciation to readme.
Some checks are pending
Build and Push Multi-Arch Docker Image / build-and-push (push) Waiting to run
2026-03-16 17:00:34 -05:00
None
8624436367 fix(frontend): validate series_rules as array in settings parse/save
- Add Array.isArray() guard in parseSettings for series_rules, matching the existing EPG ignore list pattern
- Include series_rules in arrayFields list in getChangedSettings to prevent stringification during settings round-trip
- Add 5 tests covering valid, corrupted, and missing series_rules data
2026-03-16 16:52:22 -05:00
SergeantPanda
e82ec87fc3 Merge branch 'dev' of https://github.com/Dispatcharr/Dispatcharr into dev
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-03-15 21:08:38 -05:00
SergeantPanda
6638ba4b77 changelog: Update changelog for proxy pr. 2026-03-15 21:08:31 -05:00
SergeantPanda
946f636837
Merge pull request #1105 from cmcpherson274/patch-1
Fix: audio loss during stream failover and ghost client accumulation
2026-03-15 21:04:16 -05:00
SergeantPanda
d4e52f70db Merge branch 'dev' into pr/cmcpherson274/1105 2026-03-15 21:02:52 -05:00
SergeantPanda
92f98a24c7 fix: increase ghost client multiplier to improve client detection timing 2026-03-15 20:45:55 -05:00
SergeantPanda
7e07c9552d changelog: Update changelog for ghost client pr. 2026-03-15 20:13:42 -05:00
SergeantPanda
cd0eba9654
Merge pull request #1098 from CodeBormen/fix/ghost-streams-stuck-initializing
fix: stuck channel states and ghost clients in TS proxy
2026-03-15 20:07:44 -05:00
None
55f0a49d68 fix: improve test coverage and add missing metadata constants
- Rewrite ghost client tests to call real ChannelStatus and ClientManager code paths instead of reimplementing detection logic in test helpers
- Rewrite initializing state tests to invoke StreamManager.run() so the real finally block executes under test
- Replace hardcoded state list tests with assertions against ChannelState.PRE_ACTIVE frozenset
- Add missing SOURCE_BITRATE and FFMPEG_BITRATE constants to ChannelMetadataField (referenced by channel_status.py but never defined, causing AttributeError on detailed stats)
2026-03-15 19:39:15 -05:00
SergeantPanda
2d2b3e45f4 fix: harden ghost client cleanup and PRE_ACTIVE state guard
- Change ChannelState.PRE_ACTIVE from list to frozenset (immutable,
  O(1) membership tests, no risk of silent mutation)

- Add optional client_ids parameter to ClientManager.remove_ghost_clients()
  so callers that have already fetched SMEMBERS can pass it through,
  eliminating a redundant Redis round-trip

- Pass pre-fetched client_ids from get_basic_channel_info() into
  remove_ghost_clients() to remove the duplicate SMEMBERS call
2026-03-15 19:08:38 -05:00
Jonathan Caicedo
d19c53b145 fix: single stream channel modal; remove unused ChannelNumberingModal, add 'after highest' channel numbering mode 2026-03-15 19:40:14 -04:00
SergeantPanda
159c2d0de7 Merge branch 'dev' of https://github.com/Dispatcharr/Dispatcharr into dev 2026-03-15 17:46:44 -05:00
SergeantPanda
d84580710b changelog: Update changelog for uWSGI config PR. 2026-03-15 17:46:37 -05:00
SergeantPanda
cc5a0eb7f7
Merge pull request #929 from jcasimir/fix/uwsgi-gevent-segfault-clean
Fix uWSGI segfaults by disabling threads when using gevent
2026-03-15 17:45:24 -05:00
SergeantPanda
41ce381130 changelog: Update changelog for tests PR. 2026-03-15 17:28:00 -05:00
SergeantPanda
28b9de94dc Merge branch 'dev' of https://github.com/Dispatcharr/Dispatcharr into dev 2026-03-15 17:00:00 -05:00
SergeantPanda
c44a3ad5f9 Bug Fix: Stream.last_seen and ChannelGroupM3UAccount.last_seen model defaults now use django.utils.timezone.now instead of datetime.datetime.now, eliminating spurious RuntimeWarning: DateTimeField received a naive datetime warnings emitted during test database creation and on new record creation when USE_TZ=True. 2026-03-15 16:59:51 -05:00
SergeantPanda
c4a8e01fb4
Merge pull request #1108 from nick4810/tests/frontend-unit-tests
Tests/frontend unit tests
2026-03-15 16:54:02 -05:00
SergeantPanda
e0ed2296b2
Merge pull request #1096 from Dispatcharr/xc-account-expiration-management
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
Enhancement: Account expiration tracking and notifications for M3U profiles
2026-03-15 16:42:33 -05:00