From bedf181aff3089fedad1f50dad9448ee2afc9241 Mon Sep 17 00:00:00 2001 From: Manos Pitsidianakis Date: Mon, 30 Nov 2020 02:16:11 +0200 Subject: [PATCH] melib/imap: examine all mailboxes before idle --- melib/src/backends/imap/watch.rs | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/melib/src/backends/imap/watch.rs b/melib/src/backends/imap/watch.rs index 4d5321b9..c913710c 100644 --- a/melib/src/backends/imap/watch.rs +++ b/melib/src/backends/imap/watch.rs @@ -110,6 +110,12 @@ pub async fn idle(kit: ImapWatchKit) -> Result<()> { let mailboxes_lck = timeout(uid_store.timeout, uid_store.mailboxes.lock()).await?; mailboxes_lck.clone() }; + for (h, mailbox) in mailboxes.clone() { + if mailbox_hash == h { + continue; + } + examine_updates(mailbox, &mut conn, &uid_store).await?; + } conn.send_command(b"IDLE").await?; let mut blockn = ImapBlockingConnection::from(conn); let mut watch = std::time::Instant::now();