From a3cb9cc8172b58de5cb07eb5f4ffd9a4a900ebb8 Mon Sep 17 00:00:00 2001 From: stroblme Date: Sun, 6 Sep 2026 14:24:28 +0200 Subject: [PATCH] Drop the unused Logo icon variant, poll the Home runs tile at 10s The icon variant lost its last caller when the responsive variant stopped carrying a second cropped image. runOverviewQueryOptions now takes the refetch interval, defaulting to the 30s the Runs screen and the dashboard panel want; Home passes 10s so a short run does not linger on the tile. agents.md spells the API host as api.${DOMAIN}, which is what the rest of the docs use. Co-Authored-By: Claude Opus 5 (1M context) Claude-Session: https://claude.ai/code/session_01CL9zvnnvcp1mvA8o7impxk --- docs/code/agents.md | 2 +- frontend/src/components/Common/Logo.tsx | 6 ++---- frontend/src/components/Health/HealthOverview.tsx | 5 +++-- frontend/src/components/Runs/queries.ts | 10 ++++++++-- 4 files changed, 14 insertions(+), 9 deletions(-) diff --git a/docs/code/agents.md b/docs/code/agents.md index 6607859..31d9d45 100644 --- a/docs/code/agents.md +++ b/docs/code/agents.md @@ -20,7 +20,7 @@ local stack. ## Connecting a client ```sh -claude mcp add --transport http fluksio https://api.fluksio.com/mcp +claude mcp add --transport http fluksio https://api.${DOMAIN}/mcp ``` The OAuth flow does the rest: the client registers itself, you approve it in diff --git a/frontend/src/components/Common/Logo.tsx b/frontend/src/components/Common/Logo.tsx index fe21472..53ab408 100644 --- a/frontend/src/components/Common/Logo.tsx +++ b/frontend/src/components/Common/Logo.tsx @@ -6,7 +6,7 @@ import logoDark from "/assets/images/fluksio-dark.svg" import logo from "/assets/images/fluksio-light.svg" interface LogoProps { - variant?: "full" | "icon" | "responsive" + variant?: "full" | "responsive" className?: string asLink?: boolean } @@ -29,9 +29,7 @@ export function Logo({ className={cn( variant === "full" ? "h-6 w-auto" - : variant === "responsive" - ? "h-6 w-auto group-data-[collapsible=icon]:hidden" - : "size-5 object-contain", + : "h-6 w-auto group-data-[collapsible=icon]:hidden", className, )} /> diff --git a/frontend/src/components/Health/HealthOverview.tsx b/frontend/src/components/Health/HealthOverview.tsx index 6d32d3e..61e2b06 100644 --- a/frontend/src/components/Health/HealthOverview.tsx +++ b/frontend/src/components/Health/HealthOverview.tsx @@ -69,8 +69,9 @@ export function HealthOverview({ // Shares the list below's cache entry, for the one tile that dates them. const { data: failures } = useQuery(failuresQueryOptions(range)) // Shares the Runs screen's cache entry, which already counts by status in - // the database rather than over a page of rows. - const { data: runs } = useQuery(runOverviewQueryOptions()) + // the database rather than over a page of rows. Polled at the rate the + // other tiles are, since a short run would otherwise sit here after it ends. + const { data: runs } = useQuery(runOverviewQueryOptions(10_000)) const queue = (summary?.queue ?? {}) as Record const degraded = summary?.status === "degraded" diff --git a/frontend/src/components/Runs/queries.ts b/frontend/src/components/Runs/queries.ts index adfb878..833f719 100644 --- a/frontend/src/components/Runs/queries.ts +++ b/frontend/src/components/Runs/queries.ts @@ -73,10 +73,16 @@ export const runsListQueryOptions = ( queryFn: () => RunsService.readRuns(filters), }) -export const runOverviewQueryOptions = () => ({ +/** + * Runs counted by status. + * + * A training run is measured in hours, so half a minute is close enough by + * default; a caller watching short runs land passes something shorter. + */ +export const runOverviewQueryOptions = (refetchInterval = 30_000) => ({ queryKey: runKeys.overview, queryFn: () => RunsService.readOverview(), - refetchInterval: 30_000, + refetchInterval, }) export const runQueryOptions = (id: string) => ({