This repository has been archived by the owner on Apr 26, 2024. It is now read-only.
The error responses from /leave do not conform to the spec. #13360
Labels
A-Leave
Leaving a room
A-Spec-Compliance
places where synapse does not conform to the spec
S-Minor
Blocks non-critical functionality, workarounds exist.
T-Defect
Bugs, crashes, hangs, security vulnerabilities, or other reported issues.
Description
The spec (https://spec.matrix.org/v1.3/client-server-api/#post_matrixclientv3roomsroomidleave) only allows two possible responses from a call to /leave. A 200 if the room was left, or 429 if the request was rate limited.
However, Synapse will return different responses depending on your, and your homeservers state in the room:
The spec is unfortunately doesn't define the behaviour for trying to leave a room when you were never part of it, but my feeling is that it should no-op in a similar fashion to reinviting users, or rejoining a room also no-op.
Steps to reproduce
For case 1:
/leave
a random roomID that you totally made up.For case 2:
For case 3:
Homeserver
half-shot.uk
Synapse Version
1.60.0
Installation Method
pip (from PyPI)
Platform
Probably not relevant
Relevant log output
Anything else that would be useful to know?
No response
The text was updated successfully, but these errors were encountered: