diff --git a/crates/matrix-sdk/src/room/common.rs b/crates/matrix-sdk/src/room/common.rs index f2f2393c8..5f6cbd2a5 100644 --- a/crates/matrix-sdk/src/room/common.rs +++ b/crates/matrix-sdk/src/room/common.rs @@ -478,12 +478,15 @@ impl Common { let event = self.client.send(request, None).await?.event; #[cfg(feature = "e2e-encryption")] - if let AnySyncRoomEvent::MessageLike(AnySyncMessageLikeEvent::RoomEncrypted( - SyncMessageLikeEvent::Original(encrypted_event), - )) = event.deserialize_as::()? { - Ok(self.decrypt_event(&encrypted_event).await?) - } else { + if let Ok(AnySyncRoomEvent::MessageLike(AnySyncMessageLikeEvent::RoomEncrypted( + SyncMessageLikeEvent::Original(encrypted_event), + ))) = event.deserialize_as::() + { + if let Ok(event) = self.decrypt_event(&encrypted_event).await { + return Ok(event); + } + } Ok(RoomEvent { event, encryption_info: None }) }