renovate[bot]
a2fd140a61
chore(deps): update dependency ntfy to v2.19.0-0
2026-03-16 06:45:21 +02:00
Slavi Pantaleev
5df7e678f7
matrix-synapse: add an explicit msc4306 feature toggle
...
Expose Synapse's `msc4306_enabled` experimental flag as a first-class MDAD
variable and wire it into `homeserver.yaml` alongside the other experimental
feature toggles.
This makes thread-subscriptions support explicit in playbook configuration,
rather than requiring operators to inject the upstream flag via raw
`matrix_synapse_configuration_extension_yaml`.
The variable intentionally controls only the Synapse feature flag. It does not
change the default `thread_subscriptions` worker count, which remains `0` in the
standard presets. Keeping those as separate choices avoids auto-starting an
experimental worker just because the upstream feature toggle is enabled.
Refs:
- https://github.com/element-hq/synapse/blob/b99a58719b274fcbb327fd8d7649185792bfd12c/synapse/config/experimental.py#L600-L602
- https://github.com/element-hq/synapse/blob/b99a58719b274fcbb327fd8d7649185792bfd12c/synapse/rest/client/versions.py#L183-L184
2026-03-15 01:26:53 +02:00
Slavi Pantaleev
9af79ce4d2
matrix-synapse: support thread_subscriptions stream writers
...
Add `thread_subscriptions` as a supported web-facing stream writer in MDAD and
route its unstable client endpoints via the same explicit writer-or-main model
used for the other web-facing stream-backed APIs.
This is not just another generic worker route. Current Synapse gives thread
subscriptions their own `writers.thread_subscriptions` configuration, backs them
with a multi-writer stream, and asserts on store writes that the current
instance is an allowed thread-subscriptions writer.
Explicit early routing is also required here because the subscription endpoint is
room-scoped. In MDAD's specialized-worker model, the existing room-worker regex
would otherwise match `/_matrix/client/unstable/io.element.msc4306/rooms/...`
and steal the request before it reached the correct writer-or-main fallback.
Unlike `device_lists`, support is added without enabling a thread-subscriptions
worker by default in the standard presets. The underlying MSC4306/4308 feature
remains unstable and disabled by default upstream, so the conservative default
is to keep the worker count at `0` and let the new explicit routes fall back to
`main` unless an operator opts in.
Refs:
- https://github.com/element-hq/synapse/blob/b99a58719b274fcbb327fd8d7649185792bfd12c/synapse/config/workers.py#L175-L182
- https://github.com/element-hq/synapse/blob/b99a58719b274fcbb327fd8d7649185792bfd12c/synapse/rest/client/thread_subscriptions.py#L38-L247
- https://github.com/element-hq/synapse/blob/b99a58719b274fcbb327fd8d7649185792bfd12c/synapse/storage/databases/main/thread_subscriptions.py#L66-L83
- https://github.com/element-hq/synapse/blob/b99a58719b274fcbb327fd8d7649185792bfd12c/synapse/storage/databases/main/thread_subscriptions.py#L192-L322
2026-03-15 01:16:24 +02:00
Slavi Pantaleev
0f687a69c5
matrix-synapse: simplify redundant SSO main-override regexes
...
MDAD keeps `/_synapse/client/*` out of the broad worker-routing model.
Those paths are mounted by current Synapse on client-serving workers, but MDAD's
worker route buckets only match `/_matrix/client/*`, so `/_synapse/client/*`
requests already fall through to the main-process default.
That made the `/_synapse/client/*` branches in the dedicated SSO override regex
redundant. Remove those branches and leave the explicit SSO override focused on
the real `/_matrix/client/.../login/sso/redirect` path family, which would
otherwise be caught by the broad `/login` client-reader routing.
This also removes duplicated ownership of `login/sso/redirect` from the generic
main-override regex so the dedicated SSO override is the single place that
models that path.
Refs:
- https://github.com/element-hq/synapse/blob/b99a58719b274fcbb327fd8d7649185792bfd12c/synapse/app/generic_worker.py#L197-L203
- https://github.com/element-hq/synapse/blob/b99a58719b274fcbb327fd8d7649185792bfd12c/synapse/rest/synapse/client/__init__.py#L39-L90
- https://github.com/element-hq/synapse/blob/b99a58719b274fcbb327fd8d7649185792bfd12c/synapse/rest/client/login.py#L636-L643
2026-03-15 01:02:19 +02:00
Slavi Pantaleev
ec36904671
matrix-synapse: route MSC3814 dehydrated-device APIs to workers
...
Add the unstable MSC3814 dehydrated-device endpoints to both MDAD
worker-routing models:
- the specialized client_reader bucket
- the broad generic_worker route list
This is not a docs-driven change. Current workers.md does not meaningfully
spell out these paths, but the current Synapse code does mount them via the
normal devices servlet registration path, and non-main client workers do not
skip that servlet group.
That makes these endpoints a good fit for the same worker buckets that already
handle the surrounding device- and E2EE-related client APIs.
Refs:
- https://github.com/element-hq/synapse/blob/b99a58719b274fcbb327fd8d7649185792bfd12c/docs/workers.md#synapseappgeneric_worker
- https://github.com/element-hq/synapse/blob/b99a58719b274fcbb327fd8d7649185792bfd12c/synapse/rest/client/devices.py#L256-L459
- https://github.com/element-hq/synapse/blob/b99a58719b274fcbb327fd8d7649185792bfd12c/synapse/rest/__init__.py#L81-L129
- https://github.com/element-hq/synapse/blob/b99a58719b274fcbb327fd8d7649185792bfd12c/synapse/rest/__init__.py#L179-L197
2026-03-15 00:39:25 +02:00
Slavi Pantaleev
69df322f40
matrix-synapse: split client_reader routes into grouped regexes
...
The client_reader route bucket had collapsed into one long alternation,
which made small worker-audit edits hard to review. Any endpoint change
rewrote the whole regex and obscured whether we were changing routing
policy or just maintaining the route list.
Refactor the variable into grouped regex entries with comments instead.
This keeps the current specialized-worker policy intact: nginx still
renders the client_reader locations in the same block, and the routes
still target the same upstream bucket. The goal here is to make future
doc/code audits, additions, and removals mechanical and reviewable.
This also matches MDAD's current worker model, where generic workers are
not mixed with the specialized room/sync/client/federation reader
routing buckets, so there is no need to derive this from the generic
worker map.
Refs:
- https://github.com/element-hq/synapse/blob/b99a58719b274fcbb327fd8d7649185792bfd12c/docs/workers.md#historical-apps
- https://github.com/element-hq/synapse/blob/b99a58719b274fcbb327fd8d7649185792bfd12c/docs/workers.md#synapseappgeneric_worker
2026-03-15 00:29:32 +02:00
Slavi Pantaleev
c0044a9b0a
matrix-synapse: route MatrixRTC transport discovery to workers
...
Current Synapse registers the MatrixRTC transport discovery endpoint on
client-serving workers when MSC4143 is enabled, but MDAD does not model
that path in either its client-reader bucket or its broader generic-
worker endpoint list.
Add the unstable MatrixRTC transport discovery route so MDAD's worker
routing matches the current upstream worker surface for this endpoint.
This is a small, isolated routing addition for a simple authenticated
GET endpoint.
Refs:
- https://github.com/element-hq/synapse/blob/b99a58719b274fcbb327fd8d7649185792bfd12c/synapse/rest/client/matrixrtc.py#L30-L52
- https://github.com/element-hq/synapse/blob/b99a58719b274fcbb327fd8d7649185792bfd12c/synapse/rest/__init__.py#L81-L129
- https://github.com/element-hq/synapse/blob/b99a58719b274fcbb327fd8d7649185792bfd12c/synapse/rest/__init__.py#L179-L197
2026-03-15 00:11:58 +02:00
Slavi Pantaleev
63a0e8216b
matrix-synapse: route account deactivation like current Synapse
...
Current Synapse still documents and registers
`/_matrix/client/.../account/deactivate` on client-serving workers when
auth is not delegated. MDAD already routes neighboring account endpoints
such as `account/3pid` and `account/whoami`, but it omitted
`account/deactivate` from both its client-reader bucket and its broader
generic-worker endpoint list.
Add the missing route patterns so MDAD's worker routing matches the
current upstream worker surface in non-delegated-auth deployments. In
MAS / MSC3861 mode the endpoint is not registered upstream anyway, so
this does not expand the effective delegated-auth surface.
Refs:
- https://github.com/element-hq/synapse/blob/b99a58719b274fcbb327fd8d7649185792bfd12c/docs/workers.md#synapseappgeneric_worker
- https://github.com/element-hq/synapse/blob/b99a58719b274fcbb327fd8d7649185792bfd12c/synapse/rest/client/account.py#L284-L324
- https://github.com/element-hq/synapse/blob/b99a58719b274fcbb327fd8d7649185792bfd12c/synapse/rest/client/account.py#L913-L920
2026-03-14 23:49:20 +02:00
Slavi Pantaleev
975f14d2d8
matrix-synapse: route the current Nheko summary endpoint
...
Synapse currently supports both the deprecated
`/_matrix/client/unstable/im.nheko.summary/rooms/<room>/summary`
route and the recommended
`/_matrix/client/unstable/im.nheko.summary/summary/<room>`
form. MDAD only matched the deprecated shape.
Add the recommended pattern alongside the old one so worker routing
matches the current upstream API surface while preserving backward
compatibility for the deprecated path.
Refs:
- https://github.com/element-hq/synapse/blob/b99a58719b274fcbb327fd8d7649185792bfd12c/docs/workers.md#synapseappgeneric_worker
- https://github.com/element-hq/synapse/blob/b99a58719b274fcbb327fd8d7649185792bfd12c/synapse/rest/client/room.py#L1716-L1728
2026-03-14 23:32:10 +02:00
Slavi Pantaleev
d80ef72fbe
matrix-synapse: remove stale client-reader residue and refresh worker comment
...
Current Synapse no longer exposes device management under
`/_matrix/client/.../account/devices`. The live client API shape is
`/devices`, `/devices/{device_id}`, and `/delete_devices`, and
MDAD already routes those real device-list-sensitive endpoints through
explicit device-list handling.
Keeping `account/devices` in the old client-reader regex therefore only
preserves stale route-model residue. While touching the same area,
refresh the `/_synapse/client/*` comment to reflect current Synapse:
client-serving generic workers now mount a meaningful Synapse-specific
client tree there, but MDAD still intentionally keeps those paths out of
its broad worker regexes because they are deployment-sensitive and
auth-sensitive.
Refs:
- https://github.com/element-hq/synapse/blob/b99a58719b274fcbb327fd8d7649185792bfd12c/docs/workers.md#historical-apps
- https://github.com/element-hq/synapse/blob/b99a58719b274fcbb327fd8d7649185792bfd12c/synapse/rest/client/devices.py#L49-L150
- https://github.com/element-hq/synapse/blob/b99a58719b274fcbb327fd8d7649185792bfd12c/synapse/rest/synapse/client/__init__.py#L39-L88
2026-03-14 23:31:51 +02:00
Slavi Pantaleev
dfe8628fbf
matrix-synapse: add routing-focused reverse-proxy access log preset
2026-03-14 02:56:48 +02:00
Slavi Pantaleev
a3ff72ebff
matrix-synapse: enable push_rules writer in worker presets
2026-03-14 01:50:07 +02:00
Slavi Pantaleev
df76b1cd5b
matrix-synapse: enable device_lists writer in worker presets
2026-03-14 01:49:45 +02:00
Slavi Pantaleev
dafac35a0e
matrix-synapse: route stream-backed client endpoints explicitly and add device_lists stream writer support
...
Some client API endpoints (e.g. keys/upload) are backed by Synapse stream writers and
should not rely on broad worker regexes or route-order fallthrough for correctness.
When explicit per-stream routing is missing, requests may be captured by generic, room, or client_reader workers, instead of:
- going to the configured stream writer
- or to `main` when that stream writer is not enabled
This refactors synapse-reverse-proxy-companion's routing so that web-facing stream-backed endpoint families
are handled explicitly and early, with deterministic writer-or-main fallback.
Add first-class support for the missing `device_lists` stream writer,
generalize the same routing model to `push_rules`,
and remove stale broad-route ownership for device-list-sensitive endpoints.
2026-03-14 01:42:08 +02:00
dependabot[bot]
980d1ccc5b
Bump ansible/ansible-lint from 26.1.1 to 26.3.0
...
Bumps [ansible/ansible-lint](https://github.com/ansible/ansible-lint ) from 26.1.1 to 26.3.0.
- [Release notes](https://github.com/ansible/ansible-lint/releases )
- [Commits](https://github.com/ansible/ansible-lint/compare/v26.1.1...v26.3.0 )
---
updated-dependencies:
- dependency-name: ansible/ansible-lint
dependency-version: 26.3.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-03-13 16:11:36 +02:00
Suguru Hirahara
f9fa63fc7e
Add noqa var-naming to matrix_client_fluffychat_config_defaultHomeserver
...
Signed-off-by: Suguru Hirahara <did:key:z6MkvVZk1A3KBApWJXv2Ju4H14ErDfRGxh8zxdXSZ4vACDg5>
2026-03-12 14:48:43 +09:00
renovate[bot]
021285d8d2
chore(deps): update dependency cinny to v4.11.1-0
2026-03-11 20:04:50 +02:00
renovate[bot]
e2d2a341a8
chore(deps): update dependency sphinx-markdown-builder to v0.6.10
2026-03-11 14:50:14 +02:00
renovate[bot]
79a4156a78
chore(deps): update ghcr.io/element-hq/synapse docker tag to v1.149.1
2026-03-11 12:26:30 +02:00
renovate[bot]
d12970c0fd
chore(deps): update docker.io/metio/matrix-alertmanager-receiver docker tag to v2026.3.11
2026-03-11 12:19:32 +02:00
Slavi Pantaleev
d4e8da3e0a
Bump default OpenAI text-generation model (gpt-5.2 -> gpt-5.4)
2026-03-11 10:05:46 +02:00
renovate[bot]
2237b53979
chore(deps): update dependency traefik to v3.6.10-1
2026-03-11 02:17:55 +02:00
renovate[bot]
0320e671e3
chore(deps): update nginx docker tag to v1.29.6
2026-03-11 01:47:55 +02:00
Jakob S.
0c4bce582f
Fix user-verification-service room membership check
2026-03-11 00:57:04 +02:00
renovate[bot]
4e3658bb98
chore(deps): update ghcr.io/element-hq/synapse docker tag to v1.149.0
2026-03-10 22:43:44 +02:00
renovate[bot]
94beb79279
chore(deps): update ghcr.io/element-hq/element-web docker tag to v1.12.12
2026-03-10 22:06:25 +02:00
Slavi Pantaleev
ac559889f9
Upgrade Sable (v1.6.0-0 -> v1.6.0-1)
2026-03-10 21:50:14 +02:00
Aine
12d8015bc4
optional postgres unix socket with synapse
2026-03-10 17:38:16 +00:00
renovate[bot]
a602035383
chore(deps): update dependency sable to v1.6.0-0
2026-03-10 15:08:49 +02:00
renovate[bot]
1898bb5c49
chore(deps): update ghcr.io/element-hq/matrix-authentication-service docker tag to v1.13.0
2026-03-10 15:08:40 +02:00
renovate[bot]
805f3ef892
chore(deps): update dependency setuptools to v82.0.1
2026-03-10 14:07:52 +02:00
renovate[bot]
81b944540b
chore(deps): update matrixdotorg/mjolnir docker tag to v1.12.1
2026-03-10 07:38:57 +02:00
Benjamin Blacher
df5b84588b
Add support for sticky events (experimental)
2026-03-09 15:51:38 +02:00
Slavi Pantaleev
6b6b74afa9
matrix-synapse-admin: fail when enabled with non-Synapse homeserver
2026-03-08 15:26:21 +02:00
Slavi Pantaleev
677919fc39
Upgrade systemd_service_manager (v3.1.0-0 -> v3.2.0-0)
2026-03-08 14:44:58 +02:00
Aine
f803ad6957
Synapse Admin v0.11.4-etke54
2026-03-08 12:39:11 +00:00
Aine
5d7569adf0
fix borg backup var; update jitsi role
2026-03-08 10:42:50 +00:00
Aine
82caf3a7d3
improve synapse redis socket mounting
2026-03-08 09:56:26 +00:00
Aine
45d5ebd008
fix comments
2026-03-08 08:09:17 +00:00
renovate[bot]
c3437e22e6
chore(deps): update dependency sable to v1.5.1-0
2026-03-08 09:37:46 +02:00
renovate[bot]
d046855f3a
chore(deps): update dependency ntfy to v2.18.0-0
2026-03-08 09:37:39 +02:00
renovate[bot]
55ffeb226c
chore(deps): update dependency backup_borg to v1.4.3-2.1.1-3
2026-03-08 09:32:40 +02:00
Aine
0c40a03efc
allow synapse to use redis unix socket instead of tcp
2026-03-08 07:24:33 +00:00
Aine
86bb61aba0
backup-borg: disable mariadb/mysql/mongodb by default
2026-03-07 20:17:09 +00:00
Aine
87ef61ac56
update valkey
2026-03-07 19:16:49 +00:00
renovate[bot]
6d9b1a8260
chore(deps): update dependency traefik to v3.6.10-0
2026-03-07 13:28:05 +02:00
Slavi Pantaleev
df205a2f77
Upgrade baibot (v1.14.3 -> v1.15.0) and adapt to support optional access-token auth mode
...
Ref:
- https://github.com/etkecc/baibot/pull/83
- https://github.com/etkecc/baibot/blob/748d2b7fd4ab7bbd53cde1400935d634dc13ea38/CHANGELOG.md#2026-03-07-version-1150
- https://github.com/etkecc/baibot/blob/748d2b7fd4ab7bbd53cde1400935d634dc13ea38/docs/configuration/authentication.md
2026-03-07 12:43:48 +02:00
renovate[bot]
7e3b82b80e
chore(deps): update dependency backup_borg to v1.4.3-2.1.1-2
2026-03-07 08:17:34 +02:00
renovate[bot]
c3a9772f51
chore(deps): update dependency charset-normalizer to v3.4.5
2026-03-06 11:29:27 +02:00
renovate[bot]
1f3ea18213
chore(deps): update dependency livekit_server to v1.9.12-0
2026-03-05 22:21:57 +02:00