mirror of
https://github.com/chatmail/core.git
synced 2026-10-02 11:10:25 +03:00
fix: Update device chats only once, and send progress 1000
This commit is contained in:
+6
-4
@@ -61,10 +61,9 @@ pub(crate) async fn init_transports_inner(
|
|||||||
context: &Context,
|
context: &Context,
|
||||||
addrs_from_qr: Vec<String>,
|
addrs_from_qr: Vec<String>,
|
||||||
skip_network: bool,
|
skip_network: bool,
|
||||||
) -> Result<(), anyhow::Error> {
|
) -> Result<()> {
|
||||||
let mut default_relays: Vec<&str> = DEFAULT_RELAY_CANDIDATES.into();
|
// If relays were provided via the addresses in the QR code,
|
||||||
default_relays.shuffle(&mut rng());
|
// then these relays are tried first.
|
||||||
|
|
||||||
let (relays_sender, relays_receiver) = async_channel::unbounded::<String>();
|
let (relays_sender, relays_receiver) = async_channel::unbounded::<String>();
|
||||||
let relays_from_qr: BTreeSet<String> = addrs_from_qr
|
let relays_from_qr: BTreeSet<String> = addrs_from_qr
|
||||||
.into_iter()
|
.into_iter()
|
||||||
@@ -74,6 +73,9 @@ pub(crate) async fn init_transports_inner(
|
|||||||
for relay in &relays_from_qr {
|
for relay in &relays_from_qr {
|
||||||
relays_sender.try_send(relay.to_string())?;
|
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 {
|
for relay in default_relays {
|
||||||
if !relays_from_qr.contains(relay) {
|
if !relays_from_qr.contains(relay) {
|
||||||
relays_sender.try_send(relay.to_string())?;
|
relays_sender.try_send(relay.to_string())?;
|
||||||
|
|||||||
+7
-3
@@ -219,6 +219,10 @@ impl Context {
|
|||||||
|
|
||||||
let skip_network = false;
|
let skip_network = false;
|
||||||
autorelay::init_transports_inner(self, addrs_from_qr, skip_network).await?;
|
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;
|
self.start_io().await;
|
||||||
|
|
||||||
@@ -315,6 +319,9 @@ impl Context {
|
|||||||
);
|
);
|
||||||
return Err(error);
|
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
|
if provider::legacy_settings_for_addr(¶m.addr)?.worse_media_quality
|
||||||
&& !self.config_exists(Config::MediaQuality).await?
|
&& !self.config_exists(Config::MediaQuality).await?
|
||||||
{
|
{
|
||||||
@@ -558,9 +565,6 @@ pub(crate) async fn configure(
|
|||||||
ctx.scheduler.interrupt_inbox().await;
|
ctx.scheduler.interrupt_inbox().await;
|
||||||
|
|
||||||
progress!(ctx, 940);
|
progress!(ctx, 940);
|
||||||
ctx.update_device_chats()
|
|
||||||
.await
|
|
||||||
.context("Failed to update device chats")?;
|
|
||||||
|
|
||||||
ctx.sql.set_raw_config_bool("configured", true).await?;
|
ctx.sql.set_raw_config_bool("configured", true).await?;
|
||||||
ctx.emit_event(EventType::AccountsItemChanged);
|
ctx.emit_event(EventType::AccountsItemChanged);
|
||||||
|
|||||||
Reference in New Issue
Block a user