|
|
@ -489,18 +489,14 @@ Note that client or homeserver implementations are free to automatically
|
|
|
|
accept this invite given they're aware that it's the result of a previous
|
|
|
|
accept this invite given they're aware that it's the result of a previous
|
|
|
|
knock.
|
|
|
|
knock.
|
|
|
|
|
|
|
|
|
|
|
|
### Membership change to `leave`
|
|
|
|
### Membership change to `leave` via rejecting a knock
|
|
|
|
|
|
|
|
|
|
|
|
The knock has been rejected by someone in the room, or the knocking user has
|
|
|
|
The knock has been rejected by someone in the room.
|
|
|
|
rescinded their knock.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
To rescind a knock, the knocking user's client must call [`POST
|
|
|
|
|
|
|
|
/_matrix/client/r0/rooms/{roomId}/leave`](https://matrix.org/docs/spec/client_server/r0.6.1#post-matrix-client-r0-rooms-roomid-leave).
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
To reject a knock, the rejecting user's client must call [`POST
|
|
|
|
To reject a knock, the rejecting user's client must call [`POST
|
|
|
|
/_matrix/client/r0/rooms/{roomId}/kick`](https://matrix.org/docs/spec/client_server/r0.6.1#post-matrix-client-r0-rooms-roomid-kick)
|
|
|
|
/_matrix/client/r0/rooms/{roomId}/kick`](https://matrix.org/docs/spec/client_server/r0.6.1#post-matrix-client-r0-rooms-roomid-kick)
|
|
|
|
with the user ID of the knocking user in the JSON body. Rejecting a knock
|
|
|
|
with the user ID of the knocking user in the JSON body. Rejecting a knock
|
|
|
|
over federation has a slight catch, however.
|
|
|
|
over federation has a slight catch, though.
|
|
|
|
|
|
|
|
|
|
|
|
When the knocking user is on another homeserver, the homeserver of the
|
|
|
|
When the knocking user is on another homeserver, the homeserver of the
|
|
|
|
rejecting user needs to send the `leave` event over federation to the
|
|
|
|
rejecting user needs to send the `leave` event over federation to the
|
|
|
@ -534,6 +530,16 @@ this class of problem in a suitable way. Rejections should still work for the
|
|
|
|
homeservers that are in the room, as they can validate the leave event for
|
|
|
|
homeservers that are in the room, as they can validate the leave event for
|
|
|
|
they have access to the events it references.
|
|
|
|
they have access to the events it references.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
### Membership change to `leave` via rescinding a knock
|
|
|
|
|
|
|
|
The knocking user has rescinded their knock.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
To rescind a knock, the knocking user's client must call [`POST
|
|
|
|
|
|
|
|
/_matrix/client/r0/rooms/{roomId}/leave`](https://matrix.org/docs/spec/client_server/r0.6.1#post-matrix-client-r0-rooms-roomid-leave).
|
|
|
|
|
|
|
|
To rescind a knock over federation, the knocking homeserver must complete
|
|
|
|
|
|
|
|
a [`make_leave`, `send_leave` dance](
|
|
|
|
|
|
|
|
https://matrix.org/docs/spec/server_server/r0.1.4#leaving-rooms-rejecting-invites)
|
|
|
|
|
|
|
|
with a homeserver in the room.
|
|
|
|
|
|
|
|
|
|
|
|
### Membership change to `ban`
|
|
|
|
### Membership change to `ban`
|
|
|
|
|
|
|
|
|
|
|
|
The knock has been rejected by someone in the room and the user has been
|
|
|
|
The knock has been rejected by someone in the room and the user has been
|
|
|
|