diff --git a/rust/src/push/base_rules.rs b/rust/src/push/base_rules.rs
index d7c73c1f25..51372e1553 100644
--- a/rust/src/push/base_rules.rs
+++ b/rust/src/push/base_rules.rs
@@ -57,7 +57,7 @@ pub const BASE_PREPEND_OVERRIDE_RULES: &[PushRule] = &[PushRule {
rule_id: Cow::Borrowed("global/override/.m.rule.master"),
priority_class: 5,
conditions: Cow::Borrowed(&[]),
- actions: Cow::Borrowed(&[Action::DontNotify]),
+ actions: Cow::Borrowed(&[]),
default: true,
default_enabled: false,
}];
@@ -88,7 +88,7 @@ pub const BASE_APPEND_OVERRIDE_RULES: &[PushRule] = &[
pattern: Cow::Borrowed("m.notice"),
},
))]),
- actions: Cow::Borrowed(&[Action::DontNotify]),
+ actions: Cow::Borrowed(&[]),
default: true,
default_enabled: true,
},
@@ -122,7 +122,7 @@ pub const BASE_APPEND_OVERRIDE_RULES: &[PushRule] = &[
pattern: Cow::Borrowed("m.room.member"),
},
))]),
- actions: Cow::Borrowed(&[Action::DontNotify]),
+ actions: Cow::Borrowed(&[]),
default: true,
default_enabled: true,
},
diff --git a/rust/src/push/evaluator.rs b/rust/src/push/evaluator.rs
index 6941c61ea4..2d7c4c06be 100644
--- a/rust/src/push/evaluator.rs
+++ b/rust/src/push/evaluator.rs
@@ -140,7 +140,7 @@ impl PushRuleEvaluator {
/// name.
///
/// Returns the set of actions, if any, that match (filtering out any
- /// `dont_notify` actions).
+ /// `dont_notify` and `coalesce` actions).
pub fn run(
&self,
push_rules: &FilteredPushRules,
@@ -198,8 +198,9 @@ impl PushRuleEvaluator {
let actions = push_rule
.actions
.iter()
- // Filter out "dont_notify" actions, as we don't store them.
- .filter(|a| **a != Action::DontNotify)
+ // Filter out "dont_notify" and "coalesce" actions, as we don't store them
+ // (since they result in no action by the pushers).
+ .filter(|a| **a != Action::DontNotify && **a != Action::Coalesce)
.cloned()
.collect();
diff --git a/rust/src/push/mod.rs b/rust/src/push/mod.rs
index 42c7c84132..f19d3c739f 100644
--- a/rust/src/push/mod.rs
+++ b/rust/src/push/mod.rs
@@ -164,11 +164,13 @@ impl PushRule {
/// The "action" Synapse should perform for a matching push rule.
#[derive(Debug, Clone, PartialEq, Eq)]
pub enum Action {
- DontNotify,
Notify,
- Coalesce,
SetTweak(SetTweak),
+ // Legacy actions that should be understood, but are equivalent to no-ops.
+ DontNotify,
+ Coalesce,
+
// An unrecognized custom action.
Unknown(Value),
}
|