From 1483c22171d0d85c44f2e934b3498e7052ccd899 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Damir=20Jeli=C4=87?= Date: Thu, 21 Jan 2021 14:04:31 +0100 Subject: [PATCH] crypto: Don't send out empty to-device reuqests when sharing sessions An empty to-device request can happen if we're trying to re-share a session with devices that are we're missing an olm session with so don't send them out. --- matrix_sdk_crypto/src/session_manager/group_sessions.rs | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/matrix_sdk_crypto/src/session_manager/group_sessions.rs b/matrix_sdk_crypto/src/session_manager/group_sessions.rs index d2e2cd23..25de9d2d 100644 --- a/matrix_sdk_crypto/src/session_manager/group_sessions.rs +++ b/matrix_sdk_crypto/src/session_manager/group_sessions.rs @@ -345,10 +345,13 @@ impl GroupSessionManager { .encrypt_session_for(key_content.clone(), device_map_chunk) .await?; - outbound.add_request(id, request.into()); + if !request.messages.is_empty() { + outbound.add_request(id, request.into()); + self.outbound_sessions_being_shared + .insert(id, outbound.clone()); + } + changes.sessions.extend(used_sessions); - self.outbound_sessions_being_shared - .insert(id, outbound.clone()); } let requests = outbound.pending_requests();