diff --git a/cli/cliui/agent.go b/cli/cliui/agent.go index 42a42f82de983..7620efa83b1e6 100644 --- a/cli/cliui/agent.go +++ b/cli/cliui/agent.go @@ -237,12 +237,14 @@ func Agent(ctx context.Context, writer io.Writer, agentID uuid.UUID, opts AgentO sw.Start(stage) sw.Log(time.Now(), codersdk.LogLevelWarn, "Wait for it to reconnect or restart your workspace.") sw.Log(time.Now(), codersdk.LogLevelWarn, troubleshootingMessage(agent, "https://coder.com/docs/v2/latest/templates#agent-connection-issues")) + + disconnectedAt := *agent.DisconnectedAt for agent.Status == codersdk.WorkspaceAgentDisconnected { if agent, err = fetch(); err != nil { return xerrors.Errorf("fetch: %w", err) } } - sw.Complete(stage, agent.LastConnectedAt.Sub(*agent.DisconnectedAt)) + sw.Complete(stage, agent.LastConnectedAt.Sub(disconnectedAt)) } } } diff --git a/cli/cliui/agent_test.go b/cli/cliui/agent_test.go index 2c474e84c22f5..ffb116f3a8f01 100644 --- a/cli/cliui/agent_test.go +++ b/cli/cliui/agent_test.go @@ -133,6 +133,7 @@ func TestAgent(t *testing.T) { }, func(_ context.Context, agent *codersdk.WorkspaceAgent, _ chan []codersdk.WorkspaceAgentLog) error { agent.Status = codersdk.WorkspaceAgentConnected + agent.DisconnectedAt = nil agent.LastConnectedAt = ptr.Ref(time.Now()) return nil },