From c418d6cfc33ebf5559be4cceedea7158d021b0b6 Mon Sep 17 00:00:00 2001 From: Mikhail Chusavitin Date: Thu, 5 Feb 2026 15:11:43 +0300 Subject: [PATCH] Handle stale configuration sync events when local row is missing --- internal/services/sync/service.go | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/internal/services/sync/service.go b/internal/services/sync/service.go index f8cfa7f..b448a09 100644 --- a/internal/services/sync/service.go +++ b/internal/services/sync/service.go @@ -637,6 +637,10 @@ func (s *Service) resolveConfigurationPayloadForPush(change *localdb.PendingChan currentCfg, currentVersionID, currentVersionNo, err := s.loadCurrentConfigurationState(payload.ConfigurationUUID) if err != nil { + // Local config may be gone (e.g. stale queue item after delete/cleanup). Treat as no-op. + if errors.Is(err, gorm.ErrRecordNotFound) { + return payload, payload.Snapshot, true, nil + } // create->deactivate race: config may no longer be active/visible locally, skip stale create. if change.Operation == "create" { return payload, payload.Snapshot, true, nil