Skip to content

Commit d6ad797

Browse files
authored
fix: llama.cpp backend shows blank list sometime (#5876)
1 parent 9a511fd commit d6ad797

File tree

2 files changed

+18
-10
lines changed

2 files changed

+18
-10
lines changed

core/src/browser/extension.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -128,6 +128,10 @@ export abstract class BaseExtension implements ExtensionType {
128128
setting.controllerProps.value = oldSettings.find(
129129
(e: any) => e.key === setting.key
130130
)?.controllerProps?.value
131+
if ('options' in setting.controllerProps)
132+
setting.controllerProps.options = setting.controllerProps.options?.length
133+
? setting.controllerProps.options
134+
: oldSettings.find((e: any) => e.key === setting.key)?.controllerProps?.options
131135
})
132136
}
133137
localStorage.setItem(this.name, JSON.stringify(settings))

web-app/src/hooks/useModelProvider.ts

Lines changed: 14 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -36,16 +36,20 @@ export const useModelProvider = create<ModelProviderState>()(
3636
},
3737
setProviders: (providers) =>
3838
set((state) => {
39-
const existingProviders = state.providers.map((provider) => {
40-
return {
41-
...provider,
42-
models: provider.models.filter(
43-
(e) =>
44-
('id' in e || 'model' in e) &&
45-
typeof (e.id ?? e.model) === 'string'
46-
),
47-
}
48-
})
39+
const existingProviders = state.providers
40+
// Filter out legacy llama.cpp provider for migration
41+
// Can remove after a couple of releases
42+
.filter((e) => e.provider !== 'llama.cpp')
43+
.map((provider) => {
44+
return {
45+
...provider,
46+
models: provider.models.filter(
47+
(e) =>
48+
('id' in e || 'model' in e) &&
49+
typeof (e.id ?? e.model) === 'string'
50+
),
51+
}
52+
})
4953
// Ensure deletedModels is always an array
5054
const currentDeletedModels = Array.isArray(state.deletedModels)
5155
? state.deletedModels

0 commit comments

Comments
 (0)