diff --git a/src/base_client.rs b/src/base_client.rs index 42e61575..677214cf 100644 --- a/src/base_client.rs +++ b/src/base_client.rs @@ -442,7 +442,7 @@ impl Client { Some(o) => { let room = room.lock().await; let members = room.members.keys(); - Ok(o.share_megolm_session(room_id, members).await?) + Ok(o.share_group_session(room_id, members).await?) } None => panic!("Olm machine wasn't started"), } diff --git a/src/crypto/machine.rs b/src/crypto/machine.rs index 223f006a..3636cee9 100644 --- a/src/crypto/machine.rs +++ b/src/crypto/machine.rs @@ -920,7 +920,7 @@ impl OlmMachine { } // TODO accept an algorithm here - pub(crate) async fn share_megolm_session<'a, I>( + pub(crate) async fn share_group_session<'a, I>( &mut self, room_id: &RoomId, users: I, @@ -928,19 +928,9 @@ impl OlmMachine { where I: IntoIterator, { - if !self.outbound_group_session.contains_key(room_id) { - self.create_outbound_group_session(room_id).await? - } - + self.create_outbound_group_session(room_id).await?; let megolm_session = self.outbound_group_session.get(room_id).unwrap(); - let megolm_session = if megolm_session.expired() { - self.create_outbound_group_session(room_id).await?; - self.outbound_group_session.get(room_id).unwrap() - } else { - megolm_session - }; - if megolm_session.shared() { panic!("Session is already shared"); }