From ed309b70f01cae412ce83ba0ab3113f00ec25c61 Mon Sep 17 00:00:00 2001 From: Viktor Liu Date: Fri, 17 Jul 2026 10:03:35 +0200 Subject: [PATCH] Keep cached lazy flag when a sync carries no peer config --- client/internal/engine.go | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/client/internal/engine.go b/client/internal/engine.go index 0932a0366..ed33a9a06 100644 --- a/client/internal/engine.go +++ b/client/internal/engine.go @@ -1491,8 +1491,12 @@ func (e *Engine) updateNetworkMap(networkMap *mgmProto.NetworkMap) error { return nil } - if err := e.connMgr.UpdatedRemoteFeatureFlag(e.ctx, networkMap.GetPeerConfig().GetLazyConnectionEnabled()); err != nil { - log.Errorf("failed to update lazy connection feature flag: %v", err) + // Only update the flag when the sync carries a peer config; a nil peer config + // (e.g. a partial update) must not reset the cached flag to false. + if peerConfig := networkMap.GetPeerConfig(); peerConfig != nil { + if err := e.connMgr.UpdatedRemoteFeatureFlag(e.ctx, peerConfig.GetLazyConnectionEnabled()); err != nil { + log.Errorf("failed to update lazy connection feature flag: %v", err) + } } if e.firewall != nil {