fix: correctly track model provider ID for Qwen and all providers
Some checks failed
Release Binaries / release (push) Has been cancelled
Some checks failed
Release Binaries / release (push) Has been cancelled
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.
This commit is contained in:
@@ -69,6 +69,7 @@ export default function MultiXV2(props: MultiXV2Props) {
|
||||
const [selectedTaskId, setSelectedTaskIdLocal] = createSignal<string | null>(null);
|
||||
const [messageIds, setMessageIds] = createSignal<string[]>([]);
|
||||
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) {
|
||||
<LiteModelSelector
|
||||
instanceId={props.instanceId}
|
||||
sessionId={getActiveTaskSessionId()}
|
||||
currentModel={{ providerId: "", modelId: cachedModelId() }}
|
||||
currentModel={{ providerId: cachedProviderId(), modelId: cachedModelId() }}
|
||||
onModelChange={(model) => {
|
||||
// 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);
|
||||
|
||||
Reference in New Issue
Block a user