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) })