Skip to content

Commit 65ed62a

Browse files
committed
Replace "End-to-end-encryption unavailable unexpectedly" with translatable string
1 parent cf85e20 commit 65ed62a

2 files changed

Lines changed: 29 additions & 4 deletions

File tree

src/chat.rs

Lines changed: 19 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2895,11 +2895,26 @@ pub(crate) async fn create_send_msg_jobs(context: &Context, msg: &mut Message) -
28952895
}
28962896

28972897
if needs_encryption && !rendered_msg.is_encrypted {
2898-
/* unrecoverable */
2899-
message::set_msg_failed(
2898+
let addr = context.get_config(Config::ConfiguredAddr).await?;
2899+
let text = stock_str::unencrypted_email(
29002900
context,
2901-
msg,
2902-
"End-to-end-encryption unavailable unexpectedly.",
2901+
addr.unwrap_or_default()
2902+
.split('@')
2903+
.nth(1)
2904+
.unwrap_or_default(),
2905+
)
2906+
.await;
2907+
message::set_msg_failed(context, msg, &text).await?;
2908+
add_info_msg_with_cmd(
2909+
context,
2910+
msg.chat_id,
2911+
&text,
2912+
SystemMessage::InvalidUnencryptedMail,
2913+
Some(msg.timestamp_sort),
2914+
msg.timestamp_sort,
2915+
None,
2916+
None,
2917+
None,
29032918
)
29042919
.await?;
29052920
bail!(

src/e2ee.rs

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -113,6 +113,7 @@ mod tests {
113113
use crate::chat::send_text_msg;
114114
use crate::config::Config;
115115
use crate::message::Message;
116+
use crate::mimeparser::SystemMessage;
116117
use crate::receive_imf::receive_imf;
117118
use crate::test_utils::{TestContext, TestContextManager};
118119

@@ -165,6 +166,15 @@ Sent with my Delta Chat Messenger: https://delta.chat";
165166

166167
let mut msg = Message::new_text("Hello!".to_string());
167168
assert!(chat::send_msg(alice, chat.id, &mut msg).await.is_err());
169+
assert_eq!(
170+
msg.error().unwrap(),
171+
"\u{26a0}\u{fe0f} Your email provider example.org requires end-to-end encryption which is not setup yet."
172+
);
173+
let info_msg = alice.get_last_msg().await;
174+
assert_eq!(
175+
info_msg.get_info_type(),
176+
SystemMessage::InvalidUnencryptedMail
177+
);
168178

169179
Ok(())
170180
}

0 commit comments

Comments
 (0)