diff --git a/lib/msc_extensions/msc_3814_dehydrated_devices/msc_3814_dehydrated_devices.dart b/lib/msc_extensions/msc_3814_dehydrated_devices/msc_3814_dehydrated_devices.dart index e2d2abdf..67e5d81f 100644 --- a/lib/msc_extensions/msc_3814_dehydrated_devices/msc_3814_dehydrated_devices.dart +++ b/lib/msc_extensions/msc_3814_dehydrated_devices/msc_3814_dehydrated_devices.dart @@ -114,6 +114,12 @@ extension DehydratedDeviceHandler on Client { } } while (events.events?.isNotEmpty == true); + // make sure the sessions we just received get uploaded before we upload a new device (which deletes the old device). + await this + .encryption + ?.keyManager + .uploadInboundGroupSessions(skipIfInProgress: false); + await _uploadNewDevice(secureStorage); } finally { await encryption.dispose();