Browse Source

Disable pushing for server ACL events (MSC3786). (#13997)

Switches to the stable identifier for MSC3786 and enables it
by default.

This disables pushes of m.room.server_acl events.
tags/v1.70.0rc1
Patrick Cloke 1 year ago
committed by GitHub
parent
commit
e70c6b720e
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 5 additions and 25 deletions
  1. +1
    -0
      changelog.d/13997.feature
  2. +1
    -1
      rust/src/push/base_rules.rs
  3. +0
    -9
      rust/src/push/mod.rs
  4. +1
    -5
      stubs/synapse/synapse_rust/push.pyi
  5. +0
    -3
      synapse/config/experimental.py
  6. +2
    -7
      synapse/storage/databases/main/push_rule.py

+ 1
- 0
changelog.d/13997.feature View File

@@ -0,0 +1 @@
Ignore server ACL changes when generating pushes. Implement [MSC3786](https://github.com/matrix-org/matrix-spec-proposals/pull/3786).

+ 1
- 1
rust/src/push/base_rules.rs View File

@@ -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 {


+ 0
- 9
rust/src/push/mod.rs View File

@@ -401,7 +401,6 @@ impl PushRules {
pub struct FilteredPushRules {
push_rules: PushRules,
enabled_map: BTreeMap<String, bool>,
msc3786_enabled: bool,
msc3772_enabled: bool,
}

@@ -411,13 +410,11 @@ impl FilteredPushRules {
pub fn py_new(
push_rules: PushRules,
enabled_map: BTreeMap<String, bool>,
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"
{


+ 1
- 5
stubs/synapse/synapse_rust/push.pyi View File

@@ -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]]: ...



+ 0
- 3
synapse/config/experimental.py View File

@@ -95,9 +95,6 @@ class ExperimentalConfig(Config):
# 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.


+ 2
- 7
synapse/storage/databases/main/push_rule.py View File

@@ -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


Loading…
Cancel
Save