diff options
author | Drew DeVault <sir@cmpwn.com> | 2019-05-13 20:23:23 -0400 |
---|---|---|
committer | Drew DeVault <sir@cmpwn.com> | 2019-05-13 20:23:23 -0400 |
commit | 3ace4ef73245577d5d407f48a8214de72b70b57d (patch) | |
tree | c8d739ab69343cb09bbd735dcdb1d861ea96b7c5 | |
parent | 026e8a17ca40955652949584388b38566fef66e7 (diff) | |
download | aerc-3ace4ef73245577d5d407f48a8214de72b70b57d.tar.gz |
Handle external message deletions
-rw-r--r-- | widgets/msglist.go | 1 | ||||
-rw-r--r-- | worker/imap/worker.go | 7 |
2 files changed, 7 insertions, 1 deletions
diff --git a/widgets/msglist.go b/widgets/msglist.go index 65473a84..eeadec72 100644 --- a/widgets/msglist.go +++ b/widgets/msglist.go @@ -109,7 +109,6 @@ func (ml *MessageList) Height() int { } func (ml *MessageList) storeUpdate(store *lib.MessageStore) { - ml.logger.Println("message store updated") if ml.Store() != store { return } diff --git a/worker/imap/worker.go b/worker/imap/worker.go index 3d4555f1..d0b0e712 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) } } |