diff --git a/codersdk/workspaceresources.go b/codersdk/workspaceresources.go index 03096c84c4d0f..4dcb2828a8182 100644 --- a/codersdk/workspaceresources.go +++ b/codersdk/workspaceresources.go @@ -59,7 +59,7 @@ type WorkspaceAgent struct { Version string `json:"version"` Apps []WorkspaceApp `json:"apps"` // DERPLatency is mapped by region name (e.g. "New York City", "Seattle"). - DERPLatency map[string]DERPRegion `json:"latency"` + DERPLatency map[string]DERPRegion `json:"latency,omitempty"` } type WorkspaceAgentResourceMetadata struct { diff --git a/site/src/api/typesGenerated.ts b/site/src/api/typesGenerated.ts index e2998a383ebde..c94c8b1c173f8 100644 --- a/site/src/api/typesGenerated.ts +++ b/site/src/api/typesGenerated.ts @@ -536,7 +536,7 @@ export interface WorkspaceAgent { readonly directory?: string readonly version: string readonly apps: WorkspaceApp[] - readonly latency: Record + readonly latency?: Record } // From codersdk/workspaceagents.go diff --git a/site/src/components/Resources/ResourceAgentLatency.tsx b/site/src/components/Resources/ResourceAgentLatency.tsx index fa0fcbecd5ca3..3fcc74f875df7 100644 --- a/site/src/components/Resources/ResourceAgentLatency.tsx +++ b/site/src/components/Resources/ResourceAgentLatency.tsx @@ -10,9 +10,13 @@ export interface ResourceAgentLatencyProps { export const ResourceAgentLatency: React.FC = (props) => { const styles = useStyles() + if (!props.latency) { + return null + } if (Object.keys(props.latency).length === 0) { return null } + const latency = props.latency return (
@@ -24,10 +28,10 @@ export const ResourceAgentLatency: React.FC = (props)
- {Object.keys(props.latency) + {Object.keys(latency) .sort() .map((region) => { - const value = props.latency[region] + const value = latency[region] return (
{region}: {Math.round(value.latency_ms * 100) / 100} ms