From 7a91a5133602edd0585c278e5beb95de9ef3715e Mon Sep 17 00:00:00 2001 From: Alex Cheema Date: Mon, 16 Feb 2026 16:08:50 -0800 Subject: [PATCH] fix: hide main model picker during onboarding so Browse All Models triggers download MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit During onboarding, two ModelPickerModal instances were rendered — the onboarding-specific one (which calls onboardingLaunchModel to start downloading) and the always-rendered main one (which only selects a preview). The main modal intercepted the selection, so Browse All Models never triggered a download. Wrapping the main modal with {#if !showOnboarding} ensures only the onboarding modal is active during the onboarding flow. Co-Authored-By: Claude Opus 4.6 --- dashboard/src/routes/+page.svelte | 54 ++++++++++++++++--------------- 1 file changed, 28 insertions(+), 26 deletions(-) diff --git a/dashboard/src/routes/+page.svelte b/dashboard/src/routes/+page.svelte index 3cf70d2b..13c1c255 100644 --- a/dashboard/src/routes/+page.svelte +++ b/dashboard/src/routes/+page.svelte @@ -5031,29 +5031,31 @@ {/if} - m.id))} - canModelFit={(modelId) => { - const model = models.find((m) => m.id === modelId); - return model ? hasEnoughMemory(model) : false; - }} - getModelFitStatus={(modelId): ModelMemoryFitStatus => { - const model = models.find((m) => m.id === modelId); - return model ? getModelMemoryFitStatus(model) : "too_large"; - }} - onSelect={handleModelPickerSelect} - onClose={() => (isModelPickerOpen = false)} - onToggleFavorite={toggleFavorite} - onAddModel={addModelFromPicker} - onDeleteModel={deleteCustomModel} - totalMemoryGB={clusterMemory().total / (1024 * 1024 * 1024)} - usedMemoryGB={clusterMemory().used / (1024 * 1024 * 1024)} - {downloadsData} - topologyNodes={data?.nodes} -/> +{#if !showOnboarding} + m.id))} + canModelFit={(modelId) => { + const model = models.find((m) => m.id === modelId); + return model ? hasEnoughMemory(model) : false; + }} + getModelFitStatus={(modelId): ModelMemoryFitStatus => { + const model = models.find((m) => m.id === modelId); + return model ? getModelMemoryFitStatus(model) : "too_large"; + }} + onSelect={handleModelPickerSelect} + onClose={() => (isModelPickerOpen = false)} + onToggleFavorite={toggleFavorite} + onAddModel={addModelFromPicker} + onDeleteModel={deleteCustomModel} + totalMemoryGB={clusterMemory().total / (1024 * 1024 * 1024)} + usedMemoryGB={clusterMemory().used / (1024 * 1024 * 1024)} + {downloadsData} + topologyNodes={data?.nodes} + /> +{/if}