From 739fe826b37fc411d1cd05d395003528e2c68cf7 Mon Sep 17 00:00:00 2001 From: James Houlahan Date: Tue, 8 Nov 2022 13:37:59 +0100 Subject: [PATCH] GODT-2048: Add missing special use attributes --- internal/user/sync.go | 27 ++++++++++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-) diff --git a/internal/user/sync.go b/internal/user/sync.go index c5f63531..a5cd50cb 100644 --- a/internal/user/sync.go +++ b/internal/user/sync.go @@ -242,12 +242,37 @@ func newSystemMailboxCreatedUpdate(labelID imap.MailboxID, labelName string) *im labelName = imap.Inbox } + attrs := imap.NewFlagSet(imap.AttrNoInferiors) + + switch labelID { + case liteapi.TrashLabel: + attrs = attrs.Add(imap.AttrTrash) + + case liteapi.SpamLabel: + attrs = attrs.Add(imap.AttrJunk) + + case liteapi.AllMailLabel: + attrs = attrs.Add(imap.AttrAll) + + case liteapi.ArchiveLabel: + attrs = attrs.Add(imap.AttrArchive) + + case liteapi.SentLabel: + attrs = attrs.Add(imap.AttrSent) + + case liteapi.DraftsLabel: + attrs = attrs.Add(imap.AttrDrafts) + + case liteapi.StarredLabel: + attrs = attrs.Add(imap.AttrFlagged) + } + return imap.NewMailboxCreated(imap.Mailbox{ ID: labelID, Name: []string{labelName}, Flags: defaultFlags, PermanentFlags: defaultPermanentFlags, - Attributes: imap.NewFlagSet(imap.AttrNoInferiors), + Attributes: attrs, }) }