diff --git a/deltachat-ffi/deltachat.h b/deltachat-ffi/deltachat.h index 1c5a8303e..ab2eb9036 100644 --- a/deltachat-ffi/deltachat.h +++ b/deltachat-ffi/deltachat.h @@ -350,7 +350,9 @@ char* dc_get_blobdir (const dc_context_t* context); * The type `jitsi:` may be handled by external apps. * If no type is prefixed, the videochat is handled completely in a browser. * - `bot` = Set to "1" if this is a bot. E.g. prevents adding the "Device messages" and "Saved messages" chats. - * - `prefetch` = 1=fetch most recent existing messages on configure (default), 0=do not fetch on configure + * - `fetch_existing` = 1=fetch most recent existing messages on configure (default), + * 0=do not fetch existing messages on configure. + * In both cases, existing recipients are added to the contact database. * * If you want to retrieve a value, use dc_get_config(). * diff --git a/src/config.rs b/src/config.rs index c554b194e..eed64e10d 100644 --- a/src/config.rs +++ b/src/config.rs @@ -70,7 +70,7 @@ pub enum Config { MediaQuality, #[strum(props(default = "1"))] - Prefetch, + FetchExisting, #[strum(props(default = "0"))] KeyGenType, diff --git a/src/configure/mod.rs b/src/configure/mod.rs index 7caaad12b..55c9833a0 100644 --- a/src/configure/mod.rs +++ b/src/configure/mod.rs @@ -353,13 +353,11 @@ async fn configure(ctx: &Context, param: &mut LoginParam) -> Result<()> { e2ee::ensure_secret_key_exists(ctx).await?; info!(ctx, "key generation completed"); - if ctx.get_config_bool(Config::Prefetch).await { - job::add( - ctx, - job::Job::new(Action::FetchExistingMsgs, 0, Params::new(), 0), - ) - .await; - } + job::add( + ctx, + job::Job::new(Action::FetchExistingMsgs, 0, Params::new(), 0), + ) + .await; progress!(ctx, 940); update_device_chats_handle.await?; diff --git a/src/job.rs b/src/job.rs index 455c6ba06..590d97ae3 100644 --- a/src/job.rs +++ b/src/job.rs @@ -636,17 +636,19 @@ impl Job { add_all_recipients_as_contacts(context, imap, Config::ConfiguredMvboxFolder).await; add_all_recipients_as_contacts(context, imap, Config::ConfiguredInboxFolder).await; - for config in &[ - Config::ConfiguredMvboxFolder, - Config::ConfiguredInboxFolder, - Config::ConfiguredSentboxFolder, - ] { - if let Some(folder) = context.get_config(*config).await { - if let Err(e) = imap.fetch_new_messages(context, folder, true).await { - // We are using Anyhow's .context() and to show the inner error, too, we need the {:#}: - warn!(context, "Could not fetch messages, retrying: {:#}", e); - return Status::RetryLater; - }; + if context.get_config_bool(Config::FetchExisting).await { + for config in &[ + Config::ConfiguredMvboxFolder, + Config::ConfiguredInboxFolder, + Config::ConfiguredSentboxFolder, + ] { + if let Some(folder) = context.get_config(*config).await { + if let Err(e) = imap.fetch_new_messages(context, folder, true).await { + // We are using Anyhow's .context() and to show the inner error, too, we need the {:#}: + warn!(context, "Could not fetch messages, retrying: {:#}", e); + return Status::RetryLater; + }; + } } } info!(context, "Done fetching existing messages.");