Mark remote device list updates as already handled (#12557)

This commit is contained in:
Erik Johnston 2022-04-26 17:07:21 +01:00 committed by GitHub
parent 6d89f1239c
commit f59e3f4c90
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 7 additions and 4 deletions

1
changelog.d/12557.misc Normal file
View File

@ -0,0 +1 @@
Reduce unnecessary work when handling remote device list updates.

View File

@ -505,8 +505,9 @@ class DeviceHandler(DeviceWorkerHandler):
"device_list_key", position, users={user_id}, rooms=room_ids "device_list_key", position, users={user_id}, rooms=room_ids
) )
# We may need to do some processing asynchronously. # We may need to do some processing asynchronously for local user IDs.
self._handle_new_device_update_async() if self.hs.is_mine_id(user_id):
self._handle_new_device_update_async()
async def notify_user_signature_update( async def notify_user_signature_update(
self, from_user_id: str, user_ids: List[str] self, from_user_id: str, user_ids: List[str]

View File

@ -1748,7 +1748,8 @@ class DeviceStore(DeviceWorkerStore, DeviceBackgroundUpdateStore):
device_id, device_id,
room_id, room_id,
stream_id, stream_id,
False, # We only need to calculate outbound pokes for local users
not self.hs.is_mine_id(user_id),
encoded_context, encoded_context,
) )
for room_id in room_ids for room_id in room_ids

View File

@ -29,7 +29,7 @@ class DeviceStoreTestCase(HomeserverTestCase):
for device_id in device_ids: for device_id in device_ids:
stream_id = self.get_success( stream_id = self.get_success(
self.store.add_device_change_to_streams( self.store.add_device_change_to_streams(
"user_id", [device_id], ["!some:room"] user_id, [device_id], ["!some:room"]
) )
) )