diff options
author | Erik Johnston <erik@matrix.org> | 2022-07-20 12:06:13 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-07-20 12:06:13 +0100 |
commit | b4ae3b0d445a5e294d4d3278b62b2add75840424 (patch) | |
tree | 9f70a4afe6859b109e8cab5f02621f13e5876d25 /synapse/push | |
parent | Improve precision on validation improvements (diff) | |
download | synapse-b4ae3b0d445a5e294d4d3278b62b2add75840424.tar.xz |
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
Diffstat (limited to 'synapse/push')
-rw-r--r-- | synapse/push/bulk_push_rule_evaluator.py | 7 |
1 files changed, 7 insertions, 0 deletions
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: |