diff options
author | Will Hunt <will@half-shot.uk> | 2022-12-01 13:46:24 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-12-01 13:46:24 +0000 |
commit | 71f3e53ad010ba8c219f1076d40915b985760ed9 (patch) | |
tree | f3ffe567b1cf39e9897e870970797f695de436a1 /synapse | |
parent | Merge branch 'release-v1.73' into develop (diff) | |
download | synapse-71f3e53ad010ba8c219f1076d40915b985760ed9.tar.xz |
Add `push.enabled` option to disable push notification calculation (#14551)
* Add initial option * changelog * Some more linting
Diffstat (limited to 'synapse')
-rw-r--r-- | synapse/config/push.py | 1 | ||||
-rw-r--r-- | synapse/push/bulk_push_rule_evaluator.py | 3 |
2 files changed, 4 insertions, 0 deletions
diff --git a/synapse/config/push.py b/synapse/config/push.py index 979b128eae..3b5378e6ea 100644 --- a/synapse/config/push.py +++ b/synapse/config/push.py @@ -26,6 +26,7 @@ class PushConfig(Config): def read_config(self, config: JsonDict, **kwargs: Any) -> None: push_config = config.get("push") or {} self.push_include_content = push_config.get("include_content", True) + self.enable_push = push_config.get("enabled", True) self.push_group_unread_count_by_room = push_config.get( "group_unread_count_by_room", True ) diff --git a/synapse/push/bulk_push_rule_evaluator.py b/synapse/push/bulk_push_rule_evaluator.py index d6b377860f..9ed35d8461 100644 --- a/synapse/push/bulk_push_rule_evaluator.py +++ b/synapse/push/bulk_push_rule_evaluator.py @@ -106,6 +106,7 @@ class BulkPushRuleEvaluator: self.store = hs.get_datastores().main self.clock = hs.get_clock() self._event_auth_handler = hs.get_event_auth_handler() + self.should_calculate_push_rules = self.hs.config.push.enable_push self._related_event_match_enabled = self.hs.config.experimental.msc3664_enabled @@ -269,6 +270,8 @@ class BulkPushRuleEvaluator: for each event, check if the message should increment the unread count, and insert the results into the event_push_actions_staging table. """ + if not self.should_calculate_push_rules: + return # For batched events the power level events may not have been persisted yet, # so we pass in the batched events. Thus if the event cannot be found in the # database we can check in the batch. |