mirror of
https://github.com/chatmail/core.git
synced 2026-09-22 13:01:21 +03:00
fix: Update device chats only once, and send progress 1000
This commit is contained in:
@@ -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())?;
|
||||
|
||||
@@ -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(¶m.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);
|
||||
|
||||
Reference in New Issue
Block a user