SergeantPanda
ff60005442
chore: Updated python packages.
...
- `Django` 6.0.3 → 6.0.4
- `djangorestframework` 3.16.1 → 3.17.1
- `requests` 2.33.0 → 2.33.1
- `gevent` 25.9.1 → 26.4.0
- `rapidfuzz` 3.14.3 → 3.14.5
- `sentence-transformers` 5.3.0 → 5.4.0
- `lxml` 6.0.2 → 6.0.3
2026-04-10 12:16:49 -05:00
GitHub Actions
93a4846924
Release v0.22.1
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-04-05 19:09:39 +00:00
SergeantPanda
d10599429f
Merge pull request #1184 from Dispatcharr/dev
...
Dispatcharr - v0.22.1
2026-04-05 12:07:28 -07:00
SergeantPanda
29e22d1c0e
changelog: Update for epg fix pr
2026-04-05 13:52:05 -05:00
SergeantPanda
96c3a509a2
Merge pull request #1182 from dwot/main
...
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 for #1173 ErsatzTV EPG not populating / fix for UTF-8 BOM processing
2026-04-04 21:19:29 -07:00
dwot
b01ec466f1
Fix for #1173 ErsatzTV EPG not populating / fix for UTF-8 BOM processing
2026-04-04 22:15:28 -04:00
GitHub Actions
872725023b
Release v0.22.0
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-04-01 02:39:44 +00:00
SergeantPanda
56ff3a78b8
Merge pull request #1162 from Dispatcharr/dev
...
Dispatcharr - v0.22.0
2026-03-31 21:38:34 -05:00
SergeantPanda
a881373e4f
Merge pull request #1161 from CodeBormen/fix/1160-modular-mtls-postgres-connection
...
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: pass TLS parameters to all external connection points in modular mode
2026-03-31 19:57:39 -05:00
SergeantPanda
1d41433ddc
Fix: Ensure absolute URL is used for stream in FloatingVideo component to resolve relative URLs in WorkerGlobalScope.
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) Has been cancelled
2026-03-31 10:35:17 -05:00
SergeantPanda
6f8ca243af
fix: ensure PGSSL* environment variables are explicitly set by stripping inherited values
...
fix: use psycopg2.sql for safe database drop and create commands
fix: Also check POSTGRES_SSL is true before skipping default POSTGRES_PASSWORD
fix: update usage comment to reflect correct script path
fix: improve cleanup logic to conditionally remove certificate directory
2026-03-31 09:51:09 -05:00
None
763f42cfff
fix: pass TLS parameters to all external connection points in modular mode
...
- Add setup_pg_ssl_env() to export libpq PGSSL* env vars; all child psql/pg_dump/pg_isready commands inherit TLS automatically
- Move TLS client key permission fix before external PG connections (was running after, defeating the fix)
- Enhance key fix to trigger on ownership mismatch (root-owned 0600 key unreadable by app user)
- Extract key fix to shared script (docker/init/00-fix-pg-ssl-key.sh) sourced by both entrypoints
- Default POSTGRES_PASSWORD to empty in modular mode (cert-only auth sends no spurious password)
- Propagate TLS OPTIONS to backup pg_dump/pg_restore subprocess calls via _get_pg_env()
- Pass SSL kwargs to dropdb management command's psycopg2.connect()
- Add REDIS_SSL_PARAMS to VOD proxy Redis connections missed in original TLS PR
- Add 8-scenario TLS integration test suite (PG mTLS, Redis TLS, verify-full, key fix, Celery, regression)
- Add 6 unit tests for _get_pg_env() and dropdb TLS parameter passing
2026-03-30 20:19:27 -05:00
SergeantPanda
344ff78c79
Merge pull request #1158 from Dispatcharr/html-entity-with-lxml
...
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
Html-entity-with-lxml
2026-03-29 20:56:50 -05:00
SergeantPanda
70e229a433
Refactor HTML entity handling in XMLTV files: replace regex-based entity resolution with lxml's html.entities for improved accuracy and performance. Inject DOCTYPE declaration to ensure proper parsing of HTML entities, avoiding silent drops during recovery mode.
2026-03-29 20:43:27 -05:00
SergeantPanda
d4ecf45bc2
Bug Fix/Enhancement:
...
- EPG refresh tasks (`refresh_epg_data`) were being killed mid-transaction on large EPG sources. The `soft_time_limit=1700s` introduced in v0.21.0 raised `SoftTimeLimitExceeded`, a subclass of `Exception`, which was swallowed by the existing `except Exception` handler in `parse_programs_for_source`, leaving the database in a partial state with no logged error. The underlying cause is that the HTML entity preprocessing step added in v0.21.0 adds 2–10+ minutes on multi-gigabyte EPG files, pushing total task duration past the 1700s limit for large sources. `soft_time_limit` has been removed from `refresh_epg_data` and `time_limit` raised to 14400s (4 hours) as a true last-resort ceiling; the existing `TaskLockRenewer` daemon thread continues to renew the Redis lock every 120s for legitimately long-running tasks.
- HTML entity preprocessing (`_resolve_html_entities`) now performs a fast binary pre-scan before any file read or write. The pre-scan reads the file in 4 MB chunks without text decoding and exits immediately on the first non-XML named entity found. For EPG sources that contain no HTML entities — the common case — the full line-by-line read+rewrite pass (which takes 2–10+ minutes on a 2.5 GB file) is skipped entirely.
2026-03-29 19:51:57 -05:00
SergeantPanda
086cc74959
Bug Fix: M3U profile URL rewriting now uses the regex module instead of re across all URL transform code paths (url_utils.transform_url, core/views.py, vod_proxy/_transform_url, tasks.get_transformed_credentials, and the WebSocket live-preview handler in consumers.py). The regex module natively accepts JavaScript/PCRE-style named capture groups ((?<name>...)) without any conversion, eliminating the root cause of patterns that matched in the frontend live preview but failed on the backend with a re.error. As a further improvement, regex also supports variable-length lookbehind assertions (e.g. (?<=a+)), which re rejects with an error; patterns using these will now work correctly on the backend as well. Replace-pattern JS tokens are still normalised before calling regex.sub: $<name> → \g<name> and $1/$2/… → \1/\2/… (Python replacement syntax). Also fixed a bug in the WebSocket preview handler where a pattern error was incorrectly returning the search pattern string as the preview output instead of the original URL. ( Fixes #1005 )
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) Has been cancelled
2026-03-29 17:55:08 -05:00
SergeantPanda
9579248485
Enhancement: M3U Profile form (XC accounts): added a **Simple / Advanced** mode toggle for credential-based URL rewriting. In Simple mode users enter just a new username and password; the search and replace patterns are built automatically from the account's current credentials. In Advanced mode the full regex fields are shown as before. The selected mode is saved to custom_properties.xcMode and auto-detected on existing profiles (a profile whose search pattern matches the account's current username/password is recognised as Simple automatically). The Live Regex Demonstration panel is hidden in Simple mode.
2026-03-29 17:04:56 -05:00
SergeantPanda
698f9ff4c0
Enhancement: Add descriptions and placeholders to input fields for better user guidance
2026-03-29 16:33:08 -05:00
SergeantPanda
2e0c136796
fix: update dependency in useEffect to include sendMessage for WebSocket handling
2026-03-29 16:22:44 -05:00
SergeantPanda
121199de9c
refactor: remove unused playlist store imports and update Text component to use 'div' as the component type
2026-03-29 16:20:04 -05:00
SergeantPanda
6d06422ddd
Enhancement: client_connect and client_disconnect system events now include the **username** of the connected user. The username is stored alongside the client metadata in Redis and included in the event payload for log_system_event calls (making it available to webhook and script integrations).
2026-03-29 16:06:14 -05:00
SergeantPanda
1d3cd5fd75
tests: Update floating video test.
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-28 18:14:25 -05:00
SergeantPanda
f00d1fe63c
Bug Fix/Enhancement:
...
- Web UI stream preview (`FloatingVideo`) was calling `mpegts.createPlayer()` with all `Config` options (e.g. `enableWorker`, `liveSync`, `headers`) merged into the first `MediaDataSource` argument. mpegts.js only reads `Config` from the optional second argument; unrecognised fields in the first are silently ignored. As a result all player configuration was effectively the library defaults — worker offloading was disabled, latency management had no effect, and the `Authorization: Bearer` header (required for user identification) was never sent. Fixed by splitting into the correct two-argument call. Both `liveBufferLatencyChasing` and `liveSync` have been disabled, eliminating playback-rate fluctuations that caused audible stuttering on live streams. SourceBuffer cleanup thresholds were also relaxed from 10s/5s to 120s/60s to prevent frequent SourceBuffer pauses.
- Web UI stream preview now sends an `Authorization: Bearer` header with each mpegts.js request, identifying the logged-in user. Live channel previews initiated from the web UI now appear on the Stats page with the correct username rather than as unknown user.
2026-03-28 18:04:11 -05:00
SergeantPanda
3cb0925357
tests: Add user store mock and additional icons for VodConnectionCard tests
2026-03-28 17:04:57 -05:00
SergeantPanda
38f5156ca6
Enhancement: Show username in VOD cards.
2026-03-28 16:46:06 -05:00
SergeantPanda
30246a4d49
changelog: Add change for VOD XC endpoint.
2026-03-28 16:28:47 -05:00
SergeantPanda
17b8e6587f
changelog: Move issue to correct location and formatted them for auto-closing.
2026-03-28 15:49:35 -05:00
SergeantPanda
7ece48bdf2
tests: Update frontend tests
2026-03-28 15:12:24 -05:00
SergeantPanda
dd97b642c7
Bug Fix: preserve original file mtime during HTML entity resolution to prevent infinite refresh loop
2026-03-28 14:21:37 -05:00
SergeantPanda
6f516c0074
Enhancement: CustomTable column layout now supports flexible (grow) columns alongside fixed-width ones:
...
- Column definitions accept a `grow` property (boolean or number) to opt into flex layout. A numeric value sets the flex-grow weight, allowing relative sizing between grow columns (e.g. `grow: 2` gives a column twice the share of spare space as `grow: 1`).
- `maxSize` is now respected on grow columns, capping how wide they expand via `maxWidth`.
- The wrapper's `minWidth` calculation now uses `minSize` (not TanStack's 150px default) for grow columns, preventing the table from overflowing its container when columns would otherwise be sized larger than available space.
2026-03-28 13:36:47 -05:00
SergeantPanda
5f4e066147
Enhancements:
...
- Connection cards on the Stats page now show the **username** of the connected user in a new User column (between IP Address and Connected). The username is resolved from the user store using the `user_id` stored in Redis client metadata; unauthenticated connections display "Anonymous". (Closes #766 )
- `ip_address` and `user_id` were not included in the client info returned by `get_detailed_channel_info()` despite being available in the Redis hash. Both fields are now extracted and returned. (Closes #586 )
2026-03-28 13:33:29 -05:00
SergeantPanda
49f6871ba8
changelog: Update formatting a bit.
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-27 16:36:34 -05:00
SergeantPanda
b9e2a878df
Merge pull request #1152 from Dispatcharr/donate-button
...
Enhancement: Donate button added to the sidebar footer
2026-03-27 15:16:58 -05:00
SergeantPanda
3ee925ca71
tests: add Heart icon and Tooltip mock to Sidebar tests
2026-03-27 15:14:04 -05:00
SergeantPanda
c29deeb007
Merge branch 'dev' into donate-button
2026-03-27 15:05:02 -05:00
SergeantPanda
456f9ef6e6
Merge pull request #1145 from Dispatcharr/user-priority-fixes
...
User stream limits
2026-03-27 14:18:38 -05:00
SergeantPanda
3064be8194
tests: Fix settings page test.
2026-03-27 14:15:20 -05:00
SergeantPanda
0827908b53
fix: lazy load UserLimitsForm and correct spelling in user limits section
2026-03-27 14:12:21 -05:00
SergeantPanda
110c8623ed
delete temp script used for debugging.
2026-03-27 13:59:50 -05:00
SergeantPanda
5f45d3e9ad
changelog: User stream limits
2026-03-27 13:55:16 -05:00
SergeantPanda
9d8d4f6c75
chore: remove unnecessary python-is-python3, python3-pip and streamlink from Dockerfile dependencies
Base Image Build / prepare (push) Has been cancelled
Build and Push Multi-Arch Docker Image / build-and-push (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-03-27 12:12:44 -05:00
SergeantPanda
c601174e9a
chore: update dependencies for celery, requests, torch, and sentence-transformers
2026-03-27 12:12:30 -05:00
SergeantPanda
36ce5a8c71
changelog: Update changelog for base image changes.
2026-03-27 11:54:00 -05:00
SergeantPanda
9c9de12b19
chore: remove unnecessary python-is-python3, python3-pip and streamlink from Dockerfile dependencies
2026-03-27 11:49:28 -05:00
SergeantPanda
2253e18ef8
changelog: Update changelog for dependency upgrades
2026-03-27 11:04:37 -05:00
SergeantPanda
b20c42f25a
chore: update dependencies for celery, requests, torch, and sentence-transformers
2026-03-27 11:03:55 -05:00
SergeantPanda
7d8619f644
Security: Update npm dependencies to resolve frontend vulernabilities.
2026-03-27 09:30:01 -05:00
SergeantPanda
8e9a6285a4
Enhancement: Donate button added to the sidebar footer. A heart icon links to the project's Open Collective page, visible in both expanded and collapsed states. Hovering shows a "Support Dispatcharr" tooltip. The version string is also now clickable to copy it to the clipboard.
2026-03-26 21:16:18 -05:00
SergeantPanda
7964b2c2cb
fix: enhance stream termination logic to handle multiple connections on the same channel
2026-03-26 20:33:03 -05:00
SergeantPanda
7e6041286a
fix: update user limit settings key in migration and frontend form for consistency with other settings keys.
2026-03-26 20:16:16 -05:00