diff options
author | Richard van der Hoff <richard@matrix.org> | 2020-05-06 15:56:03 +0100 |
---|---|---|
committer | Richard van der Hoff <richard@matrix.org> | 2020-05-06 15:56:03 +0100 |
commit | 62ee86211965e366dc285a72e3dc3f6d87a76b85 (patch) | |
tree | aa3ae2f0d827cdd182f38e3388b3879c35917139 /synapse/handlers | |
parent | Merge pull request #7428 from matrix-org/rav/cross_signing_keys_cache (diff) | |
parent | Stop Auth methods from polling the config on every req. (#7420) (diff) | |
download | synapse-62ee86211965e366dc285a72e3dc3f6d87a76b85.tar.xz |
Merge branch 'release-v1.13.0' into develop
Diffstat (limited to 'synapse/handlers')
-rw-r--r-- | synapse/handlers/sync.py | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/synapse/handlers/sync.py b/synapse/handlers/sync.py index 4f76b7a743..00718d7f2d 100644 --- a/synapse/handlers/sync.py +++ b/synapse/handlers/sync.py @@ -1143,10 +1143,14 @@ class SyncHandler(object): user_id ) - tracked_users = set(users_who_share_room) - - # Always tell the user about their own devices - tracked_users.add(user_id) + # Always tell the user about their own devices. We check as the user + # ID is almost certainly already included (unless they're not in any + # rooms) and taking a copy of the set is relatively expensive. + if user_id not in users_who_share_room: + users_who_share_room = set(users_who_share_room) + users_who_share_room.add(user_id) + + tracked_users = users_who_share_room # Step 1a, check for changes in devices of users we share a room with users_that_have_changed = await self.store.get_users_whose_devices_changed( |