From 05f00f0153066b9bb527773927a3244dad28ef4f Mon Sep 17 00:00:00 2001 From: Drew DeVault Date: Sun, 9 Jun 2019 14:55:04 -0400 Subject: Update our message flags when server updates them --- worker/imap/worker.go | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'worker/imap/worker.go') diff --git a/worker/imap/worker.go b/worker/imap/worker.go index f71a950..373072b 100644 --- a/worker/imap/worker.go +++ b/worker/imap/worker.go @@ -171,6 +171,18 @@ func (w *IMAPWorker) handleImapUpdate(update client.Update) { Recent: int(status.Recent), Unseen: int(status.Unseen), }, nil) + case *client.MessageUpdate: + msg := update.Message + if msg.Uid == 0 { + msg.Uid = w.seqMap[msg.SeqNum-1] + } + w.worker.PostMessage(&types.MessageInfo{ + BodyStructure: msg.BodyStructure, + Envelope: msg.Envelope, + Flags: msg.Flags, + InternalDate: msg.InternalDate, + Uid: msg.Uid, + }, nil) case *client.ExpungeUpdate: i := update.SeqNum - 1 uid := w.seqMap[i] -- cgit v1.2.3