From d6d5858b670ab5cdb7604804d01a92ec5a1180cb Mon Sep 17 00:00:00 2001 From: Andrew Morgan Date: Fri, 21 Aug 2020 15:43:33 +0100 Subject: [PATCH] knock->knock and rescinding of knocks are not allowed --- proposals/2403-knock.md | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/proposals/2403-knock.md b/proposals/2403-knock.md index 6bb1aee2..adf05089 100644 --- a/proposals/2403-knock.md +++ b/proposals/2403-knock.md @@ -36,8 +36,8 @@ There are restrictions to being able to set this membership. ### 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 -currently in the room cannot knock on it. +being "leave" can knock on a room. This means that a user that is banned, has +already knocked or is currently in the room cannot knock on it. ### Join Rules 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 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 Two new endpoints are introduced in the Client-Server API (similarly to join): `POST /_matrix/client/r0/rooms/{roomId}/knock` and