mirror of
https://github.com/chatmail/core.git
synced 2026-05-02 12:56:30 +03:00
fix: Don't show a weird 'Secure-Join: vb-request-v2 message' in Alice's 1:1 chat a recipient
This commit is contained in:
@@ -2902,6 +2902,16 @@ async fn test_broadcast_joining_golden() -> Result<()> {
|
|||||||
bob.golden_test_chat(bob_chat_id, "test_broadcast_joining_golden_bob")
|
bob.golden_test_chat(bob_chat_id, "test_broadcast_joining_golden_bob")
|
||||||
.await;
|
.await;
|
||||||
|
|
||||||
|
let alice_bob_contact = alice.add_or_lookup_contact_id(bob).await;
|
||||||
|
let direct_chat = ChatIdBlocked::lookup_by_contact(alice, alice_bob_contact)
|
||||||
|
.await?
|
||||||
|
.unwrap();
|
||||||
|
// The 1:1 chat with Bob should not be visible to the user:
|
||||||
|
assert_eq!(direct_chat.blocked, Blocked::Yes);
|
||||||
|
alice
|
||||||
|
.golden_test_chat(direct_chat.id, "test_broadcast_joining_golden_alice_direct")
|
||||||
|
.await;
|
||||||
|
|
||||||
Ok(())
|
Ok(())
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -3099,7 +3109,7 @@ async fn test_leave_broadcast_multidevice() -> Result<()> {
|
|||||||
let qr = get_securejoin_qr(alice, Some(alice_chat_id)).await.unwrap();
|
let qr = get_securejoin_qr(alice, Some(alice_chat_id)).await.unwrap();
|
||||||
join_securejoin(bob0, &qr).await.unwrap();
|
join_securejoin(bob0, &qr).await.unwrap();
|
||||||
let request = bob0.pop_sent_msg().await;
|
let request = bob0.pop_sent_msg().await;
|
||||||
alice.recv_msg(&request).await;
|
alice.recv_msg_trash(&request).await;
|
||||||
let answer = alice.pop_sent_msg().await;
|
let answer = alice.pop_sent_msg().await;
|
||||||
bob0.recv_msg(&answer).await;
|
bob0.recv_msg(&answer).await;
|
||||||
bob1.recv_msg(&answer).await;
|
bob1.recv_msg(&answer).await;
|
||||||
|
|||||||
@@ -4,9 +4,7 @@ use anyhow::{Context as _, Error, Result, bail, ensure};
|
|||||||
use deltachat_contact_tools::ContactAddress;
|
use deltachat_contact_tools::ContactAddress;
|
||||||
use percent_encoding::{NON_ALPHANUMERIC, utf8_percent_encode};
|
use percent_encoding::{NON_ALPHANUMERIC, utf8_percent_encode};
|
||||||
|
|
||||||
use crate::chat::{
|
use crate::chat::{self, Chat, ChatId, ChatIdBlocked, ProtectionStatus, get_chat_id_by_grpid};
|
||||||
self, Chat, ChatId, ChatIdBlocked, ProtectionStatus, get_chat_id_by_grpid,
|
|
||||||
};
|
|
||||||
use crate::chatlist_events;
|
use crate::chatlist_events;
|
||||||
use crate::config::Config;
|
use crate::config::Config;
|
||||||
use crate::constants::{Blocked, Chattype, NON_ALPHANUMERIC_WITHOUT_DOT};
|
use crate::constants::{Blocked, Chattype, NON_ALPHANUMERIC_WITHOUT_DOT};
|
||||||
@@ -443,11 +441,11 @@ pub(crate) async fn handle_securejoin_handshake(
|
|||||||
.await?;
|
.await?;
|
||||||
inviter_progress(context, contact_id, 800);
|
inviter_progress(context, contact_id, 800);
|
||||||
inviter_progress(context, contact_id, 1000);
|
inviter_progress(context, contact_id, 1000);
|
||||||
if step.starts_with("vb-") {
|
if step == "vb-request-v2" {
|
||||||
// For broadcasts, we don't want to delete the message,
|
// For broadcasts, we don't want to delete the message,
|
||||||
// because the other device should also internally add the member
|
// because the other device should also internally add the member
|
||||||
// and see the key (because it won't see the member via autocrypt-gossip).
|
// and see the key (because it won't see the member via autocrypt-gossip).
|
||||||
Ok(HandshakeMessage::Propagate)
|
Ok(HandshakeMessage::Ignore)
|
||||||
} else {
|
} else {
|
||||||
// IMAP-delete the message to avoid handling it by another device and adding the
|
// IMAP-delete the message to avoid handling it by another device and adding the
|
||||||
// member twice. Another device will know the member's key from Autocrypt-Gossip.
|
// member twice. Another device will know the member's key from Autocrypt-Gossip.
|
||||||
|
|||||||
@@ -0,0 +1,4 @@
|
|||||||
|
Single#Chat#11: bob@example.net [KEY bob@example.net] 🛡️
|
||||||
|
--------------------------------------------------------------------------------
|
||||||
|
Msg#11: info (Contact#Contact#Info): Messages are end-to-end encrypted. [NOTICED][INFO 🛡️]
|
||||||
|
--------------------------------------------------------------------------------
|
||||||
Reference in New Issue
Block a user