fix: llama.cpp backend shows blank list sometime (#5876)

This commit is contained in:
Louis 2025-07-23 20:04:38 +07:00 committed by GitHub
parent 9a511fd5fa
commit d6ad797769
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 18 additions and 10 deletions

View File

@ -128,6 +128,10 @@ export abstract class BaseExtension implements ExtensionType {
setting.controllerProps.value = oldSettings.find( setting.controllerProps.value = oldSettings.find(
(e: any) => e.key === setting.key (e: any) => e.key === setting.key
)?.controllerProps?.value )?.controllerProps?.value
if ('options' in setting.controllerProps)
setting.controllerProps.options = setting.controllerProps.options?.length
? setting.controllerProps.options
: oldSettings.find((e: any) => e.key === setting.key)?.controllerProps?.options
}) })
} }
localStorage.setItem(this.name, JSON.stringify(settings)) localStorage.setItem(this.name, JSON.stringify(settings))

View File

@ -36,16 +36,20 @@ export const useModelProvider = create<ModelProviderState>()(
}, },
setProviders: (providers) => setProviders: (providers) =>
set((state) => { set((state) => {
const existingProviders = state.providers.map((provider) => { const existingProviders = state.providers
return { // Filter out legacy llama.cpp provider for migration
...provider, // Can remove after a couple of releases
models: provider.models.filter( .filter((e) => e.provider !== 'llama.cpp')
(e) => .map((provider) => {
('id' in e || 'model' in e) && return {
typeof (e.id ?? e.model) === 'string' ...provider,
), models: provider.models.filter(
} (e) =>
}) ('id' in e || 'model' in e) &&
typeof (e.id ?? e.model) === 'string'
),
}
})
// Ensure deletedModels is always an array // Ensure deletedModels is always an array
const currentDeletedModels = Array.isArray(state.deletedModels) const currentDeletedModels = Array.isArray(state.deletedModels)
? state.deletedModels ? state.deletedModels