From f24cad16536caa9ae7cdb64977f67c8de1590ad6 Mon Sep 17 00:00:00 2001 From: Richard van der Hoff <1389908+richvdh@users.noreply.github.com> Date: Tue, 2 Aug 2022 23:53:00 +0100 Subject: [PATCH 1/3] Add push rule for `m.room.server_acl` (#1190) * Add push rule for `m.room.server_acl` ... per MSC3786. * Update changelogs/client_server/newsfragments/1190.feature Co-authored-by: Travis Ralston --- .../client_server/newsfragments/1190.feature | 1 + content/client-server-api/modules/push.md | 27 +++++++++++++++++++ 2 files changed, 28 insertions(+) create mode 100644 changelogs/client_server/newsfragments/1190.feature diff --git a/changelogs/client_server/newsfragments/1190.feature b/changelogs/client_server/newsfragments/1190.feature new file mode 100644 index 00000000..ca206eb2 --- /dev/null +++ b/changelogs/client_server/newsfragments/1190.feature @@ -0,0 +1 @@ +Add a `.m.rule.room.server_acl` push rule to match `m.room.server_acl` events, as per [MSC3786](https://github.com/matrix-org/matrix-spec-proposals/pull/3786). diff --git a/content/client-server-api/modules/push.md b/content/client-server-api/modules/push.md index bd7be800..99150d26 100644 --- a/content/client-server-api/modules/push.md +++ b/content/client-server-api/modules/push.md @@ -520,6 +520,33 @@ Definition: } ``` +**`.m.rule.room.server_acl`** + +Suppresses notifications for [`m.room.server_acl`](#mroomserver_acl) events. + +Definition: + +```json +{ + "rule_id": ".m.rule.room.server_acl", + "default": true, + "enabled": true, + "conditions": [ + { + "kind": "event_match", + "key": "type", + "pattern": "m.room.server_acl" + }, + { + "kind": "event_match", + "key": "state_key", + "pattern": "" + } + ], + "actions": [] +} +``` + **`.m.rule.roomnotif`** Matches any message whose content is unencrypted and contains the text From b36d4eff7d7a83ac24e3b6102ca221886cd40474 Mon Sep 17 00:00:00 2001 From: Travis Ralston Date: Tue, 2 Aug 2022 19:20:52 -0400 Subject: [PATCH 2/3] Remove declared-invalid `invite->knock` restriction from auth rules (#1175) * Remove declared-invalid `invite->knock` restriction from auth rules * Changelog * real changelog --- changelogs/room_versions/newsfragments/1175.clarification | 1 + content/rooms/fragments/v8-auth-rules.md | 3 +-- content/rooms/v10.md | 3 +-- content/rooms/v7.md | 3 +-- 4 files changed, 4 insertions(+), 6 deletions(-) create mode 100644 changelogs/room_versions/newsfragments/1175.clarification 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. From 569e139ac5d2f0a80f21c58ab456410a2aa993b2 Mon Sep 17 00:00:00 2001 From: Travis Ralston Date: Tue, 2 Aug 2022 21:48:35 -0400 Subject: [PATCH 3/3] Add an "internal changes" changelog section (#1194) * Add an "internal changes" changelog section * update changelog number --- changelogs/internal/newsfragments/.gitignore | 0 changelogs/internal/newsfragments/1194.feature | 1 + layouts/shortcodes/changelog/changelog-changes.html | 1 + scripts/generate-changelog.sh | 1 + 4 files changed, 3 insertions(+) create mode 100644 changelogs/internal/newsfragments/.gitignore create mode 100644 changelogs/internal/newsfragments/1194.feature diff --git a/changelogs/internal/newsfragments/.gitignore b/changelogs/internal/newsfragments/.gitignore new file mode 100644 index 00000000..e69de29b diff --git a/changelogs/internal/newsfragments/1194.feature b/changelogs/internal/newsfragments/1194.feature new file mode 100644 index 00000000..23f23618 --- /dev/null +++ b/changelogs/internal/newsfragments/1194.feature @@ -0,0 +1 @@ +Add internal changes changelog section. \ No newline at end of file diff --git a/layouts/shortcodes/changelog/changelog-changes.html b/layouts/shortcodes/changelog/changelog-changes.html index d1d13ba1..99efce08 100644 --- a/layouts/shortcodes/changelog/changelog-changes.html +++ b/layouts/shortcodes/changelog/changelog-changes.html @@ -38,6 +38,7 @@ {{ partial "render-api-changes" (dict "title" "Push Gateway API" "id" "push-gateway-api" "path" (path.Join $path "push_gateway")) }} {{ partial "render-api-changes" (dict "title" "Room Versions" "id" "room-versions" "path" (path.Join $path "room_versions")) }} {{ partial "render-api-changes" (dict "title" "Appendices" "id" "appendices" "path" (path.Join $path "appendices")) }} +{{ partial "render-api-changes" (dict "title" "Internal Changes/Tooling" "id" "internal" "path" (path.Join $path "internal")) }} {{ define "partials/render-api-changes" }}

{{ .title }}

diff --git a/scripts/generate-changelog.sh b/scripts/generate-changelog.sh index 1d82e5db..f66e5358 100644 --- a/scripts/generate-changelog.sh +++ b/scripts/generate-changelog.sh @@ -12,6 +12,7 @@ cd changelogs rm -f rendered.* # Reversed order so that room versions ends up on the bottom +towncrier --name "Internal Changes/Tooling" --dir "./internal" --config "./pyproject.toml" --yes towncrier --name "Appendices" --dir "./appendices" --config "./pyproject.toml" --yes towncrier --name "Room Versions" --dir "./room_versions" --config "./pyproject.toml" --yes towncrier --name "Push Gateway API" --dir "./push_gateway" --config "./pyproject.toml" --yes