From b63029054dae6184e344a7df8bb365868bc4e66d Mon Sep 17 00:00:00 2001 From: James Houlahan Date: Tue, 17 Jan 2023 17:13:52 +0100 Subject: [PATCH] GODT-2223: Fix handling deletion of nonexistent labels --- internal/events/label.go | 3 +-- internal/user/events.go | 8 ++------ 2 files changed, 3 insertions(+), 8 deletions(-) diff --git a/internal/events/label.go b/internal/events/label.go index ecc1cb15..f679776d 100644 --- a/internal/events/label.go +++ b/internal/events/label.go @@ -52,9 +52,8 @@ type UserLabelDeleted struct { UserID string LabelID string - Name string } func (event UserLabelDeleted) String() string { - return fmt.Sprintf("UserLabelDeleted: UserID: %s, LabelID: %s, Name: %s", event.UserID, event.LabelID, logging.Sensitive(event.Name)) + return fmt.Sprintf("UserLabelDeleted: UserID: %s, LabelID: %s", event.UserID, event.LabelID) } diff --git a/internal/user/events.go b/internal/user/events.go index 736e4cb6..154a5d9c 100644 --- a/internal/user/events.go +++ b/internal/user/events.go @@ -393,21 +393,17 @@ func (user *User) handleDeleteLabelEvent(ctx context.Context, event proton.Label user.log.WithField("labelID", event.ID).Info("Handling label deleted event") - label, ok := user.apiLabels[event.ID] - if !ok { - delete(user.apiLabels, event.ID) - } - for _, updateCh := range xslices.Unique(maps.Values(user.updateCh)) { update := imap.NewMailboxDeleted(imap.MailboxID(event.ID)) updateCh.Enqueue(update) updates = append(updates, update) } + delete(user.apiLabels, event.ID) + user.eventCh.Enqueue(events.UserLabelDeleted{ UserID: user.apiUser.ID, LabelID: event.ID, - Name: label.Name, }) return updates, nil