let prefetch_should_download() check if it might be an ndn

This commit is contained in:
Hocuri
2020-06-13 12:06:02 +02:00
parent fc88bff32f
commit 9f1112833f
4 changed files with 25 additions and 2 deletions

View File

@@ -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 => {