From f5ff294c3e8167db8929db43e7aa66f386cb9dfa Mon Sep 17 00:00:00 2001 From: Lambda Date: Sat, 31 May 2025 17:31:36 +0000 Subject: [PATCH] SSS: refactor E2EE extension like other extensions --- src/api/client_server/sync/msc4186.rs | 25 +++++++++++++++---------- 1 file changed, 15 insertions(+), 10 deletions(-) diff --git a/src/api/client_server/sync/msc4186.rs b/src/api/client_server/sync/msc4186.rs index e68bd073..7c6b55fd 100644 --- a/src/api/client_server/sync/msc4186.rs +++ b/src/api/client_server/sync/msc4186.rs @@ -391,8 +391,20 @@ pub(crate) async fn sync_events_v5_route( } #[allow(clippy::if_then_some_else_none)] - let device_lists = if body.extensions.e2ee.enabled.unwrap_or(false) { - Some(get_e2ee_data(&sender_user, globalsince, &all_joined_rooms).await?) + let e2ee = if body.extensions.e2ee.enabled == Some(true) { + Some(sync_events::v5::response::E2EE { + device_lists: get_e2ee_data( + &sender_user, + globalsince, + &all_joined_rooms, + ) + .await?, + device_one_time_keys_count: services() + .users + .count_one_time_keys(&sender_user, &sender_device)?, + // Fallback keys are not yet supported + device_unused_fallback_key_types: None, + }) } else { None }; @@ -492,14 +504,7 @@ pub(crate) async fn sync_events_v5_route( rooms, extensions: sync_events::v5::response::Extensions { to_device, - e2ee: sync_events::v5::response::E2EE { - device_lists: device_lists.unwrap_or_default(), - device_one_time_keys_count: services() - .users - .count_one_time_keys(&sender_user, &sender_device)?, - // Fallback keys are not yet supported - device_unused_fallback_key_types: None, - }, + e2ee: e2ee.unwrap_or_default(), account_data: sync_events::v5::response::AccountData { global: if body.extensions.account_data.enabled.unwrap_or(false) {