Compare commits

...

1 Commits

Author SHA1 Message Date
Andrew Morgan
b4586469f9 Add a new push rule knob 2025-08-28 09:41:10 +01:00
4 changed files with 21 additions and 0 deletions

View File

@@ -62,6 +62,7 @@ fn bench_match_exact(b: &mut Bencher) {
false,
false,
false,
false,
)
.unwrap();
@@ -109,6 +110,7 @@ fn bench_match_word(b: &mut Bencher) {
false,
false,
false,
false,
)
.unwrap();
@@ -156,6 +158,7 @@ fn bench_match_word_miss(b: &mut Bencher) {
false,
false,
false,
false,
)
.unwrap();
@@ -203,6 +206,7 @@ fn bench_eval_message(b: &mut Bencher) {
false,
false,
false,
false,
)
.unwrap();
@@ -215,6 +219,7 @@ fn bench_eval_message(b: &mut Bencher) {
false,
false,
false,
false,
);
b.iter(|| eval.run(&rules, Some("bob"), Some("person"), None));

View File

@@ -111,6 +111,8 @@ pub struct PushRuleEvaluator {
/// If MSC4306 (thread subscriptions) is enabled.
msc4306_enabled: bool,
xxx_enabled: bool,
}
#[pymethods]
@@ -130,6 +132,7 @@ impl PushRuleEvaluator {
msc3931_enabled,
msc4210_enabled,
msc4306_enabled,
xxx_enabled,
))]
pub fn py_new(
flattened_keys: BTreeMap<String, JsonValue>,
@@ -143,6 +146,7 @@ impl PushRuleEvaluator {
msc3931_enabled: bool,
msc4210_enabled: bool,
msc4306_enabled: bool,
xxx_enabled: bool,
) -> Result<Self, Error> {
let body = match flattened_keys.get("content.body") {
Some(JsonValue::Value(SimpleJsonValue::Str(s))) => s.clone().into_owned(),
@@ -162,6 +166,7 @@ impl PushRuleEvaluator {
msc3931_enabled,
msc4210_enabled,
msc4306_enabled,
xxx_enabled,
})
}
@@ -569,6 +574,7 @@ fn push_rule_evaluator() {
true,
false,
false,
false,
)
.unwrap();
@@ -600,6 +606,7 @@ fn test_requires_room_version_supports_condition() {
true,
false,
false,
false,
)
.unwrap();
@@ -637,6 +644,7 @@ fn test_requires_room_version_supports_condition() {
false,
false,
false,
false,
),
None,
None,

View File

@@ -552,6 +552,7 @@ pub struct FilteredPushRules {
msc4028_push_encrypted_events: bool,
msc4210_enabled: bool,
msc4306_enabled: bool,
xxx_enabled: bool,
}
#[pymethods]
@@ -567,6 +568,7 @@ impl FilteredPushRules {
msc4028_push_encrypted_events: bool,
msc4210_enabled: bool,
msc4306_enabled: bool,
xxx_enabled: bool,
) -> Self {
Self {
push_rules,
@@ -577,6 +579,7 @@ impl FilteredPushRules {
msc4028_push_encrypted_events,
msc4210_enabled,
msc4306_enabled,
xxx_enabled,
}
}
@@ -631,6 +634,10 @@ impl FilteredPushRules {
return false;
}
if self.xxx_enabled {
return true;
}
true
})
.map(|r| {

View File

@@ -479,6 +479,7 @@ class BulkPushRuleEvaluator:
self.hs.config.experimental.msc1767_enabled, # MSC3931 flag
self.hs.config.experimental.msc4210_enabled,
self.hs.config.experimental.msc4306_enabled,
False,
)
msc4306_thread_subscribers: Optional[FrozenSet[str]] = None