mirror of
https://github.com/chatmail/core.git
synced 2026-04-28 19:06:35 +03:00
feat: no unencrypted chat when securejoin times out (#6722)
this PR leaves one-to-one chats that were created by a QR code scan unwritable until e2ee is established. the logic of the timeout is reused to show a message with additional information: <img width=250 src=https://github.com/user-attachments/assets/b9928e7b-8128-4d7a-934d-37d51c8275ce> <img width=250 src=https://github.com/user-attachments/assets/4a3a28e9-4491-47f9-8962-86aa2302dd21> <img width=250 src=https://github.com/user-attachments/assets/5130a87c-ba1c-496f-81e1-899dc8aabe4e> if the secure-join finishes faster than the 15 seconds, the middle message is not shown. closes #6706
This commit is contained in:
@@ -149,7 +149,7 @@ async fn test_setup_contact_ex(case: SetupContactCase) {
|
||||
);
|
||||
if case == SetupContactCase::SecurejoinWaitTimeout {
|
||||
SystemTime::shift(Duration::from_secs(constants::SECUREJOIN_WAIT_TIMEOUT));
|
||||
assert_eq!(bob_chat.can_send(&bob).await.unwrap(), true);
|
||||
assert_eq!(bob_chat.can_send(&bob).await.unwrap(), false);
|
||||
}
|
||||
|
||||
// Step 4: Bob receives vc-auth-required, sends vc-request-with-auth
|
||||
@@ -318,7 +318,7 @@ async fn test_setup_contact_ex(case: SetupContactCase) {
|
||||
.check_securejoin_wait(&bob, constants::SECUREJOIN_WAIT_TIMEOUT)
|
||||
.await
|
||||
.unwrap(),
|
||||
0
|
||||
(true, 0)
|
||||
);
|
||||
}
|
||||
|
||||
@@ -336,7 +336,7 @@ async fn test_setup_contact_ex(case: SetupContactCase) {
|
||||
assert!(msg.is_info());
|
||||
assert_eq!(
|
||||
msg.get_text(),
|
||||
stock_str::securejoin_wait_timeout(&bob).await
|
||||
stock_str::securejoin_takes_longer(&bob).await
|
||||
);
|
||||
}
|
||||
let msg = get_chat_msg(&bob, bob_chat.get_id(), i.next().unwrap(), msg_cnt).await;
|
||||
|
||||
Reference in New Issue
Block a user