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.go12
1 files changed, 12 insertions, 0 deletions
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]