diff --git a/tools/ui/src/lib/hooks/use-models-selector.svelte.ts b/tools/ui/src/lib/hooks/use-models-selector.svelte.ts index 21401a52e8..1a46115e52 100644 --- a/tools/ui/src/lib/hooks/use-models-selector.svelte.ts +++ b/tools/ui/src/lib/hooks/use-models-selector.svelte.ts @@ -129,7 +129,11 @@ export function useModelsSelector(opts: UseModelsSelectorOptions): UseModelsSele backendsStore.setActive(backendId); searchTerm = ''; - await modelsStore.switchBackend(); + try { + await modelsStore.switchBackend(); + } catch (error) { + console.error('Failed to switch backend:', error); + } } async function handleSelect(modelId: string) { diff --git a/tools/ui/src/lib/stores/models/index.svelte.ts b/tools/ui/src/lib/stores/models/index.svelte.ts index 0648edbda7..189836ec6d 100644 --- a/tools/ui/src/lib/stores/models/index.svelte.ts +++ b/tools/ui/src/lib/stores/models/index.svelte.ts @@ -169,11 +169,15 @@ class ModelsStore implements ModelPropsHost, ModelStatusHost { return; } - // Try loading a favorite model + // Try a favorite model, but only one that exists on this backend: favorites + // are shared across backends, so a stored id may belong to another one const favorite = this.favoriteModelIds.values().next()?.value; + const favoriteOption = favorite + ? availableModels.find((m) => m.id === favorite || m.model === favorite) + : undefined; - if (favorite) { - await this.selectModelById(favorite); + if (favoriteOption) { + await this.selectModelById(favoriteOption.id); return; }