diff options
author | Erik Johnston <erik@matrix.org> | 2022-04-14 13:05:31 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-04-14 13:05:31 +0100 |
commit | 0b014eb25e8c0766d2552fae2ba366492dc16d4d (patch) | |
tree | 7bbad81d50705f6e87205feb0d412e1354dc1843 /synapse | |
parent | Reintroduce the lint targets in the linter script (#12455) (diff) | |
download | synapse-0b014eb25e8c0766d2552fae2ba366492dc16d4d.tar.xz |
Only send out device list updates for our own users (#12465)
Broke in #12365
Diffstat (limited to 'synapse')
-rw-r--r-- | synapse/handlers/device.py | 10 | ||||
-rw-r--r-- | synapse/storage/databases/main/devices.py | 4 |
2 files changed, 10 insertions, 4 deletions
diff --git a/synapse/handlers/device.py b/synapse/handlers/device.py index 958599e7b8..3c0fc756d4 100644 --- a/synapse/handlers/device.py +++ b/synapse/handlers/device.py @@ -649,9 +649,13 @@ class DeviceHandler(DeviceWorkerHandler): return for user_id, device_id, room_id, stream_id, opentracing_context in rows: - joined_user_ids = await self.store.get_users_in_room(room_id) - hosts = {get_domain_from_id(u) for u in joined_user_ids} - hosts.discard(self.server_name) + hosts = set() + + # Ignore any users that aren't ours + if self.hs.is_mine_id(user_id): + joined_user_ids = await self.store.get_users_in_room(room_id) + hosts = {get_domain_from_id(u) for u in joined_user_ids} + hosts.discard(self.server_name) # Check if we've already sent this update to some hosts if current_stream_id == stream_id: diff --git a/synapse/storage/databases/main/devices.py b/synapse/storage/databases/main/devices.py index 74e4e2122a..318e4df376 100644 --- a/synapse/storage/databases/main/devices.py +++ b/synapse/storage/databases/main/devices.py @@ -1703,7 +1703,9 @@ class DeviceStore(DeviceWorkerStore, DeviceBackgroundUpdateStore): next(stream_id_iterator), user_id, device_id, - False, + not self.hs.is_mine_id( + user_id + ), # We only need to send out update for *our* users now, encoded_context if whitelisted_homeserver(destination) else "{}", ) |