summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--synapse/handlers/device.py8
-rw-r--r--synapse/handlers/sync.py10
2 files changed, 11 insertions, 7 deletions
diff --git a/synapse/handlers/device.py b/synapse/handlers/device.py
index 07ce553995..51bfad01c8 100644
--- a/synapse/handlers/device.py
+++ b/synapse/handlers/device.py
@@ -122,7 +122,9 @@ class DeviceWorkerHandler(BaseHandler):
 
         # First we check if any devices have changed for users that we share
         # rooms with.
-        tracked_users = yield self.store.get_users_who_share_room_with_user(user_id)
+        users_who_share_room = yield self.store.get_users_who_share_room_with_user(user_id)
+
+        tracked_users = set(users_who_share_room)
         # always tell the user about their own devices
         tracked_users.add(user_id)
 
@@ -217,8 +219,8 @@ class DeviceWorkerHandler(BaseHandler):
         if possibly_changed or possibly_left:
             # Take the intersection of the users whose devices may have changed
             # and those that actually still share a room with the user
-            possibly_joined = possibly_changed & tracked_users
-            possibly_left = (possibly_changed | possibly_left) - tracked_users
+            possibly_joined = possibly_changed & users_who_share_room
+            possibly_left = (possibly_changed | possibly_left) - users_who_share_room
         else:
             possibly_joined = []
             possibly_left = []
diff --git a/synapse/handlers/sync.py b/synapse/handlers/sync.py
index fd68a31b09..725f41c4d9 100644
--- a/synapse/handlers/sync.py
+++ b/synapse/handlers/sync.py
@@ -1139,14 +1139,16 @@ class SyncHandler(object):
             # room with by looking at all users that have left a room plus users
             # that were in a room we've left.
 
-            users_we_track = await self.store.get_users_who_share_room_with_user(
+            users_who_share_room = await self.store.get_users_who_share_room_with_user(
                 user_id
             )
-            users_we_track.add(user_id)
+
+            tracked_users = set(users_who_share_room)
+            tracked_users.add(user_id)
 
             # 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(
-                since_token.device_list_key, users_we_track
+                since_token.device_list_key, tracked_users
             )
 
             # Step 1b, check for newly joined rooms
@@ -1169,7 +1171,7 @@ class SyncHandler(object):
                 newly_left_users.update(left_users)
 
             # Remove any users that we still share a room with.
-            newly_left_users -= users_we_track
+            newly_left_users -= users_who_share_room
 
             return DeviceLists(changed=users_that_have_changed, left=newly_left_users)
         else: