refactor: do not ignore Contact::get_by_id errors in get_encrinfo

This commit is contained in:
link2xt
2024-04-05 20:31:33 +00:00
parent b6a12e3914
commit cf11741a8c

View File

@@ -1051,14 +1051,15 @@ impl Contact {
"Can not provide encryption info for special contact"
);
let mut ret = String::new();
if let Ok(contact) = Contact::get_by_id(context, contact_id).await {
let contact = Contact::get_by_id(context, contact_id).await?;
let loginparam = LoginParam::load_configured_params(context).await?;
let peerstate = Peerstate::from_addr(context, &contact.addr).await?;
if let Some(peerstate) =
peerstate.filter(|peerstate| peerstate.peek_key(false).is_some())
{
let Some(peerstate) = peerstate.filter(|peerstate| peerstate.peek_key(false).is_some())
else {
return Ok(stock_str::encr_none(context).await);
};
let stock_message = match peerstate.prefer_encrypt {
EncryptPreference::Mutual => stock_str::e2e_preferred(context).await,
EncryptPreference::NoPreference => stock_str::e2e_available(context).await,
@@ -1066,7 +1067,7 @@ impl Contact {
};
let finger_prints = stock_str::finger_prints(context).await;
ret += &format!("{stock_message}.\n{finger_prints}:");
let mut ret = format!("{stock_message}.\n{finger_prints}:");
let fingerprint_self = load_self_public_key(context)
.await?
@@ -1097,10 +1098,6 @@ impl Contact {
);
cat_fingerprint(&mut ret, &loginparam.addr, &fingerprint_self, "");
}
} else {
ret += &stock_str::encr_none(context).await;
}
}
Ok(ret)
}