imap: expunge folder before IDLE if needed

This ensures Inbox is expunged timely in setups that don't watch
DeltaChat folder.
This commit is contained in:
Alexander Krotov
2020-07-12 19:01:35 +03:00
committed by link2xt
parent d3eb209d27
commit 1e84e81e7d
3 changed files with 16 additions and 5 deletions

View File

@@ -74,6 +74,13 @@ async fn inbox_loop(ctx: Context, started: Sender<()>, inbox_handlers: ImapConne
}
None => {
jobs_loaded = 0;
// Expunge folder if needed, e.g. if some jobs have
// deleted messages on the server.
if let Err(err) = connection.maybe_close_folder(&ctx).await {
warn!(ctx, "failed to close folder: {:?}", err);
}
info = if ctx.get_config_bool(Config::InboxWatch).await {
fetch_idle(&ctx, &mut connection, Config::ConfiguredInboxFolder).await
} else {