diff options
author | 2023-03-16 00:38:49 +0100 | |
---|---|---|
committer | 2023-03-16 00:43:36 +0100 | |
commit | 523acbd733f1dbee9fa60ccd017258671c622166 (patch) | |
tree | 2c1dcdef91e6d77fba9b52a50ae19711af8c7e3f | |
parent | 20607d963b53ca89438dd39bf2ec2358bd9b5ee3 (diff) | |
download | alps-523acbd733f1dbee9fa60ccd017258671c622166.tar.gz alps-523acbd733f1dbee9fa60ccd017258671c622166.tar.bz2 alps-523acbd733f1dbee9fa60ccd017258671c622166.zip |
plugins/base: fix unread count missing for INBOX and active
-rw-r--r-- | plugins/base/routes.go | 23 |
1 files changed, 13 insertions, 10 deletions
diff --git a/plugins/base/routes.go b/plugins/base/routes.go index 52d1681..af2b51e 100644 --- a/plugins/base/routes.go +++ b/plugins/base/routes.go @@ -143,7 +143,7 @@ func newIMAPBaseRenderData(ctx *alps.Context, return nil, fmt.Errorf("failed to load settings: %v", err) } - subscriptions := make(map[string]*MailboxStatus) + statuses := make(map[string]*MailboxStatus) var mailboxes []MailboxInfo var active, inbox *MailboxStatus err = ctx.Session.DoIMAP(func(c *imapclient.Client) error { @@ -170,7 +170,7 @@ func newIMAPBaseRenderData(ctx *alps.Context, if status, err := getMailboxStatus(c, sub); err != nil { return err } else { - subscriptions[sub] = status + statuses[sub] = status } } return nil @@ -179,21 +179,24 @@ func newIMAPBaseRenderData(ctx *alps.Context, return nil, err } - var categorized CategorizedMailboxes + if mboxName != "" { + statuses[mboxName] = active + } + statuses["INBOX"] = inbox + var categorized CategorizedMailboxes for i := range mailboxes { // Populate unseen & active states if active != nil && mailboxes[i].Name == active.Name { - mailboxes[i].Unseen = int(active.Unseen) - mailboxes[i].Total = int(active.Messages) mailboxes[i].Active = true } - if mailboxes[i].Name == inbox.Name { - mailboxes[i].Unseen = int(inbox.Unseen) - mailboxes[i].Total = int(inbox.Messages) + status := statuses[mailboxes[i].Name] + if status != nil { + mailboxes[i].Unseen = int(status.Unseen) + mailboxes[i].Total = int(status.Messages) } - categorized.Append(mailboxes[i], subscriptions[mailboxes[i].Name]) + categorized.Append(mailboxes[i], status) } return &IMAPBaseRenderData{ @@ -202,7 +205,7 @@ func newIMAPBaseRenderData(ctx *alps.Context, Mailboxes: mailboxes, Inbox: inbox, Mailbox: active, - Subscriptions: subscriptions, + Subscriptions: statuses, }, nil } |