From 3ace4ef73245577d5d407f48a8214de72b70b57d Mon Sep 17 00:00:00 2001
From: Drew DeVault <sir@cmpwn.com>
Date: Mon, 13 May 2019 20:23:23 -0400
Subject: Handle external message deletions

---
 worker/imap/worker.go | 7 +++++++
 1 file changed, 7 insertions(+)

(limited to 'worker')

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)
 	}
 }
 
-- 
cgit v1.2.3