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 bc1419b66d..b0042e2ebd 100644 --- a/frontend/src/routes/(root)/(logged)/flows/edit/[...path]/+page.svelte +++ b/frontend/src/routes/(root)/(logged)/flows/edit/[...path]/+page.svelte @@ -244,6 +244,14 @@ path: flow.path }) UserDraft.remove('flow', flowDraftPath) + // UserDraft.remove only clears localStorage. The + // flowHandle's in-memory state still holds the now- + // deleted DB draft + its meta — loadFlow would treat it + // as a local autosave and the staleness check would fire + // a spurious "newer version was deployed" modal because + // remoteDraftRev moved from "defined" to "undefined". + // Drop the in-memory state first. + flowHandle.setDraftAndMeta(undefined, {}) nobackenddraft = true loadFlow() } diff --git a/frontend/src/routes/(root)/(logged)/scripts/edit/[...path]/+page.svelte b/frontend/src/routes/(root)/(logged)/scripts/edit/[...path]/+page.svelte index d486bce31e..0faec2326c 100644 --- a/frontend/src/routes/(root)/(logged)/scripts/edit/[...path]/+page.svelte +++ b/frontend/src/routes/(root)/(logged)/scripts/edit/[...path]/+page.svelte @@ -235,6 +235,14 @@ path: bakedBaseline.path }) UserDraft.remove('script', draftPath) + // UserDraft.remove only clears localStorage. The + // scriptHandle's in-memory state still holds the now- + // deleted DB draft + its meta — loadScript would treat + // it as a local autosave and the staleness check + // would fire a spurious "newer version was deployed" + // modal because remoteDraftRev moved from "defined" + // to "undefined". Drop the in-memory state first. + scriptHandle.setDraftAndMeta(undefined, {}) goto(`/scripts/edit/${bakedBaseline.path}`) loadScript() }