fix(admin): prevent combobox reset after save by stopping unnecessary Ollama refetch

The Ollama model useEffect hooks were triggering on every config prop
change (including after revalidatePath), causing a model list refetch
that reset the combobox selection. Limited dependencies to provider
state only so fetch only runs on mount and provider switch.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
Sepehr Ramezani
2026-03-29 10:30:05 +02:00
parent 9a58a729d2
commit 0d705ee3d6

View File

@@ -89,14 +89,16 @@ export function AdminSettingsForm({ config }: { config: Record<string, string> }
const url = config.OLLAMA_BASE_URL_TAGS || config.OLLAMA_BASE_URL || 'http://localhost:11434' const url = config.OLLAMA_BASE_URL_TAGS || config.OLLAMA_BASE_URL || 'http://localhost:11434'
fetchOllamaModels('tags', url) fetchOllamaModels('tags', url)
} }
}, [tagsProvider, config.OLLAMA_BASE_URL_TAGS, config.OLLAMA_BASE_URL, fetchOllamaModels]) // eslint-disable-next-line react-hooks/exhaustive-deps
}, [tagsProvider])
useEffect(() => { useEffect(() => {
if (embeddingsProvider === 'ollama') { if (embeddingsProvider === 'ollama') {
const url = config.OLLAMA_BASE_URL_EMBEDDING || config.OLLAMA_BASE_URL || 'http://localhost:11434' const url = config.OLLAMA_BASE_URL_EMBEDDING || config.OLLAMA_BASE_URL || 'http://localhost:11434'
fetchOllamaModels('embeddings', url) fetchOllamaModels('embeddings', url)
} }
}, [embeddingsProvider, config.OLLAMA_BASE_URL_EMBEDDING, config.OLLAMA_BASE_URL, fetchOllamaModels]) // eslint-disable-next-line react-hooks/exhaustive-deps
}, [embeddingsProvider])
const handleSaveSecurity = async (formData: FormData) => { const handleSaveSecurity = async (formData: FormData) => {
setIsSaving(true) setIsSaving(true)