diff --git a/surfsense_web/components/settings/model-connections/bedrock-connect-form.tsx b/surfsense_web/components/settings/model-connections/bedrock-connect-form.tsx index 3115ac223..f76308421 100644 --- a/surfsense_web/components/settings/model-connections/bedrock-connect-form.tsx +++ b/surfsense_web/components/settings/model-connections/bedrock-connect-form.tsx @@ -87,14 +87,14 @@ export function BedrockConnectForm({ onDraftChange }: ProviderConnectFormProps) setAccessKeyId(event.target.value)} - placeholder="AKIAIOSFODNN7EXAMPLE" + placeholder="Enter your AWS access key ID" /> ) : null} diff --git a/surfsense_web/components/settings/model-connections/default-connect-form.tsx b/surfsense_web/components/settings/model-connections/default-connect-form.tsx index ce638f5e6..14b0f4c1b 100644 --- a/surfsense_web/components/settings/model-connections/default-connect-form.tsx +++ b/surfsense_web/components/settings/model-connections/default-connect-form.tsx @@ -2,6 +2,8 @@ import { useEffect, useState } from "react"; import { ApiBaseUrlField, ApiKeyField } from "./connect-fields"; import type { ProviderConnectFormProps } from "./provider-metadata"; +const OPTIONAL_API_KEY_PROVIDERS = new Set(["ollama_chat", "lm_studio", "openai_compatible"]); + function baseUrlHint(provider: string) { if (provider === "ollama_chat" || provider === "lm_studio") { return "For local servers, use host.docker.internal instead of localhost."; @@ -28,13 +30,14 @@ export function DefaultConnectForm({ }: ProviderConnectFormProps) { const [baseUrl, setBaseUrl] = useState(defaultBaseUrl); const [apiKey, setApiKey] = useState(""); - const isOllama = provider === "ollama_chat"; + const isApiKeyOptional = OPTIONAL_API_KEY_PROVIDERS.has(provider); const hint = baseUrlHint(provider); - const canSubmit = !(baseUrlRequired && !baseUrl.trim()); + const apiKeyValue = apiKey.trim(); + const canSubmit = !(baseUrlRequired && !baseUrl.trim()) && (isApiKeyOptional || Boolean(apiKeyValue)); useEffect(() => { - onDraftChange({ base_url: baseUrl || null, api_key: apiKey || null, extra: {} }, canSubmit); - }, [apiKey, baseUrl, canSubmit, onDraftChange]); + onDraftChange({ base_url: baseUrl || null, api_key: apiKeyValue || null, extra: {} }, canSubmit); + }, [apiKeyValue, baseUrl, canSubmit, onDraftChange]); return (
@@ -47,8 +50,8 @@ export function DefaultConnectForm({
);