Skip to content

Commit cf11741

Browse files
committed
refactor: do not ignore Contact::get_by_id errors in get_encrinfo
1 parent b6a12e3 commit cf11741

File tree

1 file changed

+43
-46
lines changed

1 file changed

+43
-46
lines changed

src/contact.rs

Lines changed: 43 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -1051,55 +1051,52 @@ impl Contact {
10511051
"Can not provide encryption info for special contact"
10521052
);
10531053

1054-
let mut ret = String::new();
1055-
if let Ok(contact) = Contact::get_by_id(context, contact_id).await {
1056-
let loginparam = LoginParam::load_configured_params(context).await?;
1057-
let peerstate = Peerstate::from_addr(context, &contact.addr).await?;
1054+
let contact = Contact::get_by_id(context, contact_id).await?;
1055+
let loginparam = LoginParam::load_configured_params(context).await?;
1056+
let peerstate = Peerstate::from_addr(context, &contact.addr).await?;
10581057

1059-
if let Some(peerstate) =
1060-
peerstate.filter(|peerstate| peerstate.peek_key(false).is_some())
1061-
{
1062-
let stock_message = match peerstate.prefer_encrypt {
1063-
EncryptPreference::Mutual => stock_str::e2e_preferred(context).await,
1064-
EncryptPreference::NoPreference => stock_str::e2e_available(context).await,
1065-
EncryptPreference::Reset => stock_str::encr_none(context).await,
1066-
};
1058+
let Some(peerstate) = peerstate.filter(|peerstate| peerstate.peek_key(false).is_some())
1059+
else {
1060+
return Ok(stock_str::encr_none(context).await);
1061+
};
10671062

1068-
let finger_prints = stock_str::finger_prints(context).await;
1069-
ret += &format!("{stock_message}.\n{finger_prints}:");
1063+
let stock_message = match peerstate.prefer_encrypt {
1064+
EncryptPreference::Mutual => stock_str::e2e_preferred(context).await,
1065+
EncryptPreference::NoPreference => stock_str::e2e_available(context).await,
1066+
EncryptPreference::Reset => stock_str::encr_none(context).await,
1067+
};
10701068

1071-
let fingerprint_self = load_self_public_key(context)
1072-
.await?
1073-
.fingerprint()
1074-
.to_string();
1075-
let fingerprint_other_verified = peerstate
1076-
.peek_key(true)
1077-
.map(|k| k.fingerprint().to_string())
1078-
.unwrap_or_default();
1079-
let fingerprint_other_unverified = peerstate
1080-
.peek_key(false)
1081-
.map(|k| k.fingerprint().to_string())
1082-
.unwrap_or_default();
1083-
if loginparam.addr < peerstate.addr {
1084-
cat_fingerprint(&mut ret, &loginparam.addr, &fingerprint_self, "");
1085-
cat_fingerprint(
1086-
&mut ret,
1087-
&peerstate.addr,
1088-
&fingerprint_other_verified,
1089-
&fingerprint_other_unverified,
1090-
);
1091-
} else {
1092-
cat_fingerprint(
1093-
&mut ret,
1094-
&peerstate.addr,
1095-
&fingerprint_other_verified,
1096-
&fingerprint_other_unverified,
1097-
);
1098-
cat_fingerprint(&mut ret, &loginparam.addr, &fingerprint_self, "");
1099-
}
1100-
} else {
1101-
ret += &stock_str::encr_none(context).await;
1102-
}
1069+
let finger_prints = stock_str::finger_prints(context).await;
1070+
let mut ret = format!("{stock_message}.\n{finger_prints}:");
1071+
1072+
let fingerprint_self = load_self_public_key(context)
1073+
.await?
1074+
.fingerprint()
1075+
.to_string();
1076+
let fingerprint_other_verified = peerstate
1077+
.peek_key(true)
1078+
.map(|k| k.fingerprint().to_string())
1079+
.unwrap_or_default();
1080+
let fingerprint_other_unverified = peerstate
1081+
.peek_key(false)
1082+
.map(|k| k.fingerprint().to_string())
1083+
.unwrap_or_default();
1084+
if loginparam.addr < peerstate.addr {
1085+
cat_fingerprint(&mut ret, &loginparam.addr, &fingerprint_self, "");
1086+
cat_fingerprint(
1087+
&mut ret,
1088+
&peerstate.addr,
1089+
&fingerprint_other_verified,
1090+
&fingerprint_other_unverified,
1091+
);
1092+
} else {
1093+
cat_fingerprint(
1094+
&mut ret,
1095+
&peerstate.addr,
1096+
&fingerprint_other_verified,
1097+
&fingerprint_other_unverified,
1098+
);
1099+
cat_fingerprint(&mut ret, &loginparam.addr, &fingerprint_self, "");
11031100
}
11041101

11051102
Ok(ret)

0 commit comments

Comments
 (0)