fix(dispatcharr): update image docker.io/dispatcharr/dispatcharr 0.25.0 → 0.25.1 (#48479)

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

<details>
<summary>Dispatcharr/Dispatcharr
(docker.io/dispatcharr/dispatcharr)</summary>

###
[`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
[#&#8203;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
[#&#8203;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.

</details>

---

### 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.

---

- [ ] <!-- rebase-check -->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).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xMzAuMSIsInVwZGF0ZWRJblZlciI6IjQzLjEzMC4xIiwidGFyZ2V0QnJhbmNoIjoibWFzdGVyIiwibGFiZWxzIjpbImFwcC9kaXNwYXRjaGFyciIsImF1dG9tZXJnZSIsInJlbm92YXRlL2NvbnRhaW5lciIsInR5cGUvcGF0Y2giXX0=-->
This commit is contained in:
TrueCharts Bot
2026-05-23 21:54:01 +02:00
committed by GitHub
parent c2156e0cff
commit 18182ff6a4
2 changed files with 3 additions and 3 deletions
+2 -2
View File
@@ -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
+1 -1
View File
@@ -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