From a53ffcf5e3c6af15181a39089559992e2a38a2ee Mon Sep 17 00:00:00 2001 From: iequidoo Date: Sat, 10 Aug 2024 17:08:18 -0300 Subject: [PATCH] fix: store_seen_flags_on_imap: Skip to next messages if couldn't select folder (#5870) `imap::Session::store_seen_flags_on_imap()` handles messages from multiple folders, so not being able to select one folder mustn't fail the whole function. --- src/imap.rs | 14 ++++---------- 1 file changed, 4 insertions(+), 10 deletions(-) diff --git a/src/imap.rs b/src/imap.rs index 2f053a97b..67b4d5a80 100644 --- a/src/imap.rs +++ b/src/imap.rs @@ -1045,18 +1045,12 @@ impl Session { .await?; for (folder, rowid_set, uid_set) in UidGrouper::from(rows) { - self.select_with_uidvalidity(context, &folder) - .await - .context("failed to select folder")?; - - if let Err(err) = self.add_flag_finalized_with_set(&uid_set, "\\Seen").await { + if let Err(err) = self.select_with_uidvalidity(context, &folder).await { + warn!(context, "store_seen_flags_on_imap: Failed to select {folder}, will retry later: {err:#}."); + } else if let Err(err) = self.add_flag_finalized_with_set(&uid_set, "\\Seen").await { warn!( context, - "Cannot mark messages {} in folder {} as seen, will retry later: {}.", - uid_set, - folder, - err - ); + "Cannot mark messages {uid_set} in {folder} as seen, will retry later: {err:#}."); } else { info!( context,