From 7e343ed1f2b4d9a35340e7282f3d9283af9c70c1 Mon Sep 17 00:00:00 2001 From: Cole Goldsmith Date: Fri, 7 Nov 2025 11:49:57 -0600 Subject: [PATCH] Fix provider health banner showing during onboarding (#372) * disable provider health query until edited is true, set initial provider health cache to true when onboarding mutation succeeds * fix scroll issue with model selector in dialog --- frontend/components/provider-health-banner.tsx | 13 ++++++++++++- .../app/api/mutations/useUpdateSettingsMutation.ts | 3 +++ .../src/app/api/queries/useProviderHealthQuery.ts | 11 ++++------- .../app/onboarding/components/model-selector.tsx | 10 +++++++--- .../app/onboarding/components/onboarding-card.tsx | 11 +++++++++++ 5 files changed, 37 insertions(+), 11 deletions(-) diff --git a/frontend/components/provider-health-banner.tsx b/frontend/components/provider-health-banner.tsx index 0782e7f9..aa98b197 100644 --- a/frontend/components/provider-health-banner.tsx +++ b/frontend/components/provider-health-banner.tsx @@ -7,6 +7,7 @@ import { useProviderHealthQuery } from "@/src/app/api/queries/useProviderHealthQ import { Button } from "./ui/button"; import { useRouter } from "next/navigation"; import { useGetSettingsQuery } from "@/app/api/queries/useGetSettingsQuery"; +import { ModelProvider } from "@/app/settings/helpers/model-helpers"; interface ProviderHealthBannerProps { className?: string; @@ -42,12 +43,22 @@ export function useProviderHealth() { }; } +const providerTitleMap: Record = { + openai: "OpenAI", + ollama: "Ollama", + watsonx: "IBM watsonx.ai", +}; + export function ProviderHealthBanner({ className }: ProviderHealthBannerProps) { const { isLoading, isHealthy, isUnhealthy, health } = useProviderHealth(); const router = useRouter(); const { data: settings = {} } = useGetSettingsQuery(); + const providerTitle = + providerTitleMap[settings.provider?.model_provider as ModelProvider] || + "Provider"; + // Only show banner when provider is unhealthy (not when backend is unavailable) if (isLoading || isHealthy) { return null; @@ -71,7 +82,7 @@ export function ProviderHealthBanner({ className }: ProviderHealthBannerProps) { icon={AlertTriangle} /> - {errorMessage} + {providerTitle} error - {errorMessage}