diff --git a/matrix_sdk_crypto/src/verification/machine.rs b/matrix_sdk_crypto/src/verification/machine.rs index d58c9dc4..579e0b2a 100644 --- a/matrix_sdk_crypto/src/verification/machine.rs +++ b/matrix_sdk_crypto/src/verification/machine.rs @@ -138,11 +138,10 @@ impl VerificationMachine { AnyToDeviceEvent::KeyVerificationMac(e) => { if let Some(s) = self.get_sas(&e.content.transaction_id) { self.receive_event_helper(&s, event); - if s.is_done() { - if !s.mark_device_as_verified().await? { - if let Some(r) = s.cancel() { - self.outgoing_to_device_messages.insert(r.txn_id.clone(), r); - } + + if s.is_done() && !s.mark_device_as_verified().await? { + if let Some(r) = s.cancel() { + self.outgoing_to_device_messages.insert(r.txn_id.clone(), r); } } }; diff --git a/matrix_sdk_crypto/src/verification/sas/mod.rs b/matrix_sdk_crypto/src/verification/sas/mod.rs index 38462f6e..6ab639b6 100644 --- a/matrix_sdk_crypto/src/verification/sas/mod.rs +++ b/matrix_sdk_crypto/src/verification/sas/mod.rs @@ -162,10 +162,8 @@ impl Sas { (content, guard.is_done()) }; - if done { - if !self.mark_device_as_verified().await? { - return Ok(self.cancel()); - } + if done && !self.mark_device_as_verified().await? { + return Ok(self.cancel()); } Ok(content.map(|c| {