conf/accounts: update mailbox status on payload delivery

master
Manos Pitsidianakis 2020-07-16 18:00:53 +03:00
parent d3391e96c0
commit 1f9cdb8be5
Signed by: Manos Pitsidianakis
GPG Key ID: 73627C2F690DF710
1 changed files with 14 additions and 0 deletions

View File

@ -1089,6 +1089,20 @@ impl Account {
.into_iter()
.map(|e| (e.hash(), e))
.collect::<HashMap<EnvelopeHash, Envelope>>();
self.mailbox_entries
.entry(mailbox_hash)
.and_modify(|entry| match entry.status {
MailboxStatus::None => {
entry.status = MailboxStatus::Parsing(envelopes.len(), 0);
}
MailboxStatus::Parsing(ref mut done, _) => {
*done += envelopes.len();
}
MailboxStatus::Failed(_) => {
entry.status = MailboxStatus::Parsing(envelopes.len(), 0);
}
MailboxStatus::Available => {}
});
if let Some(updated_mailboxes) =
self.collection
.merge(envelopes, mailbox_hash, self.sent_mailbox)