From 0f96cf74746e56100dce9af57fffb08d34f98616 Mon Sep 17 00:00:00 2001 From: Samuel K Date: Wed, 8 Jul 2026 09:55:22 -0500 Subject: [PATCH] feat(desktop): add confirmation dialogs for rebuild and reset Rebuild and Reset fired immediately with no explanation of their effects. Reset is destructive (removes the cloned source along with the container) yet had no warning, unlike the safer Delete and Rename actions which already confirm. Add ConfirmDialog prompts for both, matching the existing convention, with descriptions grounded in the CLI flag semantics (up --recreate vs up --reset). --- .../src/pages/WorkspaceDetailPage.svelte | 25 +++++++++++++++++-- 1 file changed, 23 insertions(+), 2 deletions(-) diff --git a/desktop/src/renderer/src/pages/WorkspaceDetailPage.svelte b/desktop/src/renderer/src/pages/WorkspaceDetailPage.svelte index 5f31f9a5d..b9e792981 100644 --- a/desktop/src/renderer/src/pages/WorkspaceDetailPage.svelte +++ b/desktop/src/renderer/src/pages/WorkspaceDetailPage.svelte @@ -123,6 +123,8 @@ let confirmDeleteOpen = $state(false) let deleting = $state(false) let confirmRenameOpen = $state(false) let pendingRenameTarget = $state("") +let confirmRebuildOpen = $state(false) +let confirmResetOpen = $state(false) let hasContainer = $derived.by(() => { const status = workspace?.status?.toLowerCase() @@ -379,6 +381,7 @@ async function handleStop() { } async function handleRebuild() { + confirmRebuildOpen = false startStreamingOp("Rebuild") try { commandId = await workspaceRebuild(id, isDebug()) @@ -389,6 +392,7 @@ async function handleRebuild() { } async function handleReset() { + confirmResetOpen = false startStreamingOp("Reset") try { commandId = await workspaceReset(id, isDebug()) @@ -526,11 +530,11 @@ async function handleRenameConfirmed() { {/snippet} - + (confirmRebuildOpen = true)} disabled={operationRunning}> Rebuild - + (confirmResetOpen = true)} disabled={operationRunning}> Reset @@ -833,6 +837,23 @@ async function handleRenameConfirmed() { {/if} + + + +