From 18182ff6a4273cc856a0887564d65c02afabbd81 Mon Sep 17 00:00:00 2001 From: TrueCharts Bot Date: Sat, 23 May 2026 21:54:01 +0200 Subject: [PATCH] =?UTF-8?q?fix(dispatcharr):=20update=20image=20docker.io/?= =?UTF-8?q?dispatcharr/dispatcharr=200.25.0=20=E2=86=92=200.25.1=20(#48479?= =?UTF-8?q?)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This PR contains the following updates: | Package | Update | Change | |---|---|---| | [docker.io/dispatcharr/dispatcharr](https://redirect.github.com/Dispatcharr/Dispatcharr) | patch | `9f6a7e5` → `2bdcfd9` | --- > [!WARNING] > Some dependencies could not be looked up. Check the [Dependency Dashboard](../issues/18710) for more information. Add the preset `:preserveSemverRanges` to your config if you don't want to pin your dependencies. --- ### Release Notes
Dispatcharr/Dispatcharr (docker.io/dispatcharr/dispatcharr) ### [`v0.25.1`](https://redirect.github.com/Dispatcharr/Dispatcharr/blob/HEAD/CHANGELOG.md#0251---2026-05-23) [Compare Source](https://redirect.github.com/Dispatcharr/Dispatcharr/compare/v0.25.0...v0.25.1) ##### Fixed - **`SynchronousOnlyOperation` and permanent loading state in series rules save.** `_evaluate_series_rules_locked` and `reschedule_upcoming_recordings_for_offset_change_impl` called `async_to_sync(channel_layer.group_send)` directly from WSGI views. In a uWSGI/gevent worker this has two effects: (1) it sets Python 3.10+'s C-level OS-thread-local running-loop flag, causing Django's `@async_unsafe` guard to raise `SynchronousOnlyOperation` on any ORM call made by another greenlet on the same thread; (2) the asyncio event loop it creates cannot make progress because the gevent hub is blocked waiting for the request greenlet to complete, so the request hangs and the frontend spinner never clears. Both functions now use `send_websocket_update` - the same gevent-aware helper used elsewhere - which takes a direct Redis path (no asyncio) in gevent workers. (Fixes [#​1260](https://redirect.github.com/Dispatcharr/Dispatcharr/issues/1260)) - **Migration 0037 fails on PostgreSQL when channels have been orphaned from their M3U account.** Channels created by auto-sync retain `auto_created=True` but get `auto_created_by=NULL` when the originating M3U account is deleted (`on_delete=SET_NULL`). The data migration step that re-attributes or demotes those channels updates the FK column via ORM `.save()` calls, which queues deferred constraint trigger events in PostgreSQL. The subsequent `ALTER TABLE ... DROP NOT NULL` on the same table then fails with `ObjectInUse: cannot ALTER TABLE because it has pending trigger events`. Fixed by issuing `SET CONSTRAINTS ALL IMMEDIATE` at the end of the data migration function to flush those pending events before the DDL runs. (Fixes [#​1259](https://redirect.github.com/Dispatcharr/Dispatcharr/issues/1259)) - **XC stream URLs with no file extension now respect output format defaults.** `stream_xc` previously treated any extension other than `.mp4` as a forced `mpegts` request, including the empty-extension URLs that XC-compatible M3U playlists produce via `get.php`. Requests with no extension now pass `force_format=None` so the standard resolution chain (request param, user default, server default) applies correctly. - **XC M3U stream URLs now carry output profile and output format parameters.** The `get.php` M3U playlist previously emitted bare `/live/user/pass/id` URLs with no query string, causing per-user and server-wide output profile and output format settings to be silently ignored for XC clients. When `output_profile` or `output_format` parameters are present on the playlist request, they are now appended to every stream URL in the playlist so the proxy honours them on playback. ##### Performance - **M3U playlist URL building moved outside the channel loop.** `generate_m3u` previously rebuilt the query-string suffix (and for XC requests, called `build_absolute_uri_with_port`) on every channel iteration even though both inputs are request-level constants. The XC base URL and both query-string suffixes (`xc_qs_suffix`, `proxy_qs_suffix`) are now computed once before the channel loop; per-channel URL assembly is a single f-string interpolation.
--- ### Configuration 📅 **Schedule**: (UTC) - Branch creation - At any time (no schedule defined) - Automerge - At any time (no schedule defined) 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] If you want to rebase/retry this PR, check this box --- This PR has been generated by [Renovate Bot](https://redirect.github.com/renovatebot/renovate). --- charts/stable/dispatcharr/Chart.yaml | 4 ++-- charts/stable/dispatcharr/values.yaml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/charts/stable/dispatcharr/Chart.yaml b/charts/stable/dispatcharr/Chart.yaml index 964f6424a3a..893f87abfe6 100644 --- a/charts/stable/dispatcharr/Chart.yaml +++ b/charts/stable/dispatcharr/Chart.yaml @@ -9,7 +9,7 @@ annotations: trueforge.org/min_helm_version: "3.14" trueforge.org/train: stable apiVersion: v2 -appVersion: 0.25.0 +appVersion: 0.25.1 dependencies: - name: common version: 29.3.4 @@ -37,5 +37,5 @@ sources: - https://github.com/trueforge-org/truecharts/tree/master/charts/stable/dispatcharr - https://hub.docker.com/r/dispatcharr/dispatcharr type: application -version: 2.7.0 +version: 2.7.1 diff --git a/charts/stable/dispatcharr/values.yaml b/charts/stable/dispatcharr/values.yaml index 69d21a5b7ef..4ac93973ba4 100644 --- a/charts/stable/dispatcharr/values.yaml +++ b/charts/stable/dispatcharr/values.yaml @@ -2,7 +2,7 @@ image: pullPolicy: IfNotPresent repository: docker.io/dispatcharr/dispatcharr - tag: 0.25.0@sha256:9f6a7e596eac8b2252aa0993fa0b08132445fa840055e56110b3722071f04643 + tag: 0.25.1@sha256:2bdcfd9dc113e743ccb3ea424e75e19b2281309b05a7d649c3717471b9f70f03 securityContext: container: readOnlyRootFilesystem: false