Resolve issues

This commit is contained in:
M Essam Hamed
2025-10-08 19:42:48 +03:00
parent 436d74094b
commit d5ea408cb3
2 changed files with 6 additions and 14 deletions

View File

@@ -4,7 +4,6 @@ import (
"context" "context"
"errors" "errors"
"fmt" "fmt"
"github.com/netbirdio/netbird/client/internal/updatemanager"
"net" "net"
"net/netip" "net/netip"
"runtime" "runtime"
@@ -26,6 +25,7 @@ import (
"github.com/netbirdio/netbird/client/internal/peer" "github.com/netbirdio/netbird/client/internal/peer"
"github.com/netbirdio/netbird/client/internal/profilemanager" "github.com/netbirdio/netbird/client/internal/profilemanager"
"github.com/netbirdio/netbird/client/internal/stdnet" "github.com/netbirdio/netbird/client/internal/stdnet"
nbnet "github.com/netbirdio/netbird/client/net"
cProto "github.com/netbirdio/netbird/client/proto" cProto "github.com/netbirdio/netbird/client/proto"
"github.com/netbirdio/netbird/client/ssh" "github.com/netbirdio/netbird/client/ssh"
"github.com/netbirdio/netbird/client/system" "github.com/netbirdio/netbird/client/system"
@@ -35,7 +35,6 @@ import (
relayClient "github.com/netbirdio/netbird/shared/relay/client" relayClient "github.com/netbirdio/netbird/shared/relay/client"
signal "github.com/netbirdio/netbird/shared/signal/client" signal "github.com/netbirdio/netbird/shared/signal/client"
"github.com/netbirdio/netbird/util" "github.com/netbirdio/netbird/util"
nbnet "github.com/netbirdio/netbird/client/net"
"github.com/netbirdio/netbird/version" "github.com/netbirdio/netbird/version"
) )
@@ -274,16 +273,7 @@ func (c *ConnectClient) run(mobileDependency MobileDependency, runningChan chan
c.engineMutex.Lock() c.engineMutex.Lock()
c.engine = NewEngine(engineCtx, cancel, signalClient, mgmClient, relayManager, engineConfig, mobileDependency, c.statusRecorder, checks) c.engine = NewEngine(engineCtx, cancel, signalClient, mgmClient, relayManager, engineConfig, mobileDependency, c.statusRecorder, checks)
if loginResp.PeerConfig != nil && loginResp.PeerConfig.AutoUpdate != nil { if loginResp.PeerConfig != nil && loginResp.PeerConfig.AutoUpdate != nil {
if c.engine.updateManager == nil && loginResp.PeerConfig.AutoUpdate.Version != "disabled" { c.engine.handleAutoUpdateVersion(loginResp.PeerConfig.AutoUpdate)
c.engine.updateManager = updatemanager.NewUpdateManager(c.statusRecorder, c.engine.stateManager)
c.engine.updateManager.StartWithTimeout(engineCtx, time.Minute)
} else if c.engine.updateManager != nil && loginResp.PeerConfig.AutoUpdate.Version == "disabled" {
c.engine.updateManager.Stop()
c.engine.updateManager = nil
}
if c.engine.updateManager != nil {
c.engine.updateManager.SetVersion(loginResp.PeerConfig.AutoUpdate.Version)
}
} }
c.engine.SetSyncResponsePersistence(c.persistSyncResponse) c.engine.SetSyncResponsePersistence(c.persistSyncResponse)
c.engineMutex.Unlock() c.engineMutex.Unlock()

View File

@@ -3,7 +3,6 @@ package updatemanager
import ( import (
"context" "context"
"fmt" "fmt"
"github.com/netbirdio/netbird/client/internal/statemanager"
"io" "io"
"net/http" "net/http"
"os" "os"
@@ -17,6 +16,7 @@ import (
log "github.com/sirupsen/logrus" log "github.com/sirupsen/logrus"
"github.com/netbirdio/netbird/client/internal/peer" "github.com/netbirdio/netbird/client/internal/peer"
"github.com/netbirdio/netbird/client/internal/statemanager"
cProto "github.com/netbirdio/netbird/client/proto" cProto "github.com/netbirdio/netbird/client/proto"
"github.com/netbirdio/netbird/version" "github.com/netbirdio/netbird/version"
) )
@@ -103,7 +103,6 @@ func (u *UpdateManager) Start(ctx context.Context) {
} }
func (u *UpdateManager) startInit(ctx context.Context) { func (u *UpdateManager) startInit(ctx context.Context) {
go u.update.StartFetcher()
u.update.SetDaemonVersion(u.currentVersion) u.update.SetDaemonVersion(u.currentVersion)
u.update.SetOnUpdateListener(func() { u.update.SetOnUpdateListener(func() {
select { select {
@@ -111,6 +110,7 @@ func (u *UpdateManager) startInit(ctx context.Context) {
default: default:
} }
}) })
go u.update.StartFetcher()
u.stateManager.RegisterState(&UpdateState{}) u.stateManager.RegisterState(&UpdateState{})
if err := u.stateManager.LoadState(&UpdateState{}); err != nil { if err := u.stateManager.LoadState(&UpdateState{}); err != nil {
@@ -190,6 +190,8 @@ func (u *UpdateManager) onContextCancel() {
return return
} }
u.expectedVersionMutex.Lock()
defer u.expectedVersionMutex.Unlock()
if u.update != nil { if u.update != nil {
u.update.StopWatch() u.update.StopWatch()
u.update = nil u.update = nil