mirror of
https://github.com/chatmail/core.git
synced 2026-04-22 16:06:30 +03:00
let prefetch_should_download() check if it might be an ndn
This commit is contained in:
@@ -1449,7 +1449,7 @@ async fn prefetch_is_reply_to_chat_message(
|
||||
false
|
||||
}
|
||||
|
||||
async fn prefetch_should_download(
|
||||
pub(crate) async fn prefetch_should_download(
|
||||
context: &Context,
|
||||
headers: &[mailparse::MailHeader<'_>],
|
||||
show_emails: ShowEmails,
|
||||
@@ -1457,6 +1457,16 @@ async fn prefetch_should_download(
|
||||
let is_chat_message = headers.get_header_value(HeaderDef::ChatVersion).is_some();
|
||||
let is_reply_to_chat_message = prefetch_is_reply_to_chat_message(context, &headers).await;
|
||||
|
||||
let maybe_ndn = if let Some(subject) = headers.get_header_value(HeaderDef::Subject) {
|
||||
subject.to_ascii_lowercase().contains("fail")
|
||||
} else {
|
||||
false
|
||||
} || if let Some(ctype) = headers.get_header_value(HeaderDef::ContentType) {
|
||||
ctype.starts_with("multipart/report")
|
||||
} else {
|
||||
false
|
||||
};
|
||||
|
||||
// Autocrypt Setup Message should be shown even if it is from non-chat client.
|
||||
let is_autocrypt_setup_message = headers
|
||||
.get_header_value(HeaderDef::AutocryptSetupMessage)
|
||||
@@ -1467,6 +1477,7 @@ async fn prefetch_should_download(
|
||||
let accepted_contact = origin.is_known();
|
||||
|
||||
let show = is_autocrypt_setup_message
|
||||
|| maybe_ndn
|
||||
|| match show_emails {
|
||||
ShowEmails::Off => is_chat_message || is_reply_to_chat_message,
|
||||
ShowEmails::AcceptedContacts => {
|
||||
|
||||
Reference in New Issue
Block a user