diff --git a/src/config.rs b/src/config.rs index 88399a425..7d0e1bac9 100644 --- a/src/config.rs +++ b/src/config.rs @@ -338,8 +338,8 @@ impl Context { /// determine whether the specified addr maps to the/a self addr pub(crate) async fn is_self_addr(&self, addr: &str) -> Result { Ok(self - .get_primary_self_addr() - .await + .get_config(Config::ConfiguredAddr) + .await? .iter() .any(|a| addr_cmp(addr, a)) || self @@ -372,7 +372,7 @@ impl Context { /// Returns all primary and secondary self addresses. pub(crate) async fn get_all_self_addrs(&self) -> Result> { - let primary_addrs = self.get_primary_self_addr().await.into_iter(); + let primary_addrs = self.get_config(Config::ConfiguredAddr).await?.into_iter(); let secondary_addrs = self.get_secondary_self_addrs().await?.into_iter(); Ok(primary_addrs.chain(secondary_addrs).collect()) @@ -391,6 +391,7 @@ impl Context { } /// Returns the primary self address. + /// Returns an error if no self addr is configured. pub async fn get_primary_self_addr(&self) -> Result { self.get_config(Config::ConfiguredAddr) .await? diff --git a/src/configure.rs b/src/configure.rs index cdb41c796..99f008bae 100644 --- a/src/configure.rs +++ b/src/configure.rs @@ -454,7 +454,7 @@ async fn configure(ctx: &Context, param: &mut LoginParam) -> Result<()> { progress!(ctx, 910); - if ctx.get_primary_self_addr().await.ok().as_deref() != Some(¶m.addr) { + if ctx.get_config(Config::ConfiguredAddr).await?.as_deref() != Some(¶m.addr) { // Switched account, all server UIDs we know are invalid job::schedule_resync(ctx).await?; } diff --git a/src/contact.rs b/src/contact.rs index de82debbf..0260452df 100644 --- a/src/contact.rs +++ b/src/contact.rs @@ -297,7 +297,10 @@ impl Contact { .await?; if contact_id == ContactId::SELF { contact.name = stock_str::self_msg(context).await; - contact.addr = context.get_primary_self_addr().await.unwrap_or_default(); + contact.addr = context + .get_config(Config::ConfiguredAddr) + .await? + .unwrap_or_default(); contact.status = context .get_config(Config::Selfstatus) .await? @@ -726,7 +729,10 @@ impl Contact { .await?; if let Some(query) = query { - let self_addr = context.get_primary_self_addr().await.unwrap_or_default(); + let self_addr = context + .get_config(Config::ConfiguredAddr) + .await? + .unwrap_or_default(); let self_name = context .get_config(Config::Displayname) .await?