|
|
@ -54,7 +54,7 @@ rules from room version 5 are:
|
|
|
|
a. If `membership` is `knock`:
|
|
|
|
a. If `membership` is `knock`:
|
|
|
|
i. If the `join_rule` is anything other than `knock`, reject.
|
|
|
|
i. If the `join_rule` is anything other than `knock`, reject.
|
|
|
|
ii. If `sender` does not match `state_key`, reject.
|
|
|
|
ii. If `sender` does not match `state_key`, reject.
|
|
|
|
iii. If the `sender`'s membership is not `ban`, `knock` or `join`, allow.
|
|
|
|
iii. If the `sender`'s membership is not `ban`, `knock`, `invite` or `join`, allow.
|
|
|
|
iv. Otherwise, reject.
|
|
|
|
iv. Otherwise, reject.
|
|
|
|
```
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
@ -67,7 +67,8 @@ rules from room version 5 are:
|
|
|
|
- a.ii is justified as one user should not be able to knock on behalf of
|
|
|
|
- a.ii is justified as one user should not be able to knock on behalf of
|
|
|
|
another user.
|
|
|
|
another user.
|
|
|
|
- a.iii is justified as knocks should not be allowed if the knocking user
|
|
|
|
- a.iii is justified as knocks should not be allowed if the knocking user
|
|
|
|
has been banned from the room, or if they are already in the room.
|
|
|
|
has been banned from the room, has already knocked on the room, is
|
|
|
|
|
|
|
|
invited to the room or if they are already in the room.
|
|
|
|
- Knocks are not restricted by power level like invites are. The `join_rules`
|
|
|
|
- Knocks are not restricted by power level like invites are. The `join_rules`
|
|
|
|
are already used to enforce whether someone can or cannot knock.
|
|
|
|
are already used to enforce whether someone can or cannot knock.
|
|
|
|
|
|
|
|
|
|
|
|