Page MenuHomePhorge

D14504.1768749234.diff
No OneTemporary

Size
1 KB
Referenced Files
None
Subscribers
None

D14504.1768749234.diff

diff --git a/services/identity/src/database/device_list.rs b/services/identity/src/database/device_list.rs
--- a/services/identity/src/database/device_list.rs
+++ b/services/identity/src/database/device_list.rs
@@ -1554,10 +1554,23 @@
) -> Result<DeviceListRow, Error> {
let mut devices_being_removed: Vec<String> = Vec::new();
let update_result = self
- .transact_update_devicelist(user_id, |current_list, _| {
+ .transact_update_devicelist(user_id, |current_list, devices_data| {
+ debug!("Resetting device list");
devices_being_removed.extend(current_list.clone());
- debug!("Resetting device list");
+ if let Some(keyserver) = devices_data
+ .into_iter()
+ .find(|device| device.device_type() == &DeviceType::Keyserver)
+ {
+ let keyserver_device_id = &keyserver.device_id;
+ debug!(
+ "Found keyserver device: {}. It will not be removed.",
+ keyserver_device_id
+ );
+ devices_being_removed
+ .retain(|device_id| device_id != keyserver_device_id);
+ }
+
*current_list = Vec::new();
Ok(UpdateOperationInfo::identity_generated())

File Metadata

Mime Type
text/plain
Expires
Sun, Jan 18, 3:13 PM (14 h, 9 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
5952077
Default Alt Text
D14504.1768749234.diff (1 KB)

Event Timeline