fix: Update device chats only once, and send progress 1000

This commit is contained in:
Hocuri
2026-09-17 18:57:47 +02:00
parent 7ff3227b95
commit 28b1aa6e87
2 changed files with 13 additions and 7 deletions

View File

@@ -61,10 +61,9 @@ pub(crate) async fn init_transports_inner(
context: &Context,
addrs_from_qr: Vec<String>,
skip_network: bool,
) -> Result<(), anyhow::Error> {
let mut default_relays: Vec<&str> = DEFAULT_RELAY_CANDIDATES.into();
default_relays.shuffle(&mut rng());
) -> Result<()> {
// If relays were provided via the addresses in the QR code,
// then these relays are tried first.
let (relays_sender, relays_receiver) = async_channel::unbounded::<String>();
let relays_from_qr: BTreeSet<String> = addrs_from_qr
.into_iter()
@@ -74,6 +73,9 @@ pub(crate) async fn init_transports_inner(
for relay in &relays_from_qr {
relays_sender.try_send(relay.to_string())?;
}
let mut default_relays: Vec<&str> = DEFAULT_RELAY_CANDIDATES.into();
default_relays.shuffle(&mut rng());
for relay in default_relays {
if !relays_from_qr.contains(relay) {
relays_sender.try_send(relay.to_string())?;

View File

@@ -219,6 +219,10 @@ impl Context {
let skip_network = false;
autorelay::init_transports_inner(self, addrs_from_qr, skip_network).await?;
self.update_device_chats()
.await
.context("Failed to update device chats")?;
progress!(self, 1000);
self.start_io().await;
@@ -315,6 +319,9 @@ impl Context {
);
return Err(error);
};
self.update_device_chats()
.await
.context("Failed to update device chats")?;
if provider::legacy_settings_for_addr(&param.addr)?.worse_media_quality
&& !self.config_exists(Config::MediaQuality).await?
{
@@ -558,9 +565,6 @@ pub(crate) async fn configure(
ctx.scheduler.interrupt_inbox().await;
progress!(ctx, 940);
ctx.update_device_chats()
.await
.context("Failed to update device chats")?;
ctx.sql.set_raw_config_bool("configured", true).await?;
ctx.emit_event(EventType::AccountsItemChanged);