summaryrefslogtreecommitdiffstats
path: root/melib
diff options
context:
space:
mode:
authorManos Pitsidianakis <el13635@mail.ntua.gr>2020-11-30 02:16:11 +0200
committerManos Pitsidianakis <el13635@mail.ntua.gr>2020-11-30 02:20:09 +0200
commitbedf181aff3089fedad1f50dad9448ee2afc9241 (patch)
treefbb1fbbb798286d104b618d5f6bb25bf3b5790b1 /melib
parent9dd21eea50ceda147b5e8da27856bc576c1fbfda (diff)
melib/imap: examine all mailboxes before idle
Diffstat (limited to 'melib')
-rw-r--r--melib/src/backends/imap/watch.rs6
1 files changed, 6 insertions, 0 deletions
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();