From 72d0d031e721892a95bfe961149331e32e9c9e97 Mon Sep 17 00:00:00 2001 From: Marve10s Date: Fri, 20 Mar 2026 11:23:34 +0300 Subject: [PATCH] fix(web): show health banner for selected provider instead of always defaulting to Codex The health banner always showed the Codex provider status regardless of which provider the user selected, because activeProvider fell back to "codex" when no session existed yet. Use selectedProvider instead, which correctly resolves from the composer draft selection. --- apps/web/src/components/ChatView.tsx | 5 ++--- apps/web/src/components/chat/ProviderHealthBanner.tsx | 2 +- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/apps/web/src/components/ChatView.tsx b/apps/web/src/components/ChatView.tsx index eaead424fb..47c06df81e 100644 --- a/apps/web/src/components/ChatView.tsx +++ b/apps/web/src/components/ChatView.tsx @@ -1149,10 +1149,9 @@ export default function ChatView({ threadId }: ChatViewProps) { const keybindings = serverConfigQuery.data?.keybindings ?? EMPTY_KEYBINDINGS; const availableEditors = serverConfigQuery.data?.availableEditors ?? EMPTY_AVAILABLE_EDITORS; const providerStatuses = serverConfigQuery.data?.providers ?? EMPTY_PROVIDER_STATUSES; - const activeProvider = activeThread?.session?.provider ?? "codex"; const activeProviderStatus = useMemo( - () => providerStatuses.find((status) => status.provider === activeProvider) ?? null, - [activeProvider, providerStatuses], + () => providerStatuses.find((status) => status.provider === selectedProvider) ?? null, + [selectedProvider, providerStatuses], ); const activeProjectCwd = activeProject?.cwd ?? null; const activeThreadWorktreePath = activeThread?.worktreePath ?? null; diff --git a/apps/web/src/components/chat/ProviderHealthBanner.tsx b/apps/web/src/components/chat/ProviderHealthBanner.tsx index 9da45ba3ff..73cb77eae9 100644 --- a/apps/web/src/components/chat/ProviderHealthBanner.tsx +++ b/apps/web/src/components/chat/ProviderHealthBanner.tsx @@ -22,7 +22,7 @@ export const ProviderHealthBanner = memo(function ProviderHealthBanner({ status.status === "error" ? `${providerLabel} provider is unavailable.` : `${providerLabel} provider has limited availability.`; - const title = providerLabel === "Codex" ? "Codex provider status" : `${providerLabel} status`; + const title = `${providerLabel} provider status`; return (