From b4ae3b0d445a5e294d4d3278b62b2add75840424 Mon Sep 17 00:00:00 2001 From: Erik Johnston Date: Wed, 20 Jul 2022 12:06:13 +0100 Subject: Don't include appservice users when calculating push rules (#13332) This can cause a lot of extra load on servers with lots of appservice users. Introduced in #13078 --- synapse/push/bulk_push_rule_evaluator.py | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'synapse/push') diff --git a/synapse/push/bulk_push_rule_evaluator.py b/synapse/push/bulk_push_rule_evaluator.py index e581af9a9a..713dcf6950 100644 --- a/synapse/push/bulk_push_rule_evaluator.py +++ b/synapse/push/bulk_push_rule_evaluator.py @@ -131,6 +131,13 @@ class BulkPushRuleEvaluator: local_users = await self.store.get_local_users_in_room(event.room_id) + # Filter out appservice users. + local_users = [ + u + for u in local_users + if not self.store.get_if_app_services_interested_in_user(u) + ] + # if this event is an invite event, we may need to run rules for the user # who's been invited, otherwise they won't get told they've been invited if event.type == EventTypes.Member and event.membership == Membership.INVITE: -- cgit 1.5.1