From 7a95bf5652e5093891966161fa51ed1bba44aa52 Mon Sep 17 00:00:00 2001 From: aliamerj Date: Fri, 10 Oct 2025 17:14:08 +0300 Subject: [PATCH] fix bug with missing logs file --- client/cmd/up.go | 5 ++--- client/embed/embed.go | 5 ++--- client/internal/connect.go | 15 ++++++--------- client/internal/debug/debug.go | 10 +++++----- client/ios/NetBirdSDK/client.go | 2 +- client/server/server.go | 4 ++-- 6 files changed, 18 insertions(+), 23 deletions(-) diff --git a/client/cmd/up.go b/client/cmd/up.go index 1b751aa55..5b7ac4ac4 100644 --- a/client/cmd/up.go +++ b/client/cmd/up.go @@ -197,11 +197,10 @@ func runInForegroundMode(ctx context.Context, cmd *cobra.Command, activeProf *pr r := peer.NewRecorder(config.ManagementURL.String()) r.GetFullStatus() - //todo: do we need to pass logFile here ? - connectClient := internal.NewConnectClient(ctx, config, r, "") + connectClient := internal.NewConnectClient(ctx, config, r) SetupDebugHandler(ctx, config, r, connectClient, "") - return connectClient.Run(nil) + return connectClient.Run(nil, util.FindFirstLogPath(logFiles)) } func runInDaemonMode(ctx context.Context, cmd *cobra.Command, pm *profilemanager.ProfileManager, activeProf *profilemanager.Profile, profileSwitched bool) error { diff --git a/client/embed/embed.go b/client/embed/embed.go index d52240062..8dea760b6 100644 --- a/client/embed/embed.go +++ b/client/embed/embed.go @@ -170,15 +170,14 @@ func (c *Client) Start(startCtx context.Context) error { recorder := peer.NewRecorder(c.config.ManagementURL.String()) - //todo: do we need to pass logFile here ? - client := internal.NewConnectClient(ctx, c.config, recorder, "") + client := internal.NewConnectClient(ctx, c.config, recorder) // either startup error (permanent backoff err) or nil err (successful engine up) // TODO: make after-startup backoff err available run := make(chan struct{}) clientErr := make(chan error, 1) go func() { - if err := client.Run(run); err != nil { + if err := client.Run(run, ""); err != nil { clientErr <- err } }() diff --git a/client/internal/connect.go b/client/internal/connect.go index e788c2a3d..e85af42b1 100644 --- a/client/internal/connect.go +++ b/client/internal/connect.go @@ -46,27 +46,24 @@ type ConnectClient struct { engineMutex sync.Mutex persistSyncResponse bool - LogFile string } func NewConnectClient( ctx context.Context, config *profilemanager.Config, statusRecorder *peer.Status, - logFile string, ) *ConnectClient { return &ConnectClient{ ctx: ctx, config: config, - LogFile: logFile, statusRecorder: statusRecorder, engineMutex: sync.Mutex{}, } } // Run with main logic. -func (c *ConnectClient) Run(runningChan chan struct{}) error { - return c.run(MobileDependency{}, runningChan) +func (c *ConnectClient) Run(runningChan chan struct{}, logFile string) error { + return c.run(MobileDependency{}, runningChan, logFile) } // RunOnAndroid with main logic on mobile system @@ -85,7 +82,7 @@ func (c *ConnectClient) RunOnAndroid( HostDNSAddresses: dnsAddresses, DnsReadyListener: dnsReadyListener, } - return c.run(mobileDependency, nil) + return c.run(mobileDependency, nil, "") } func (c *ConnectClient) RunOniOS( @@ -103,10 +100,10 @@ func (c *ConnectClient) RunOniOS( DnsManager: dnsManager, StateFilePath: stateFilePath, } - return c.run(mobileDependency, nil) + return c.run(mobileDependency, nil, "") } -func (c *ConnectClient) run(mobileDependency MobileDependency, runningChan chan struct{}) error { +func (c *ConnectClient) run(mobileDependency MobileDependency, runningChan chan struct{}, logFile string) error { defer func() { if r := recover(); r != nil { rec := c.statusRecorder @@ -249,7 +246,7 @@ func (c *ConnectClient) run(mobileDependency MobileDependency, runningChan chan relayURLs, token := parseRelayInfo(loginResp) peerConfig := loginResp.GetPeerConfig() - engineConfig, err := createEngineConfig(myPrivateKey, c.config, peerConfig, c.LogFile) + engineConfig, err := createEngineConfig(myPrivateKey, c.config, peerConfig, logFile) if err != nil { log.Error(err) return wrapErr(err) diff --git a/client/internal/debug/debug.go b/client/internal/debug/debug.go index ec920c5f3..5300622ef 100644 --- a/client/internal/debug/debug.go +++ b/client/internal/debug/debug.go @@ -259,11 +259,11 @@ func (g *BundleGenerator) Generate() (resp string, err error) { err = fmt.Errorf("close zip file: %w", closeErr) } - if err != nil { - if removeErr := os.Remove(bundlePath.Name()); removeErr != nil { - log.Errorf("Failed to remove zip file: %v", removeErr) - } - } + // if err != nil { + // if removeErr :=h.Name()); os.Remove(bundlePatremoveErr != nil { + // log.Errorf("Failed to remove zip file: %v", removeErr) + // } + // } }() g.archive = zip.NewWriter(bundlePath) diff --git a/client/ios/NetBirdSDK/client.go b/client/ios/NetBirdSDK/client.go index e50962f9e..7ea2d3282 100644 --- a/client/ios/NetBirdSDK/client.go +++ b/client/ios/NetBirdSDK/client.go @@ -128,7 +128,7 @@ func (c *Client) Run(fd int32, interfaceName string) error { cfg.WgIface = interfaceName //todo: do we need to pass logFile here ? - c.connectClient = internal.NewConnectClient(ctx, cfg, c.recorder, "") + c.connectClient = internal.NewConnectClient(ctx, cfg, c.recorder) return c.connectClient.RunOniOS(fd, c.networkChangeListener, c.dnsManager, c.stateFile) } diff --git a/client/server/server.go b/client/server/server.go index 62c4a5a15..87fe7d201 100644 --- a/client/server/server.go +++ b/client/server/server.go @@ -1250,9 +1250,9 @@ func (s *Server) GetFeatures(ctx context.Context, msg *proto.GetFeaturesRequest) func (s *Server) connect(ctx context.Context, config *profilemanager.Config, statusRecorder *peer.Status, runningChan chan struct{}) error { log.Tracef("running client connection") - s.connectClient = internal.NewConnectClient(ctx, config, statusRecorder, s.logFile) + s.connectClient = internal.NewConnectClient(ctx, config, statusRecorder) s.connectClient.SetSyncResponsePersistence(s.persistSyncResponse) - if err := s.connectClient.Run(runningChan); err != nil { + if err := s.connectClient.Run(runningChan, s.logFile); err != nil { return err } return nil