knock->knock and rescinding of knocks are not allowed

pull/977/head
Andrew Morgan 5 years ago
parent 716db4e656
commit d6d5858b67

@ -36,8 +36,8 @@ There are restrictions to being able to set this membership.
### Current membership ### Current membership
Only users without a current membership or with their current membership Only users without a current membership or with their current membership
being "leave" can knock on a room. This means that a user that is banned or being "leave" can knock on a room. This means that a user that is banned, has
currently in the room cannot knock on it. already knocked or is currently in the room cannot knock on it.
### Join Rules ### Join Rules
The `join_rule` of `m.room.join_rules` must be set to "invite" for a knock to The `join_rule` of `m.room.join_rules` must be set to "invite" for a knock to
@ -74,6 +74,14 @@ that user can be transitioned to the following possible states:
- `ban`: In this case, the knock was rejected and the user has been prevented - `ban`: In this case, the knock was rejected and the user has been prevented
from sending further knocks. from sending further knocks.
Users are not allowed to change their membership once set to `knock`, in
order to prevent users from being able to knock multiple times and spam a
room.
XXX: So if you knock on a room that's then abandoned that's in your `/sync`
forever? Clients should have a way to tell their server to hide and show
knocks.
## Client-Server API ## Client-Server API
Two new endpoints are introduced in the Client-Server API (similarly to Two new endpoints are introduced in the Client-Server API (similarly to
join): `POST /_matrix/client/r0/rooms/{roomId}/knock` and join): `POST /_matrix/client/r0/rooms/{roomId}/knock` and

Loading…
Cancel
Save