diff options
Diffstat (limited to 'worker/imap')
-rw-r--r-- | worker/imap/worker.go | 7 |
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) } } |