From 7bb3446c1de687c86c07eb46a807a24bd86c6546 Mon Sep 17 00:00:00 2001 From: Kyle Carberry Date: Fri, 2 Sep 2022 16:12:47 -0500 Subject: [PATCH] fix: Add omitempty for proper latency type This was causing an error on the frontend, because this value can be nil! --- codersdk/workspaceresources.go | 2 +- site/src/api/typesGenerated.ts | 2 +- site/src/components/Resources/ResourceAgentLatency.tsx | 8 ++++++-- 3 files changed, 8 insertions(+), 4 deletions(-) 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