SergeantPanda
77a3edf63a
perf/fix: migrate DB driver to psycopg3, fix pool settings
...
- Switch engine to postgresql_psycopg3 (PR had wrong engine name,
and we're migrating from psycopg2 to psycopg3 as part of this work)
- Set CONN_MAX_AGE=0 (required by geventpool; PR had None)
- Reduce MAX_CONNS 20→8, REUSE_CONNS 10→3 to avoid exhausting
pg max_connections across 4 uWSGI workers + Celery
- Add pool=False to explicitly disable Django's native psycopg3 pool
2026-05-28 19:47:24 -05:00
SergeantPanda
38c89402f8
Enhancement: Update psycopg2 to 3.
2026-05-28 19:46:58 -05:00
SergeantPanda
14dd28b7fb
Enhancement: Update psycopg from 2 to 3, remove psycogreen as it's no longer needed with psycopg3.
2026-05-28 19:46:27 -05:00
Jonathan Caicedo
4a45f536bb
perf: replace per-request DB connections with geventpool
2026-05-28 19:46:17 -05:00
Seth Van Niekerk
3acb5ff0f5
Introduce In-House Template & Compliance Actions
2026-05-28 15:08:01 -05:00
SergeantPanda
7768d137c4
fix: remove unnecessary libpq-dev dependency from Dockerfile
2026-05-28 14:38:27 -05:00
Kanishk Sachdev
3e966cd1dd
docker: split base image into builder and runtime stages
...
Keeps compilers in the builder; runtime stage copies only the venv
and NumPy wheel.
2026-05-28 14:38:18 -05:00
GitHub Actions
5ea194059b
Release v0.25.1
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-05-23 19:17:36 +00:00
SergeantPanda
5cfea5892a
Merge pull request #1262 from Dispatcharr/dev
...
Dispatcharr - v0.25.1
2026-05-23 14:16:52 -05:00
SergeantPanda
812d25b987
fix: resolve SynchronousOnlyOperation in ORM calls by allowing async unsafe operations
2026-05-23 13:54:41 -05:00
SergeantPanda
137241f873
Bug Fix: Fix auto sync migration. ( Fixes #1259 )
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-05-22 13:53:00 -05:00
SergeantPanda
59587cbe66
Fix XC stream URL format output handling and improve M3U playlist generation performance. Removed unused imports in apps\output
2026-05-22 11:51:16 -05:00
GitHub Actions
e3269a21ce
Release v0.25.0
Build and Push Multi-Arch Docker Image / build-and-push (push) Has been cancelled
Frontend Tests / test (push) Has been cancelled
2026-05-21 22:33:35 +00:00
SergeantPanda
af8e993814
Merge pull request #1257 from Dispatcharr/dev
...
Release - v0.25.0
2026-05-21 17:32:57 -05:00
SergeantPanda
1ab1f638a3
tests: Fix frontend test for sidebar.
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-05-21 17:08:01 -05:00
SergeantPanda
9c22a52c14
chore: remove python-gnupg dependency from project
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-05-21 16:14:28 -05:00
SergeantPanda
7e0ea5eae0
Enhancement: add caching for plugin detail responses and implement cache invalidation on repo refresh.
...
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
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
Bug Fix: The plugin detail endpoint called GPG via `subprocess.Popen` to verify per-plugin manifest signatures. Replaced with a `_gpg_run()` helper that uses `os.posix_spawn`, matching the pattern used by the ffmpeg and script-handler fixes.
2026-05-21 16:12:31 -05:00
SergeantPanda
2f66b7c183
chore: remove python-gnupg dependency from project
2026-05-21 16:01:10 -05:00
SergeantPanda
f416c7c251
Enhancement: add About modal with version info and community links; refactor SVG icons into separate module
2026-05-21 16:00:52 -05:00
SergeantPanda
17e6e8c238
chore: Cleanup unused code.
2026-05-21 10:13:28 -05:00
SergeantPanda
e0bb2d925e
Enhancement: implement Shift+click and Ctrl+click row selection in tables for improved user interaction
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-05-20 17:27:32 -05:00
SergeantPanda
821dccc380
Enhancement: update cursor styles for shift key active state to improve user experience
2026-05-20 17:22:42 -05:00
SergeantPanda
429a6a6bdc
tests: Fixed DVR settings form test.
2026-05-20 16:52:18 -05:00
SergeantPanda
fb89a7c977
Enhancement: refactor ChannelsTable and CustomTable components for improved selection handling and performance
...
Bug Fix: Shift select on channel table.
2026-05-20 16:46:32 -05:00
SergeantPanda
f84265f2a5
Enhancement: add Comskip mode and hardware acceleration settings to DVR configuration. Update default comskip config.
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-05-19 21:14:06 -05:00
SergeantPanda
594596d4f5
Enhancement: update channel card tooltip to use stable 'started_at' timestamp and refactor getStartDate utility
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
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-05-19 14:37:33 -05:00
SergeantPanda
1d9741a019
changelog: Update changelog for django update.
2026-05-19 09:11:44 -05:00
SergeantPanda
1f11f80e1e
Security: Update Django dependency to version 6.0.5
2026-05-19 09:06:01 -05:00
SergeantPanda
322c7c9323
Security: Update Django dependency to version 6.0.5
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-05-19 09:05:18 -05:00
SergeantPanda
50e23cbfd7
Enhancement: add django-redis to dependencies for improved caching support
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-05-17 20:24:47 -05:00
SergeantPanda
108bd52e7f
perf: replace local cache with django-redis for improved EPG caching
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
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-05-17 20:23:57 -05:00
SergeantPanda
28347a239b
Enhancement: add django-redis to dependencies for improved caching support
2026-05-17 20:17:59 -05:00
SergeantPanda
a71dcb31a0
fix: ensure proper cleanup of client managers on channel disconnect
2026-05-17 19:05:44 -05:00
SergeantPanda
a3511d6363
fix: update profile save method to include expiration date in custom properties
2026-05-17 17:43:15 -05:00
SergeantPanda
8ac0aa4f5f
fix: update default output profiles to include additional ffmpeg parameters for improved processing speed.
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-05-17 12:33:37 -05:00
SergeantPanda
d448561767
Bug Fix: Refactored channel teardown to kill ffmpeg earlier in the process. Removed redundant cleanup task. Added guard to prevent multiple cleanups for the same channel.
2026-05-17 10:03:44 -05:00
SergeantPanda
34bfaa0ed7
fix: improve RegexPreviewBox layout and ensure proper overflow handling
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-05-16 11:52:52 -05:00
SergeantPanda
e54b70ba08
fix: enhance regex filtering for auto-sync channels to match frontend patterns
2026-05-16 11:41:15 -05:00
SergeantPanda
d09674cd95
fix: update xc_stream_live_streams to yield opening bracket at start.
2026-05-16 11:08:41 -05:00
SergeantPanda
bdfad0f314
fix: clarify comments in gevent_patch.py regarding blocking behavior in send_websocket_update
2026-05-16 10:59:09 -05:00
SergeantPanda
c68249c314
fix: replace fork()-based subprocess with posix_spawn at all uWSGI spawn sites
...
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
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
gevent registers a pthread_atfork handler that never yields. Any
subprocess.Popen/run call in a uWSGI greenlet hangs indefinitely at
fork() before the child process even starts.
- dispatcharr/gevent_patch.py: new; monkey.patch_all() + psycogreen,
loaded via uWSGI import= in all four ini files
- live_proxy/input/manager.py: posix_spawn + _SpawnedProcess; removed
dead forwarder code
- live_proxy/input/http_streamer.py: O_NONBLOCK on relay pipe + EAGAIN
retry (blocking write to a full pipe stalls the gevent hub)
- live_proxy/utils.py: new posix_spawn_proc() helper with O_NONBLOCK
stdin, shared by both output managers
- live_proxy/output/fmp4/manager.py, output/profile/manager.py:
posix_spawn_proc(); _write_all() treats EAGAIN (None) as cooperative
select.select wait instead of fatal error
- core/views.py (stream_view): posix_spawn; fixed pre-existing bug
where return StreamingHttpResponse(...) was indented inside
stream_generator, making the success path always return None
- connect/handlers/script.py: _posix_run() with posix_spawn +
cooperative select reads + non-blocking waitpid; fixes deadlock when
a script integration fires on a uWSGI-context event (client_connect
fires in the live proxy, not Celery)
2026-05-15 16:45:09 -05:00
SergeantPanda
bd202638ef
fix: Add psycogreen to dependencies for improved concurrency support
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-05-14 19:28:31 -05:00
SergeantPanda
c33d456743
Enable gevent in uWSGI workers; fix WS delivery and DB exhaustion
...
- Enable gevent cooperative multitasking in all uWSGI worker configs
(gevent-early-monkey-patch + import dispatcharr.gevent_patch)
- Rewrite WebSocket group sends to bypass asyncio in gevent workers:
_gevent_ws_send() replicates the channels_redis 4.x wire format
directly via synchronous Redis so send_websocket_update() and
_send_async() no longer fail silently after epoll is patched out
- Fix PostgreSQL connection exhaustion: CONN_MAX_AGE=0 + explicit
close_old_connections() in stream manager and cleanup watchdog loops
- Fix stream proxy race: register client before the connect-wait loop
so the cleanup watchdog never sees zero clients on a live channel
- Channel list/logo/profile queryset optimisations: conditional DISTINCT,
EXISTS semi-joins for filter-options, channel_count annotation to
eliminate N+1 in LogoSerializer, prefetched memberships in
ChannelProfileSerializer
- JsonResponse for channel ID list and summary endpoints
2026-05-14 18:55:09 -05:00
SergeantPanda
1e78590f8c
fix: Add psycogreen to dependencies for improved concurrency support
2026-05-14 14:50:58 -05:00
SergeantPanda
98f201e803
perf: Refactor get_live_stream into a streaming endpoint as well as reduce number of passes needed. ( Fixes #1220 )
2026-05-14 13:14:38 -05:00
SergeantPanda
a26cc758cd
changelog: Removed extra line.
2026-05-14 09:59:47 -05:00
SergeantPanda
21913306c4
fix: Preserve base path in URL normalization for XC server and transform credentials. ( Fixes #1218 )
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-05-14 09:53:10 -05:00
SergeantPanda
f4dce6db01
fix: Ensure plugin discovery runs in all non-Celery processes to apply monkey-patches in uWSGI workers
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-05-13 17:30:09 -05:00
SergeantPanda
eba261b6af
Merge pull request #1245 from R3XCHRIS/fix/register-plugin-tasks-on-worker-ready
...
fix: register plugin @shared_tasks on worker startup
2026-05-13 17:03:42 -05:00
SergeantPanda
e61539fc80
fix: Update plugin discovery comments and improve weakref handling in tests. Update changelog.
2026-05-13 17:02:34 -05:00