diff --git a/changelogs/room_versions/newsfragments/1175.clarification b/changelogs/room_versions/newsfragments/1175.clarification new file mode 100644 index 00000000..b7cda453 --- /dev/null +++ b/changelogs/room_versions/newsfragments/1175.clarification @@ -0,0 +1 @@ +For room versions 7 through 10: Clarify that `invite->knock` is actually a legal transition. \ No newline at end of file diff --git a/content/rooms/fragments/v8-auth-rules.md b/content/rooms/fragments/v8-auth-rules.md index ac067884..f1e0532e 100644 --- a/content/rooms/fragments/v8-auth-rules.md +++ b/content/rooms/fragments/v8-auth-rules.md @@ -118,8 +118,7 @@ The rules are as follows: 7. If `membership` is `knock`: 1. If the `join_rule` is anything other than `knock`, reject. 2. If `sender` does not match `state_key`, reject. - 3. If the `sender`'s current membership is not `ban`, `invite`, - or `join`, allow. + 3. If the `sender`'s current membership is not `ban` or `join`, allow. 4. Otherwise, reject. 8. Otherwise, the membership is unknown. Reject. 5. If the `sender`'s current membership state is not `join`, reject. diff --git a/content/rooms/v10.md b/content/rooms/v10.md index b4c20653..d5d294e9 100644 --- a/content/rooms/v10.md +++ b/content/rooms/v10.md @@ -193,8 +193,7 @@ The rules are as follows: If the `join_rule` is anything other than `knock` or `knock_restricted`, reject. 2. If `sender` does not match `state_key`, reject. - 3. If the `sender`'s current membership is not `ban`, `invite`, - or `join`, allow. + 3. If the `sender`'s current membership is not `ban` or `join`, allow. 4. Otherwise, reject. 8. Otherwise, the membership is unknown. Reject. 5. If the `sender`'s current membership state is not `join`, reject. diff --git a/content/rooms/v7.md b/content/rooms/v7.md index 5960c198..8bb4dad2 100644 --- a/content/rooms/v7.md +++ b/content/rooms/v7.md @@ -135,8 +135,7 @@ The rules are as follows: 6. If `membership` is `knock`: 1. If the `join_rule` is anything other than `knock`, reject. 2. If `sender` does not match `state_key`, reject. - 3. If the `sender`'s current membership is not `ban`, `invite`, - or `join`, allow. + 3. If the `sender`'s current membership is not `ban` or `join`, allow. 4. Otherwise, reject. 7. Otherwise, the membership is unknown. Reject. 5. If the `sender`'s current membership state is not `join`, reject.