From c0fb2db24454d17d33fffa41b59e6a4cf61db44f Mon Sep 17 00:00:00 2001 From: Diego Imbert <70353967+diegoimbert@users.noreply.github.com> Date: Thu, 1 Oct 2026 10:39:19 +0200 Subject: [PATCH] fix: keep flow graph rendered between deploy and navigation (#11454) * fix: keep flow graph rendered between deploy and navigation Co-Authored-By: Claude Opus 5.5 (1M context) * refactor: rename flow snapshot to avoid shadowing in loadFlow Co-Authored-By: Claude Opus 5.5 (1M context) --------- Co-authored-by: Claude Opus 5.5 (1M context) --- .../(root)/(logged)/flows/edit/[...path]/+page.svelte | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) 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 4d240cc24b..835735c0c8 100644 --- a/frontend/src/routes/(root)/(logged)/flows/edit/[...path]/+page.svelte +++ b/frontend/src/routes/(root)/(logged)/flows/edit/[...path]/+page.svelte @@ -96,9 +96,14 @@ } } + // Discarding the draft after a deploy clears `draftSync.draft` before the + // navigation away lands; without this the builder renders an empty flow + // for those frames. + let flowAtDeploy: Flow | undefined = $state.raw(undefined) + export const flowStore: StateStore = { get val() { - return draftSync.draft ?? emptyFlow() + return draftSync.draft ?? flowAtDeploy ?? emptyFlow() }, set val(v: Flow) { draftSync.draft = v @@ -567,6 +572,7 @@ onDeploy={(e) => { // stopSync-bracketed immediate delete; see /scripts/edit's restoreDeployed. if ($workspaceStore) { + flowAtDeploy = flowStore.val discardDraftAfterDeploy({ workspace: $workspaceStore, itemKind: 'flow',