GODT-2223: Fix handling of create/update label events

This commit is contained in:
James Houlahan
2023-01-17 17:23:01 +01:00
committed by Leander Beernaert
parent d68014ec7b
commit e35f3b6056
3 changed files with 14 additions and 10 deletions

View File

@ -21,8 +21,6 @@ import "errors"
var (
ErrNoSuchAddress = errors.New("no such address")
ErrNotImplemented = errors.New("not implemented")
ErrNotSupported = errors.New("not supported")
ErrInvalidReturnPath = errors.New("invalid return path")
ErrInvalidRecipient = errors.New("invalid recipient")
ErrMissingAddrKey = errors.New("missing address key")

View File

@ -333,14 +333,13 @@ func (user *User) handleLabelEvents(ctx context.Context, labelEvents []proton.La
func (user *User) handleCreateLabelEvent(ctx context.Context, event proton.LabelEvent) ([]imap.Update, error) { //nolint:unparam
return safe.LockRetErr(func() ([]imap.Update, error) {
var updates []imap.Update
user.log.WithFields(logrus.Fields{
"labelID": event.ID,
"name": logging.Sensitive(event.Label.Name),
}).Info("Handling label created event")
if _, ok := user.apiLabels[event.Label.ID]; ok {
user.apiLabels[event.Label.ID] = event.Label
}
user.apiLabels[event.Label.ID] = event.Label
for _, updateCh := range xslices.Unique(maps.Values(user.updateCh)) {
update := newMailboxCreatedUpdate(imap.MailboxID(event.ID), getMailboxName(event.Label))
@ -361,14 +360,13 @@ func (user *User) handleCreateLabelEvent(ctx context.Context, event proton.Label
func (user *User) handleUpdateLabelEvent(ctx context.Context, event proton.LabelEvent) ([]imap.Update, error) { //nolint:unparam
return safe.LockRetErr(func() ([]imap.Update, error) {
var updates []imap.Update
user.log.WithFields(logrus.Fields{
"labelID": event.ID,
"name": logging.Sensitive(event.Label.Name),
}).Info("Handling label updated event")
if _, ok := user.apiLabels[event.Label.ID]; !ok {
user.apiLabels[event.Label.ID] = event.Label
}
user.apiLabels[event.Label.ID] = event.Label
for _, updateCh := range xslices.Unique(maps.Values(user.updateCh)) {
update := imap.NewMailboxUpdated(