From b908bfe67ac8adafb4ac8f70320c02c8825efa3b Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Fri, 2 Jan 2026 20:30:19 +0000 Subject: [PATCH 1/6] Initial plan From c0914748cdb0ac98b0eed35fa1557d0bffe8944e Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Fri, 2 Jan 2026 20:41:27 +0000 Subject: [PATCH 2/6] Add error indicator column to runner pool table Co-authored-by: jog1t <39823706+jog1t@users.noreply.github.com> --- frontend/src/app/runner-config-table.tsx | 39 ++++++++++++++++++++++-- 1 file changed, 36 insertions(+), 3 deletions(-) diff --git a/frontend/src/app/runner-config-table.tsx b/frontend/src/app/runner-config-table.tsx index 03063f5b6f..40cfb975c9 100644 --- a/frontend/src/app/runner-config-table.tsx +++ b/frontend/src/app/runner-config-table.tsx @@ -1,6 +1,7 @@ import { faCog, faCogs, + faExclamationTriangle, faNextjs, faRailway, faTrash, @@ -45,6 +46,7 @@ export function RunnerConfigsTable({ + Name Provider Endpoint @@ -55,7 +57,7 @@ export function RunnerConfigsTable({ {!isLoading && !isError && configs?.length === 0 ? ( - + There's no providers matching criteria. @@ -64,7 +66,7 @@ export function RunnerConfigsTable({ ) : null} {isError ? ( - + An error occurred while fetching providers. @@ -89,7 +91,7 @@ export function RunnerConfigsTable({ {!isLoading && hasNextPage ? ( - +
- + + Status + Name Provider Endpoint @@ -116,7 +118,7 @@ function RowSkeleton() { return ( - + @@ -142,7 +144,7 @@ function Row({ return ( - + From b7b5d221c28fe9628421d65558c435c53b130fd1 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Fri, 2 Jan 2026 20:45:43 +0000 Subject: [PATCH 6/6] Add documentation for type design decisions Co-authored-by: jog1t <39823706+jog1t@users.noreply.github.com> --- frontend/src/app/runner-config-table.tsx | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/frontend/src/app/runner-config-table.tsx b/frontend/src/app/runner-config-table.tsx index 2ddc4e39cb..3680150673 100644 --- a/frontend/src/app/runner-config-table.tsx +++ b/frontend/src/app/runner-config-table.tsx @@ -29,6 +29,9 @@ import { hasMetadataProvider } from "./data-providers/engine-data-provider"; const TABLE_COLUMN_COUNT = 6; +// Type extension for future error field that will be added to RunnerConfig API response +// Error type is intentionally unknown since the backend may return different error formats +// (e.g., string, ServerlessMetadataError enum, or error object) type RunnerConfigWithError = Rivet.RunnerConfig & { error?: unknown }; interface RunnerConfigsTableProps { @@ -299,6 +302,8 @@ function Regions({ regions }: { regions: string[] }) { function RunnerPoolErrorIndicator({ config }: { config: Rivet.RunnerConfig }) { // Check if there's an error in the config // The error field will be added to the API response in the future + // We accept Rivet.RunnerConfig to match the API type and cast internally + // to avoid breaking changes when the error field is added const error = (config as RunnerConfigWithError).error; if (!error) {