fix(admin): AI provider and model not persisting after save
The model select fields used provider-specific names (AI_MODEL_TAGS_OLLAMA, AI_MODEL_TAGS_OPENAI, etc.) but handleSaveAI read from non-existent formData keys (AI_MODEL_TAGS, AI_MODEL_EMBEDDING). This caused model values to be silently dropped on save, making the provider appear to revert. Now reads from the correct provider-specific field names. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -133,7 +133,7 @@ export function AdminSettingsForm({ config }: { config: Record<string, string> }
|
|||||||
if (!tagsProv) throw new Error(t('admin.ai.providerTagsRequired'))
|
if (!tagsProv) throw new Error(t('admin.ai.providerTagsRequired'))
|
||||||
data.AI_PROVIDER_TAGS = tagsProv
|
data.AI_PROVIDER_TAGS = tagsProv
|
||||||
|
|
||||||
const tagsModel = formData.get('AI_MODEL_TAGS') as string
|
const tagsModel = formData.get(`AI_MODEL_TAGS_${tagsProv.toUpperCase()}`) as string
|
||||||
if (tagsModel) data.AI_MODEL_TAGS = tagsModel
|
if (tagsModel) data.AI_MODEL_TAGS = tagsModel
|
||||||
|
|
||||||
if (tagsProv === 'ollama') {
|
if (tagsProv === 'ollama') {
|
||||||
@@ -153,7 +153,7 @@ export function AdminSettingsForm({ config }: { config: Record<string, string> }
|
|||||||
if (!embedProv) throw new Error(t('admin.ai.providerEmbeddingRequired'))
|
if (!embedProv) throw new Error(t('admin.ai.providerEmbeddingRequired'))
|
||||||
data.AI_PROVIDER_EMBEDDING = embedProv
|
data.AI_PROVIDER_EMBEDDING = embedProv
|
||||||
|
|
||||||
const embedModel = formData.get('AI_MODEL_EMBEDDING') as string
|
const embedModel = formData.get(`AI_MODEL_EMBEDDING_${embedProv.toUpperCase()}`) as string
|
||||||
if (embedModel) data.AI_MODEL_EMBEDDING = embedModel
|
if (embedModel) data.AI_MODEL_EMBEDDING = embedModel
|
||||||
|
|
||||||
if (embedProv === 'ollama') {
|
if (embedProv === 'ollama') {
|
||||||
@@ -179,6 +179,8 @@ export function AdminSettingsForm({ config }: { config: Record<string, string> }
|
|||||||
toast.success(t('admin.ai.updateSuccess'))
|
toast.success(t('admin.ai.updateSuccess'))
|
||||||
setTagsProvider(tagsProv)
|
setTagsProvider(tagsProv)
|
||||||
setEmbeddingsProvider(embedProv)
|
setEmbeddingsProvider(embedProv)
|
||||||
|
if (tagsModel) setSelectedTagsModel(tagsModel)
|
||||||
|
if (embedModel) setSelectedEmbeddingModel(embedModel)
|
||||||
|
|
||||||
// Refresh models after save if Ollama is selected
|
// Refresh models after save if Ollama is selected
|
||||||
if (tagsProv === 'ollama') {
|
if (tagsProv === 'ollama') {
|
||||||
|
|||||||
Reference in New Issue
Block a user