From fdd7d633116d2033515d1a59104b3b3d82ffaf83 Mon Sep 17 00:00:00 2001 From: Diego Imbert <70353967+diegoimbert@users.noreply.github.com> Date: Tue, 10 Feb 2026 17:27:48 +0100 Subject: [PATCH] Fix crash on invalid AI provider (#7880) * Fix crash on invalid AI provider * nit handle null --- .../src/lib/components/AIProviderPicker.svelte | 17 +++++++++++------ .../src/lib/components/aiProviderStorage.ts | 10 +++++----- 2 files changed, 16 insertions(+), 11 deletions(-) diff --git a/frontend/src/lib/components/AIProviderPicker.svelte b/frontend/src/lib/components/AIProviderPicker.svelte index 92742c7fee..f6f2a4f43c 100644 --- a/frontend/src/lib/components/AIProviderPicker.svelte +++ b/frontend/src/lib/components/AIProviderPicker.svelte @@ -18,7 +18,12 @@ actions?: Snippet } - let { value = $bindable(), disabled = false, actions }: Props = $props() + let { value: _uncheckedValue = $bindable(), disabled = false, actions }: Props = $props() + + let value = $derived.by(() => { + if (!_uncheckedValue || typeof _uncheckedValue !== 'object') return undefined + return _uncheckedValue + }) let loading = $state(false) let availableModels = $state([]) @@ -26,8 +31,8 @@ let modelsCache = new Map() - if (!value) { - value = { + if (!_uncheckedValue) { + _uncheckedValue = { kind: 'openai', resource: '', model: '' @@ -172,7 +177,7 @@ {/each} p.value === value.kind) >= 3 ? '' : 'More'} + btnText={providerOptions.findIndex((p) => p.value === value?.kind) >= 3 ? '' : 'More'} togglableItems={providerOptions.slice(3)} {item} bind:selected={() => value?.kind, (v) => v && onProviderChange(v)} @@ -205,12 +210,12 @@

model