mirror of
https://github.com/chatmail/core.git
synced 2026-04-02 05:22:14 +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.fetch_new_messages(context, watch_folder, false)
|
||||
if self
|
||||
.fetch_new_messages(context, watch_folder, false)
|
||||
.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)
|
||||
.await
|
||||
@@ -658,6 +664,9 @@ impl Imap {
|
||||
Ok(false)
|
||||
}
|
||||
|
||||
/// Fetches new messages.
|
||||
///
|
||||
/// Returns true if at least one message was fetched.
|
||||
pub(crate) async fn fetch_new_messages(
|
||||
&mut self,
|
||||
context: &Context,
|
||||
|
||||
Reference in New Issue
Block a user