From 5da325fba66ea32fff36e825554bb5eca1a40af0 Mon Sep 17 00:00:00 2001 From: Patrick Cloke Date: Fri, 30 Sep 2022 13:21:32 -0400 Subject: [PATCH 1/4] Use the stable prefix for MSC3786. --- rust/src/push/base_rules.rs | 2 +- rust/src/push/mod.rs | 9 --------- synapse/config/experimental.py | 3 --- synapse/storage/databases/main/push_rule.py | 9 ++------- 4 files changed, 3 insertions(+), 20 deletions(-) diff --git a/rust/src/push/base_rules.rs b/rust/src/push/base_rules.rs index bb59676bdea9..2a09cf99ae13 100644 --- a/rust/src/push/base_rules.rs +++ b/rust/src/push/base_rules.rs @@ -173,7 +173,7 @@ pub const BASE_APPEND_OVERRIDE_RULES: &[PushRule] = &[ default_enabled: true, }, PushRule { - rule_id: Cow::Borrowed("global/override/.org.matrix.msc3786.rule.room.server_acl"), + rule_id: Cow::Borrowed("global/override/.m.rule.room.server_acl"), priority_class: 5, conditions: Cow::Borrowed(&[ Condition::Known(KnownCondition::EventMatch(EventMatchCondition { diff --git a/rust/src/push/mod.rs b/rust/src/push/mod.rs index 30fffc31adba..208b9c0d738e 100644 --- a/rust/src/push/mod.rs +++ b/rust/src/push/mod.rs @@ -401,7 +401,6 @@ impl PushRules { pub struct FilteredPushRules { push_rules: PushRules, enabled_map: BTreeMap, - msc3786_enabled: bool, msc3772_enabled: bool, } @@ -411,13 +410,11 @@ impl FilteredPushRules { pub fn py_new( push_rules: PushRules, enabled_map: BTreeMap, - msc3786_enabled: bool, msc3772_enabled: bool, ) -> Self { Self { push_rules, enabled_map, - msc3786_enabled, msc3772_enabled, } } @@ -437,12 +434,6 @@ impl FilteredPushRules { .iter() .filter(|rule| { // Ignore disabled experimental push rules - if !self.msc3786_enabled - && rule.rule_id == "global/override/.org.matrix.msc3786.rule.room.server_acl" - { - return false; - } - if !self.msc3772_enabled && rule.rule_id == "global/underride/.org.matrix.msc3772.thread_reply" { diff --git a/synapse/config/experimental.py b/synapse/config/experimental.py index 31834fb27dc4..83695f24d9fb 100644 --- a/synapse/config/experimental.py +++ b/synapse/config/experimental.py @@ -95,9 +95,6 @@ def read_config(self, config: JsonDict, **kwargs: Any) -> None: # MSC2815 (allow room moderators to view redacted event content) self.msc2815_enabled: bool = experimental.get("msc2815_enabled", False) - # MSC3786 (Add a default push rule to ignore m.room.server_acl events) - self.msc3786_enabled: bool = experimental.get("msc3786_enabled", False) - # MSC3771: Thread read receipts self.msc3771_enabled: bool = experimental.get("msc3771_enabled", False) # MSC3772: A push rule for mutual relations. diff --git a/synapse/storage/databases/main/push_rule.py b/synapse/storage/databases/main/push_rule.py index ed17b2e70c04..8295322b0e19 100644 --- a/synapse/storage/databases/main/push_rule.py +++ b/synapse/storage/databases/main/push_rule.py @@ -81,15 +81,10 @@ def _load_rules( for rawrule in rawrules ] - push_rules = PushRules( - ruleslist, - ) + push_rules = PushRules(ruleslist) filtered_rules = FilteredPushRules( - push_rules, - enabled_map, - msc3786_enabled=experimental_config.msc3786_enabled, - msc3772_enabled=experimental_config.msc3772_enabled, + push_rules, enabled_map, msc3772_enabled=experimental_config.msc3772_enabled ) return filtered_rules From ff390e86fb862c8cfff63ca6f40c89e033bcd205 Mon Sep 17 00:00:00 2001 From: Patrick Cloke Date: Fri, 30 Sep 2022 13:23:17 -0400 Subject: [PATCH 2/4] Newsfragment --- changelog.d/13997.feature | 1 + 1 file changed, 1 insertion(+) create mode 100644 changelog.d/13997.feature diff --git a/changelog.d/13997.feature b/changelog.d/13997.feature new file mode 100644 index 000000000000..23f7ed106fc9 --- /dev/null +++ b/changelog.d/13997.feature @@ -0,0 +1 @@ +Ignore server ACL changes when generating pushes. Implement [MSC3786](https://github.com/matrix-org/matrix-spec-proposals/pull/3786). From 9e2b4e696946aef67774354441c5c8c9dddb661c Mon Sep 17 00:00:00 2001 From: Patrick Cloke Date: Fri, 30 Sep 2022 13:49:58 -0400 Subject: [PATCH 3/4] Fix stubs. --- stubs/synapse/synapse_rust/push.pyi | 6 +----- tests/rest/client/test_rooms.py | 3 ++- 2 files changed, 3 insertions(+), 6 deletions(-) diff --git a/stubs/synapse/synapse_rust/push.pyi b/stubs/synapse/synapse_rust/push.pyi index fffb8419c63d..5900e61450b1 100644 --- a/stubs/synapse/synapse_rust/push.pyi +++ b/stubs/synapse/synapse_rust/push.pyi @@ -26,11 +26,7 @@ class PushRules: class FilteredPushRules: def __init__( - self, - push_rules: PushRules, - enabled_map: Dict[str, bool], - msc3786_enabled: bool, - msc3772_enabled: bool, + self, push_rules: PushRules, enabled_map: Dict[str, bool], msc3772_enabled: bool ): ... def rules(self) -> Collection[Tuple[PushRule, bool]]: ... diff --git a/tests/rest/client/test_rooms.py b/tests/rest/client/test_rooms.py index 7f8cf4fab068..e5ceda18ff13 100644 --- a/tests/rest/client/test_rooms.py +++ b/tests/rest/client/test_rooms.py @@ -1249,7 +1249,8 @@ async def user_may_join_room( expect_errcode=return_value[0], tok=self.tok2, expect_additional_fields=return_value[1], - ) + )ub + class RoomJoinRatelimitTestCase(RoomBase): From c13b3ca09242206677475d5ff233646bdfd7e6e1 Mon Sep 17 00:00:00 2001 From: Patrick Cloke Date: Fri, 30 Sep 2022 14:16:17 -0400 Subject: [PATCH 4/4] Fix bad syntax. --- tests/rest/client/test_rooms.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/tests/rest/client/test_rooms.py b/tests/rest/client/test_rooms.py index e5ceda18ff13..7f8cf4fab068 100644 --- a/tests/rest/client/test_rooms.py +++ b/tests/rest/client/test_rooms.py @@ -1249,8 +1249,7 @@ async def user_may_join_room( expect_errcode=return_value[0], tok=self.tok2, expect_additional_fields=return_value[1], - )ub - + ) class RoomJoinRatelimitTestCase(RoomBase):