From 6bd329701b8025f3c41893c0a5f6a6fed0482e48 Mon Sep 17 00:00:00 2001 From: Gemini AI Date: Sun, 28 Dec 2025 03:40:56 +0400 Subject: [PATCH] fix: correctly track model provider ID for Qwen and all providers Changes: 1. Added cachedProviderId signal in MultiX v2 component 2. Updated syncFromStore to also sync provider ID from task session 3. Immediately update cached model and provider IDs on model change 4. Pass correct providerId to LiteModelSelector component This fixes the issue where selecting Qwen models caused chat input to stop responding, because the provider ID was not being tracked correctly. --- packages/ui/src/components/chat/multix-v2/index.tsx | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/packages/ui/src/components/chat/multix-v2/index.tsx b/packages/ui/src/components/chat/multix-v2/index.tsx index 84f5069..e39f680 100644 --- a/packages/ui/src/components/chat/multix-v2/index.tsx +++ b/packages/ui/src/components/chat/multix-v2/index.tsx @@ -69,6 +69,7 @@ export default function MultiXV2(props: MultiXV2Props) { const [selectedTaskId, setSelectedTaskIdLocal] = createSignal(null); const [messageIds, setMessageIds] = createSignal([]); const [cachedModelId, setCachedModelId] = createSignal("unknown"); + const [cachedProviderId, setCachedProviderId] = createSignal(""); const [cachedAgent, setCachedAgent] = createSignal(""); const [cachedTokensUsed, setCachedTokensUsed] = createSignal(0); const [cachedCost, setCachedCost] = createSignal(0); @@ -184,6 +185,9 @@ export default function MultiXV2(props: MultiXV2Props) { if (taskSession?.model?.modelId) { setCachedModelId(taskSession.model.modelId); } + if (taskSession?.model?.providerId) { + setCachedProviderId(taskSession.model.providerId); + } if (taskSession?.agent) { setCachedAgent(taskSession.agent); } @@ -677,11 +681,14 @@ export default function MultiXV2(props: MultiXV2Props) { { // Update the TASK's session, not a global cache const taskSessionId = getActiveTaskSessionId(); log.info("[MultiX] Changing model for task session", { taskSessionId, model }); + // Immediately update cached values for responsive UI + setCachedModelId(model.modelId); + setCachedProviderId(model.providerId); updateSessionModelForSession(props.instanceId, taskSessionId, model); // Force immediate sync to reflect the change setTimeout(() => syncFromStore(), 50);