mirror of
https://github.com/chatmail/core.git
synced 2026-05-19 23:06:32 +03:00
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:
14
src/imap.rs
14
src/imap.rs
@@ -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,
|
||||||
|
|||||||
Reference in New Issue
Block a user