Skip to content
Snippets Groups Projects
Unverified Commit 654902a7 authored by Erik Johnston's avatar Erik Johnston Committed by GitHub
Browse files

Resync stale devices in background (#15975)

This is so we don't block responding to federation transaction while we
try and fetch the device lists.
parent 4a711bf3
No related branches found
No related tags found
No related merge requests found
Fix bug where resyncing stale device lists could block responding to federation transactions, and thus delay receiving new data from the remote server.
......@@ -1124,7 +1124,14 @@ class DeviceListUpdater(DeviceListWorkerUpdater):
)
if resync:
await self.multi_user_device_resync([user_id])
# We mark as stale up front in case we get restarted.
await self.store.mark_remote_users_device_caches_as_stale([user_id])
run_as_background_process(
"_maybe_retry_device_resync",
self.multi_user_device_resync,
[user_id],
False,
)
else:
# Simply update the single device, since we know that is the only
# change (because of the single prev_id matching the current cache)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment