Add ContactAddress type

This commit is contained in:
link2xt
2023-01-11 04:19:28 +00:00
parent 6d9d31cad1
commit 89c8d26968
11 changed files with 373 additions and 254 deletions

View File

@@ -22,7 +22,7 @@ use crate::config::Config;
use crate::constants::{
Blocked, Chattype, ShowEmails, DC_FETCH_EXISTING_MSGS_COUNT, DC_FOLDERS_CONFIGURED_VERSION,
};
use crate::contact::{normalize_name, Contact, ContactId, Modifier, Origin};
use crate::contact::{normalize_name, Contact, ContactAddress, ContactId, Modifier, Origin};
use crate::context::Context;
use crate::events::EventType;
use crate::headerdef::{HeaderDef, HeaderDefMap};
@@ -2375,23 +2375,23 @@ async fn add_all_recipients_as_contacts(
.map(|s| normalize_name(s))
.unwrap_or_default();
match Contact::add_or_lookup(
context,
&display_name_normalized,
&recipient.addr,
Origin::OutgoingTo,
)
.await?
{
Some((_, modified)) => {
match ContactAddress::new(&recipient.addr) {
Err(err) => warn!(
context,
"Could not add contact for recipient with address {:?}: {:#}", recipient.addr, err
),
Ok(recipient_addr) => {
let (_, modified) = Contact::add_or_lookup(
context,
&display_name_normalized,
recipient_addr,
Origin::OutgoingTo,
)
.await?;
if modified != Modifier::None {
any_modified = true;
}
}
None => warn!(
context,
"Could not add contact for recipient with address {:?}", recipient.addr
),
}
}
if any_modified {