diff --git a/.gitignore b/.gitignore index da36ba0..572b1c3 100644 --- a/.gitignore +++ b/.gitignore @@ -41,3 +41,4 @@ CLAUDE.md dev.env backend/vessel-backend data/ +backend/data-dev/ diff --git a/frontend/src/lib/stores/local-models.svelte.ts b/frontend/src/lib/stores/local-models.svelte.ts index b4066b3..298f0cd 100644 --- a/frontend/src/lib/stores/local-models.svelte.ts +++ b/frontend/src/lib/stores/local-models.svelte.ts @@ -146,7 +146,8 @@ class LocalModelsState { const response = await checkForUpdates(); this.updatesAvailable = response.updatesAvailable; - this.modelsWithUpdates = new Set(response.updates.map(m => m.name)); + // Handle null/undefined updates array from API + this.modelsWithUpdates = new Set((response.updates ?? []).map(m => m.name)); return response; } catch (err) { diff --git a/frontend/src/routes/models/+page.svelte b/frontend/src/routes/models/+page.svelte index 0b72de0..cb3ccd1 100644 --- a/frontend/src/routes/models/+page.svelte +++ b/frontend/src/routes/models/+page.svelte @@ -236,7 +236,10 @@ // Initialize stores (backend handles heavy operations) localModelsState.init(); modelRegistry.init(); - modelsState.refresh(); + modelsState.refresh().then(() => { + // Fetch capabilities for all installed models + modelsState.fetchAllCapabilities(); + }); }); @@ -493,6 +496,7 @@ {:else}