diff --git a/matrix_sdk_crypto/src/olm/group_sessions/outbound.rs b/matrix_sdk_crypto/src/olm/group_sessions/outbound.rs index 449b64e8..d90ce7a5 100644 --- a/matrix_sdk_crypto/src/olm/group_sessions/outbound.rs +++ b/matrix_sdk_crypto/src/olm/group_sessions/outbound.rs @@ -226,9 +226,10 @@ impl OutboundGroupSession { if self.to_share_with_set.is_empty() { debug!( - "Marking session {} for room {} as shared.", - self.session_id(), - self.room_id + session_id = self.session_id(), + room_id = self.room_id.as_str(), + "All m.room_key to-device requests were sent out, marking \ + session as shared.", ); self.mark_as_shared(); } diff --git a/matrix_sdk_crypto/src/session_manager/group_sessions.rs b/matrix_sdk_crypto/src/session_manager/group_sessions.rs index a4085d45..a98b650c 100644 --- a/matrix_sdk_crypto/src/session_manager/group_sessions.rs +++ b/matrix_sdk_crypto/src/session_manager/group_sessions.rs @@ -427,6 +427,13 @@ impl GroupSessionManager { let requests = outbound.pending_requests(); + debug!( + room_id = room_id.as_str(), + session_id = outbound.session_id(), + request_count = requests.len(), + "Done generating to-device requests for a room key share" + ); + if requests.is_empty() { debug!( room_id = room_id.as_str(), @@ -437,8 +444,17 @@ impl GroupSessionManager { outbound.mark_as_shared(); } + let session_count = changes.sessions.len(); + self.store.save_changes(changes).await?; + debug!( + room_id = room_id.as_str(), + session_id = outbound.session_id(), + session_count = session_count, + "Stored the changed sessions after encrypting an room key" + ); + Ok(requests) } }