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.
This commit is contained in:
iequidoo
2024-08-10 17:08:18 -03:00
committed by iequidoo
parent 22366cf246
commit a53ffcf5e3

View File

@@ -1045,18 +1045,12 @@ impl Session {
.await?; .await?;
for (folder, rowid_set, uid_set) in UidGrouper::from(rows) { for (folder, rowid_set, uid_set) in UidGrouper::from(rows) {
self.select_with_uidvalidity(context, &folder) if let Err(err) = self.select_with_uidvalidity(context, &folder).await {
.await warn!(context, "store_seen_flags_on_imap: Failed to select {folder}, will retry later: {err:#}.");
.context("failed to select folder")?; } else if let Err(err) = self.add_flag_finalized_with_set(&uid_set, "\\Seen").await {
if let Err(err) = self.add_flag_finalized_with_set(&uid_set, "\\Seen").await {
warn!( warn!(
context, context,
"Cannot mark messages {} in folder {} as seen, will retry later: {}.", "Cannot mark messages {uid_set} in {folder} as seen, will retry later: {err:#}.");
uid_set,
folder,
err
);
} else { } else {
info!( info!(
context, context,