diff --git a/frontend/src/routes/(root)/(logged)/flows/add/+page.svelte b/frontend/src/routes/(root)/(logged)/flows/add/+page.svelte index cca44fef67..8ab3393924 100644 --- a/frontend/src/routes/(root)/(logged)/flows/add/+page.svelte +++ b/frontend/src/routes/(root)/(logged)/flows/add/+page.svelte @@ -174,11 +174,9 @@ { - UserDraft.remove('flow', '') goto(`/flows/edit/${e.path}?selected=${e.id}`) }} onDeploy={(e) => { - UserDraft.remove('flow', '') goto(`/flows/get/${e.path}?workspace=${$workspaceStore}`) }} onDetails={(e) => { diff --git a/frontend/src/routes/(root)/(logged)/flows/edit/[...path]/+page.svelte b/frontend/src/routes/(root)/(logged)/flows/edit/[...path]/+page.svelte index bcae4935e6..788f957ed3 100644 --- a/frontend/src/routes/(root)/(logged)/flows/edit/[...path]/+page.svelte +++ b/frontend/src/routes/(root)/(logged)/flows/edit/[...path]/+page.svelte @@ -270,7 +270,11 @@ {:else} { - UserDraft.remove('flow', flowDraftPath) + // Don't UserDraft.remove here — the route's flowStore reads the + // handle's draft directly, so clearing it before goto would blank + // the flow value and trip UnsavedConfirmationModal. The entry's + // ref count drops on unmount and the next visit's load-time diff + // will silently overwrite localStorage with the deployed value. goto(`/flows/get/${e.path}?workspace=${$workspaceStore}`) }} onDetails={(e) => {