mirror of
https://github.com/chatmail/core.git
synced 2026-05-16 21:36:30 +03:00
Merge pull request #1906 from deltachat/imap-progress
configure: add progress! calls during IMAP configuration
This commit is contained in:
@@ -234,7 +234,7 @@ async fn configure(ctx: &Context, param: &mut LoginParam) -> Result<()> {
|
|||||||
¶m_domain,
|
¶m_domain,
|
||||||
);
|
);
|
||||||
|
|
||||||
progress!(ctx, 600);
|
progress!(ctx, 550);
|
||||||
|
|
||||||
// Spawn SMTP configuration task
|
// Spawn SMTP configuration task
|
||||||
let mut smtp = Smtp::new();
|
let mut smtp = Smtp::new();
|
||||||
@@ -269,15 +269,19 @@ async fn configure(ctx: &Context, param: &mut LoginParam) -> Result<()> {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
progress!(ctx, 600);
|
||||||
|
|
||||||
// Configure IMAP
|
// Configure IMAP
|
||||||
let (_s, r) = async_std::sync::channel(1);
|
let (_s, r) = async_std::sync::channel(1);
|
||||||
let mut imap = Imap::new(r);
|
let mut imap = Imap::new(r);
|
||||||
|
|
||||||
let mut imap_configured = false;
|
let mut imap_configured = false;
|
||||||
for imap_server in servers
|
let imap_servers: Vec<&ServerParams> = servers
|
||||||
.iter()
|
.iter()
|
||||||
.filter(|params| params.protocol == Protocol::IMAP)
|
.filter(|params| params.protocol == Protocol::IMAP)
|
||||||
{
|
.collect();
|
||||||
|
let imap_servers_count = imap_servers.len();
|
||||||
|
for (imap_server_index, imap_server) in imap_servers.into_iter().enumerate() {
|
||||||
param.imap.user = imap_server.username.clone();
|
param.imap.user = imap_server.username.clone();
|
||||||
param.imap.server = imap_server.hostname.clone();
|
param.imap.server = imap_server.hostname.clone();
|
||||||
param.imap.port = imap_server.port;
|
param.imap.port = imap_server.port;
|
||||||
@@ -287,11 +291,17 @@ async fn configure(ctx: &Context, param: &mut LoginParam) -> Result<()> {
|
|||||||
imap_configured = true;
|
imap_configured = true;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
progress!(
|
||||||
|
ctx,
|
||||||
|
600 + (800 - 600) * (1 + imap_server_index) / imap_servers_count
|
||||||
|
);
|
||||||
}
|
}
|
||||||
if !imap_configured {
|
if !imap_configured {
|
||||||
bail!("IMAP autoconfig did not succeed");
|
bail!("IMAP autoconfig did not succeed");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
progress!(ctx, 850);
|
||||||
|
|
||||||
// Wait for SMTP configuration
|
// Wait for SMTP configuration
|
||||||
if let Some(smtp_param) = smtp_config_task.await {
|
if let Some(smtp_param) = smtp_config_task.await {
|
||||||
param.smtp = smtp_param;
|
param.smtp = smtp_param;
|
||||||
|
|||||||
Reference in New Issue
Block a user