aboutsummaryrefslogtreecommitdiff
path: root/worker/imap/worker.go
diff options
context:
space:
mode:
Diffstat (limited to 'worker/imap/worker.go')
-rw-r--r--worker/imap/worker.go7
1 files changed, 7 insertions, 0 deletions
diff --git a/worker/imap/worker.go b/worker/imap/worker.go
index 3d4555f..d0b0e71 100644
--- a/worker/imap/worker.go
+++ b/worker/imap/worker.go
@@ -204,6 +204,13 @@ func (w *IMAPWorker) handleImapUpdate(update client.Update) {
Recent: int(status.Recent),
Unseen: int(status.Unseen),
}, nil)
+ case *client.ExpungeUpdate:
+ i := update.SeqNum - 1
+ uid := w.seqMap[i]
+ w.seqMap = append(w.seqMap[:i], w.seqMap[i+1:]...)
+ w.worker.PostMessage(&types.MessagesDeleted{
+ Uids: []uint32{uid},
+ }, nil)
}
}