diff options
author | Eric Eastwood <erice@element.io> | 2022-05-10 23:39:14 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-05-10 23:39:14 -0500 |
commit | 84facf769eb79112be5f21942c18047b2b85f0bd (patch) | |
tree | 72713cc121fca5c81ad6b763e8727e55d0a444c2 /synapse/handlers/pagination.py | |
parent | Refactor `EventContext` (#12689) (diff) | |
download | synapse-84facf769eb79112be5f21942c18047b2b85f0bd.tar.xz |
Fix `/messages` throwing a 500 when querying for non-existent room (#12683)
Fix https://github.com/matrix-org/synapse/issues/12678 Complement test added: https://github.com/matrix-org/complement/pull/369 **Before:** 500 internal server error **After:** According to the [spec](https://spec.matrix.org/latest/client-server-api/#get_matrixclientv3roomsroomidmessages), calling `/messages` against a non-existent `room_id` should throw a 403 forbidden (since you're not part of the room). This also matches the behavior before https://github.com/matrix-org/synapse/pull/12370 which regressed Synapse to the 500 behavior. ```json { "errcode": "M_FORBIDDEN", "error": "User @test:my.synapse.server not in room !dne:my.synapse.server, and room previews are disabled" } ```
Diffstat (limited to 'synapse/handlers/pagination.py')
-rw-r--r-- | synapse/handlers/pagination.py | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/synapse/handlers/pagination.py b/synapse/handlers/pagination.py index 7ee3340373..2e30180094 100644 --- a/synapse/handlers/pagination.py +++ b/synapse/handlers/pagination.py @@ -448,7 +448,7 @@ class PaginationHandler: ) # We expect `/messages` to use historic pagination tokens by default but # `/messages` should still works with live tokens when manually provided. - assert from_token.room_key.topological + assert from_token.room_key.topological is not None if pagin_config.limit is None: # This shouldn't happen as we've set a default limit before this |