diff --git a/internal/services/imapservice/service_message_events.go b/internal/services/imapservice/service_message_events.go index d7b498a2..15f9a907 100644 --- a/internal/services/imapservice/service_message_events.go +++ b/internal/services/imapservice/service_message_events.go @@ -256,8 +256,8 @@ func onMessageUpdateDraftOrSent(ctx context.Context, s *Service, event proton.Me res.update.Literal, res.update.MailboxIDs, res.update.ParsedMessage, - true, // Is the message doesn't exist, silently create it. - false, + true, // Is the message doesn't exist, silently create it. + duringSync, // Ignore unknown labelIDs during sync. ) didPublish, err := safePublishMessageUpdate(ctx, s, full.AddressID, update, duringSync) diff --git a/internal/services/imapservice/service_sync_events.go b/internal/services/imapservice/service_sync_events.go index e3974b2a..149a8839 100644 --- a/internal/services/imapservice/service_sync_events.go +++ b/internal/services/imapservice/service_sync_events.go @@ -113,7 +113,7 @@ func (s syncMessageEventHandler) HandleMessageEvents(ctx context.Context, events if err := waitOnIMAPUpdates(ctx, updates); gluon.IsNoSuchMessage(err) { logrus.WithError(err).Error("Failed to handle update message event in gluon, will try creating it (sync)") - updates, err := onMessageCreated(ctx, s.service, event.Message, false, true) + updates, err := onMessageCreated(ctx, s.service, event.Message, true, true) if err != nil { s.service.observabilitySender.AddDistinctMetrics( observability.SyncError,