diff --git a/frontend/src/lib/components/apps/editor/AppEditor.svelte b/frontend/src/lib/components/apps/editor/AppEditor.svelte index 424829d24e..8775138d83 100644 --- a/frontend/src/lib/components/apps/editor/AppEditor.svelte +++ b/frontend/src/lib/components/apps/editor/AppEditor.svelte @@ -72,6 +72,7 @@ draft_only?: boolean } | undefined = undefined + export let version: number | undefined = undefined migrateApp(app) @@ -501,6 +502,7 @@ bind:this={appEditorHeader} {diffDrawer} bind:savedApp + {version} /> {#if $mode === 'preview'} diff --git a/frontend/src/lib/components/apps/editor/AppEditorHeader.svelte b/frontend/src/lib/components/apps/editor/AppEditorHeader.svelte index 2e9d026142..4ee18bcd7d 100644 --- a/frontend/src/lib/components/apps/editor/AppEditorHeader.svelte +++ b/frontend/src/lib/components/apps/editor/AppEditorHeader.svelte @@ -114,6 +114,7 @@ draft_only?: boolean } | undefined = undefined + export let version: number | undefined = undefined const { app, @@ -270,6 +271,11 @@ path: npath, policy } + const appHistory = await AppService.getAppHistoryByPath({ + workspace: $workspaceStore!, + path: npath + }) + version = appHistory[0]?.version closeSaveDrawer() sendUserToast('App deployed successfully') @@ -457,6 +463,19 @@ } } + let onLatest = true + async function compareVersions() { + if (version === undefined) { + return + } + const appHistory = await AppService.getAppHistoryByPath({ + workspace: $workspaceStore!, + path: appPath + }) + onLatest = version === appHistory[0]?.version + } + $: saveDrawerOpen && compareVersions() + let selectedJobId: string | undefined = undefined let testJobLoader: TestJobLoader let job: Job | undefined = undefined @@ -679,6 +698,12 @@ {/if} closeSaveDrawer()}> + {#if !onLatest} + + By deploying, you may overwrite changes made by other users. + +
+ {/if} Summary
diff --git a/frontend/src/routes/(root)/(logged)/apps/edit/[...path]/+page.svelte b/frontend/src/routes/(root)/(logged)/apps/edit/[...path]/+page.svelte index 0254d981b5..6e11996da5 100644 --- a/frontend/src/routes/(root)/(logged)/apps/edit/[...path]/+page.svelte +++ b/frontend/src/routes/(root)/(logged)/apps/edit/[...path]/+page.svelte @@ -194,6 +194,7 @@ policy={app.policy} bind:savedApp {diffDrawer} + version={app.versions.length > 0 ? app.versions[app.versions.length - 1] : undefined} />
{/if}