Skip to content

Confusing or incorrect worker docs changes for device_lists in 1.135.0 (1.135.2) #18803

@rda0

Description

@rda0

Description

The update from v1.134.0 to v1.135.0 (v1.135.2) has the following changes in the docs/workers.md:

+rda:~/git/github/synapse[develop]$ git --no-pager diff v1.134.0 v1.135.2 docs/workers.md
diff --git a/docs/workers.md b/docs/workers.md
index 45a00696f3..59c60dd0ad 100644
--- a/docs/workers.md
+++ b/docs/workers.md
@@ -238,7 +238,9 @@ information.
     ^/_matrix/client/unstable/im.nheko.summary/summary/.*$
     ^/_matrix/client/(r0|v3|unstable)/account/3pid$
     ^/_matrix/client/(r0|v3|unstable)/account/whoami$
-    ^/_matrix/client/(r0|v3|unstable)/devices$
+    ^/_matrix/client/(r0|v3|unstable)/account/deactivate$
+    ^/_matrix/client/(r0|v3)/delete_devices$
+    ^/_matrix/client/(api/v1|r0|v3|unstable)/devices(/|$)
     ^/_matrix/client/versions$
     ^/_matrix/client/(api/v1|r0|v3|unstable)/voip/turnServer$
     ^/_matrix/client/(api/v1|r0|v3|unstable)/rooms/.*/event/
@@ -257,7 +259,9 @@ information.
     ^/_matrix/client/(r0|v3|unstable)/keys/changes$
     ^/_matrix/client/(r0|v3|unstable)/keys/claim$
     ^/_matrix/client/(r0|v3|unstable)/room_keys/
-    ^/_matrix/client/(r0|v3|unstable)/keys/upload$
+    ^/_matrix/client/(r0|v3|unstable)/keys/upload
+    ^/_matrix/client/(api/v1|r0|v3|unstable/keys/device_signing/upload$
+    ^/_matrix/client/(api/v1|r0|v3|unstable)/keys/signatures/upload$

     # Registration/login requests
     ^/_matrix/client/(api/v1|r0|v3|unstable)/login$
@@ -282,7 +286,6 @@ Additionally, the following REST endpoints can be handled for GET requests:

     ^/_matrix/client/(api/v1|r0|v3|unstable)/pushrules/
     ^/_matrix/client/unstable/org.matrix.msc4140/delayed_events
-    ^/_matrix/client/(api/v1|r0|v3|unstable)/devices/

     # Account data requests
     ^/_matrix/client/(r0|v3|unstable)/.*/tags
@@ -329,7 +332,6 @@ set to `true`), the following endpoints can be handled by the worker:
     ^/_synapse/admin/v2/users/[^/]+$
     ^/_synapse/admin/v1/username_available$
     ^/_synapse/admin/v1/users/[^/]+/_allow_cross_signing_replacement_without_uia$
-    # Only the GET method:
     ^/_synapse/admin/v1/users/[^/]+/devices$

 Note that a [HTTP listener](usage/configuration/config_documentation.md#listeners)
@@ -550,6 +552,18 @@ the stream writer for the `push_rules` stream:

     ^/_matrix/client/(api/v1|r0|v3|unstable)/pushrules/

+##### The `device_lists` stream
+
+The `device_lists` stream supports multiple writers. The following endpoints
+can be handled by any worker, but should be routed directly one of the workers
+configured as stream writer for the `device_lists` stream:
+
+    ^/_matrix/client/(r0|v3)/delete_devices$
+    ^/_matrix/client/(api/v1|r0|v3|unstable)/devices/
+    ^/_matrix/client/(r0|v3|unstable)/keys/upload
+    ^/_matrix/client/(api/v1|r0|v3|unstable/keys/device_signing/upload$
+    ^/_matrix/client/(api/v1|r0|v3|unstable)/keys/signatures/upload$
+

The following endpoints mismatch in the # Client API requests section:

^/_matrix/client/(api/v1|r0|v3|unstable)/devices(/|$)

and in the ##### Thedevice_lists stream section:

^/_matrix/client/(api/v1|r0|v3|unstable)/devices/

Is that a typo?

This appears to be indeed a typo (missing closing parenthesis in regex):

^/_matrix/client/(api/v1|r0|v3|unstable/keys/device_signing/upload$

which should be:

^/_matrix/client/(api/v1|r0|v3|unstable)/keys/device_signing/upload$

Steps to reproduce

  • Try to update reverse proxy config for workers according to v1.135.2 docs

Homeserver

test-matrix.phys.ethz.ch

Synapse Version

1.135.2

Installation Method

pip (from PyPI)

Database

single PostgreSQL, not ported, never restored

Workers

Multiple workers

Platform

Debian GNU/Linux 12 (bookworm), VM

Configuration

No response

Relevant log output

==> /var/log/syslog <==
2025-08-11T22:51:48.716026+02:00 phd-test-matrix systemd[1] Reloading nginx.service - A high performance web server and a reverse proxy server...
2025-08-11T22:51:48.739883+02:00 phd-test-matrix nginx[3770526] 2025/08/11 22:51:48 [emerg] 3770526#3770526: pcre2_compile() failed: missing closing parenthesis in "^/_matrix/client/(api/v1|r0|v3|unstable/keys/device_signing/upload$" in /etc/nginx/sites-enabled/test-matrix.conf:131
2025-08-11T22:51:48.740835+02:00 phd-test-matrix systemd[1] nginx.service: Control process exited, code=exited, status=1/FAILURE
2025-08-11T22:51:48.741024+02:00 phd-test-matrix systemd[1] Reload failed for nginx.service - A high performance web server and a reverse proxy server.

Anything else that would be useful to know?

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions