diff --git a/src/receive_imf.rs b/src/receive_imf.rs index 0d9646688..d5642db1e 100644 --- a/src/receive_imf.rs +++ b/src/receive_imf.rs @@ -761,7 +761,9 @@ async fn add_parts( ShowEmails::from_i32(context.get_config_int(Config::ShowEmails).await?).unwrap_or_default(); let allow_creation; - if mime_parser.is_system_message != SystemMessage::AutocryptSetupMessage + if mime_parser.decrypting_failed { + allow_creation = false; + } else if mime_parser.is_system_message != SystemMessage::AutocryptSetupMessage && is_dc_message == MessengerMessage::No && !context.get_config_bool(Config::IsChatmail).await? { diff --git a/src/sync.rs b/src/sync.rs index dfcb2542e..870817748 100644 --- a/src/sync.rs +++ b/src/sync.rs @@ -612,7 +612,7 @@ mod tests { // the same sync message sent to bob must not be executed let bob = TestContext::new_bob().await; - bob.recv_msg(&sent_msg).await; + bob.recv_msg_trash(&sent_msg).await; assert!(!token::exists(&bob, token::Namespace::Auth, "testtoken").await?); Ok(()) diff --git a/src/tests/verified_chats.rs b/src/tests/verified_chats.rs index 0f8dd2794..4855470c6 100644 --- a/src/tests/verified_chats.rs +++ b/src/tests/verified_chats.rs @@ -987,13 +987,10 @@ async fn test_verified_lost_member_added() -> Result<()> { assert_eq!(sent_msg.get_showpadlock(), true); // The message will not be sent to Fiona. - // Test that Fiona will not be able to decrypt it. - let fiona_rcvd = fiona.recv_msg(&sent).await; - assert_eq!(fiona_rcvd.get_showpadlock(), false); - assert_eq!( - fiona_rcvd.get_text(), - "[...] – [This message was encrypted for another setup.]" - ); + // Test that Fiona will not be able to decrypt it + // and the message is trashed because + // we don't create groups from undecipherable messages. + fiona.recv_msg_trash(&sent).await; // Advance the time so Alice does not leave at the same second // as the group was created.