1 files changed, 8 insertions, 1 deletions
diff --git a/synapse/handlers/device.py b/synapse/handlers/device.py
index 5d12a39e26..d73d9dca08 100644
--- a/synapse/handlers/device.py
+++ b/synapse/handlers/device.py
@@ -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)
|