From 00d062067945b1cb30b6dd574ecc2fbb5df6ec50 Mon Sep 17 00:00:00 2001 From: Mathias Fredriksson Date: Mon, 3 Oct 2022 16:53:11 +0300 Subject: [PATCH] fix: Fix err check in DialWorkspaceAgentTailnet (#4320) --- codersdk/workspaceagents.go | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) diff --git a/codersdk/workspaceagents.go b/codersdk/workspaceagents.go index 48c5743b7f..687aa704e6 100644 --- a/codersdk/workspaceagents.go +++ b/codersdk/workspaceagents.go @@ -331,8 +331,12 @@ func (c *Client) DialWorkspaceAgentTailnet(ctx context.Context, logger slog.Logg // Need to disable compression to avoid a data-race. CompressionMode: websocket.CompressionDisabled, }) - if errors.Is(err, context.Canceled) { - return + if err != nil { + if errors.Is(err, context.Canceled) { + return + } + logger.Debug(ctx, "failed to dial", slog.Error(err)) + continue } if isFirst { if res.StatusCode == http.StatusConflict { @@ -342,14 +346,6 @@ func (c *Client) DialWorkspaceAgentTailnet(ctx context.Context, logger slog.Logg isFirst = false close(first) } - if err != nil { - logger.Debug(ctx, "failed to dial", slog.Error(err)) - continue - } - if isFirst { - isFirst = false - close(first) - } sendNode, errChan := tailnet.ServeCoordinator(websocket.NetConn(ctx, ws, websocket.MessageBinary), func(node []*tailnet.Node) error { return conn.UpdateNodes(node) })