diff --git a/apps/nextjs/src/app/[locale]/manage/assistant/_components/assistant-configuration.tsx b/apps/nextjs/src/app/[locale]/manage/assistant/_components/assistant-configuration.tsx index bcd582531..ef9936c10 100644 --- a/apps/nextjs/src/app/[locale]/manage/assistant/_components/assistant-configuration.tsx +++ b/apps/nextjs/src/app/[locale]/manage/assistant/_components/assistant-configuration.tsx @@ -172,14 +172,30 @@ export const AssistantConfiguration = () => { const pending = isLoading || updateConnection.isPending || saveConfiguration.isPending || clearCredentials.isPending; + const clearDraftConnectionState = () => { + setApiKey(""); + setClearApiKey(false); + setHeaders([]); + setClearHeaders(false); + setModelId(""); + setEnabled(false); + }; + const changeProvider = (value: string | null) => { if (!value || !(value in assistantProviderPresets)) return; const nextProvider = value as AssistantProvider; const nextPreset = assistantProviderPresets[nextProvider]; + clearDraftConnectionState(); setProvider(nextProvider); setBaseUrl(nextPreset.baseUrl); setModelDiscoveryPath(nextPreset.modelDiscoveryPath ?? ""); - setEnabled(false); + }; + + const changeBaseUrl = (value: string) => { + if (value !== baseUrl) { + clearDraftConnectionState(); + } + setBaseUrl(value); }; const addHeader = () => { @@ -249,7 +265,7 @@ export const AssistantConfiguration = () => { description={t("baseUrl.description")} leftSection={} value={baseUrl} - onChange={(event) => setBaseUrl(event.currentTarget.value)} + onChange={(event) => changeBaseUrl(event.currentTarget.value)} placeholder="https://provider.example/v1" />