mirror of
https://github.com/chatmail/core.git
synced 2026-04-17 21:46:35 +03:00
Interrupt ephemeral loop when new messages are fetched
This commit is contained in:
13
src/imap.rs
13
src/imap.rs
@@ -458,9 +458,15 @@ impl Imap {
|
|||||||
}
|
}
|
||||||
self.prepare(context).await?;
|
self.prepare(context).await?;
|
||||||
|
|
||||||
self.fetch_new_messages(context, watch_folder, false)
|
if self
|
||||||
|
.fetch_new_messages(context, watch_folder, false)
|
||||||
.await
|
.await
|
||||||
.context("fetch_new_messages")?;
|
.context("fetch_new_messages")?
|
||||||
|
{
|
||||||
|
// New messages were fetched, restart ephemeral loop in case these messages will expire
|
||||||
|
// later.
|
||||||
|
context.interrupt_ephemeral_task().await;
|
||||||
|
}
|
||||||
|
|
||||||
self.move_delete_messages(context, watch_folder)
|
self.move_delete_messages(context, watch_folder)
|
||||||
.await
|
.await
|
||||||
@@ -658,6 +664,9 @@ impl Imap {
|
|||||||
Ok(false)
|
Ok(false)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// Fetches new messages.
|
||||||
|
///
|
||||||
|
/// Returns true if at least one message was fetched.
|
||||||
pub(crate) async fn fetch_new_messages(
|
pub(crate) async fn fetch_new_messages(
|
||||||
&mut self,
|
&mut self,
|
||||||
context: &Context,
|
context: &Context,
|
||||||
|
|||||||
Reference in New Issue
Block a user