forked from MirrorHub/synapse
Just add own user ID to the list we track device changes for
This commit is contained in:
parent
16ee97988a
commit
9fc588e6dc
2 changed files with 11 additions and 7 deletions
|
@ -122,7 +122,9 @@ class DeviceWorkerHandler(BaseHandler):
|
||||||
|
|
||||||
# First we check if any devices have changed for users that we share
|
# First we check if any devices have changed for users that we share
|
||||||
# rooms with.
|
# 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
|
# always tell the user about their own devices
|
||||||
tracked_users.add(user_id)
|
tracked_users.add(user_id)
|
||||||
|
|
||||||
|
@ -217,8 +219,8 @@ class DeviceWorkerHandler(BaseHandler):
|
||||||
if possibly_changed or possibly_left:
|
if possibly_changed or possibly_left:
|
||||||
# Take the intersection of the users whose devices may have changed
|
# Take the intersection of the users whose devices may have changed
|
||||||
# and those that actually still share a room with the user
|
# and those that actually still share a room with the user
|
||||||
possibly_joined = possibly_changed & tracked_users
|
possibly_joined = possibly_changed & users_who_share_room
|
||||||
possibly_left = (possibly_changed | possibly_left) - tracked_users
|
possibly_left = (possibly_changed | possibly_left) - users_who_share_room
|
||||||
else:
|
else:
|
||||||
possibly_joined = []
|
possibly_joined = []
|
||||||
possibly_left = []
|
possibly_left = []
|
||||||
|
|
|
@ -1139,14 +1139,16 @@ class SyncHandler(object):
|
||||||
# room with by looking at all users that have left a room plus users
|
# room with by looking at all users that have left a room plus users
|
||||||
# that were in a room we've left.
|
# 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
|
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
|
# 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(
|
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
|
# Step 1b, check for newly joined rooms
|
||||||
|
@ -1169,7 +1171,7 @@ class SyncHandler(object):
|
||||||
newly_left_users.update(left_users)
|
newly_left_users.update(left_users)
|
||||||
|
|
||||||
# Remove any users that we still share a room with.
|
# 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)
|
return DeviceLists(changed=users_that_have_changed, left=newly_left_users)
|
||||||
else:
|
else:
|
||||||
|
|
Loading…
Reference in a new issue