diff --git a/frontend/src/components/workspace/settings/model-settings-page.tsx b/frontend/src/components/workspace/settings/model-settings-page.tsx index 871d3612ad..c5aa73e9fa 100644 --- a/frontend/src/components/workspace/settings/model-settings-page.tsx +++ b/frontend/src/components/workspace/settings/model-settings-page.tsx @@ -212,7 +212,6 @@ function ModelEditor({ const [draft, setDraft] = useState(() => modelDraft(model)); const [key, setKey] = useState(""); const [clearKey, setClearKey] = useState(false); - const [connectionChanged, setConnectionChanged] = useState(false); const [pending, setPending] = useState(false); const [result, setResult] = useState(""); const active = useRef(true); @@ -229,7 +228,7 @@ function ModelEditor({ model?.provider === draft.provider && (draft.provider !== "openai-compatible" || model?.base_url === draft.base_url); - const canKeepKey = sameConnection && !connectionChanged && model?.has_api_key; + const canKeepKey = sameConnection && model?.has_api_key; const requiresKey = provider?.requires_api_key ?? draft.provider !== "openai-compatible"; const missingKey = requiresKey && ((!key.trim() && !canKeepKey) || clearKey); @@ -246,7 +245,6 @@ function ModelEditor({ ...(value === "openai-compatible" ? { base_url: "" } : {}), }); setKey(""); - setConnectionChanged(true); setClearKey(false); setResult(""); abort.current?.abort(); @@ -255,11 +253,7 @@ function ModelEditor({ return { config: { ...draft, - ...(clearKey || (connectionChanged && !key) - ? { api_key: "" } - : key - ? { api_key: key } - : {}), + ...(clearKey ? { api_key: "" } : key ? { api_key: key } : {}), }, expected_revision: model?.revision ?? null, }; @@ -345,14 +339,13 @@ function ModelEditor({ onChange={(e) => { setDraft({ ...draft, base_url: e.target.value }); setKey(""); - setConnectionChanged(true); setClearKey(false); setResult(""); }} /> )} - {model && (connectionChanged || !sameConnection) && ( + {model && !sameConnection && (

{text.providerChanged}

)}