diff --git a/frontend/src/lib/components/FlowBuilder.svelte b/frontend/src/lib/components/FlowBuilder.svelte
index 3b29507f41..5938564ac3 100644
--- a/frontend/src/lib/components/FlowBuilder.svelte
+++ b/frontend/src/lib/components/FlowBuilder.svelte
@@ -98,6 +98,7 @@
| undefined = undefined
export let diffDrawer: DiffDrawer | undefined = undefined
export let customUi: FlowBuilderWhitelabelCustomUi = {}
+ export let disableAi: boolean = false
$: setContext('customUi', customUi)
@@ -219,6 +220,7 @@
sendUserToast('Saved as draft')
} catch (error) {
sendUserToast(`Error while saving the flow as a draft: ${error.body || error.message}`, true)
+ dispatch('saveDraftError', error)
}
loadingDraft = false
}
@@ -333,6 +335,7 @@
loadingSave = false
dispatch('deploy', $pathStore)
} catch (err) {
+ dispatch('deployError', err)
sendUserToast(`The flow could not be saved: ${err.body}`, true)
loadingSave = false
}
@@ -1101,7 +1104,10 @@
{/if}
-
+
{/if}
- {#if customUi?.topBar?.aiBuilder != false}
+ {#if !disableAi && customUi?.topBar?.aiBuilder != false}
{#if $flowStateStore}
{
diff --git a/frontend/src/lib/components/FlowStatusViewer.svelte b/frontend/src/lib/components/FlowStatusViewer.svelte
index 621369e001..a34c075508 100644
--- a/frontend/src/lib/components/FlowStatusViewer.svelte
+++ b/frontend/src/lib/components/FlowStatusViewer.svelte
@@ -15,6 +15,7 @@
export let hideTimeline = false
export let hideDownloadInGraph = false
export let hideNodeDefinition = false
+ export let hideJobId = false
export let isOwner = false
export let wideResults = false
@@ -29,7 +30,8 @@
retryStatus,
hideDownloadInGraph,
hideNodeDefinition,
- hideTimeline
+ hideTimeline,
+ hideJobId
})
function loadOwner(path: string) {
diff --git a/frontend/src/lib/components/ScriptBuilder.svelte b/frontend/src/lib/components/ScriptBuilder.svelte
index 8af69fe0f7..1d1384c25b 100644
--- a/frontend/src/lib/components/ScriptBuilder.svelte
+++ b/frontend/src/lib/components/ScriptBuilder.svelte
@@ -316,6 +316,7 @@
dispatch('deploy', newHash)
}
} catch (error) {
+ dispatch('deployError', error)
sendUserToast(`Error while saving the script: ${error.body || error.message}`, true)
}
loadingSave = false
@@ -411,16 +412,21 @@
draft: structuredClone(script)
} as NewScriptWithDraft
+ let savedAtNewPath = false
if (initialPath == '' || (savedScript?.draft_only && script.path !== initialPath)) {
+ savedAtNewPath = true
initialPath = script.path
dispatch('saveInitial', script.path)
}
+ dispatch('saveDraft', { path: script.path, savedAtNewPath, script })
+
sendUserToast('Saved as draft')
} catch (error) {
sendUserToast(
`Error while saving the script as a draft: ${error.body || error.message}`,
true
)
+ dispatch('saveDraftError', error)
}
loadingDraft = false
}
@@ -1035,7 +1041,10 @@
-
+
diff --git a/frontend/src/lib/components/Summary.svelte b/frontend/src/lib/components/Summary.svelte
index 53c9a8afd3..208ed0be4f 100644
--- a/frontend/src/lib/components/Summary.svelte
+++ b/frontend/src/lib/components/Summary.svelte
@@ -2,6 +2,7 @@
import { Pen } from 'lucide-svelte'
export let value: string
+ export let disabled = false
function blur(e: KeyboardEvent) {
e.key === 'Enter' && (e?.target as any)?.blur()
@@ -16,9 +17,12 @@
placeholder="Untitled"
class="windmillapp app-title text-sm w-full font-semibold"
bind:value
+ {disabled}
on:keydown={blur}
/>
-
+ {#if !disabled}
+
+ {/if}
diff --git a/frontend/src/lib/components/WorkspaceGroup.svelte b/frontend/src/lib/components/WorkspaceGroup.svelte
index 64e58011e4..be15c0273d 100644
--- a/frontend/src/lib/components/WorkspaceGroup.svelte
+++ b/frontend/src/lib/components/WorkspaceGroup.svelte
@@ -46,8 +46,8 @@
if (ping.vcpus) {
vcpus += ping.vcpus
}
- if (ping.memory_usage) {
- memory += ping.memory_usage
+ if (ping.memory) {
+ memory += ping.memory
}
}
}
@@ -870,7 +870,8 @@
{pluralize(activeWorkers, 'worker')}
{#if vcpus_memory?.vcpus}
- - {(vcpus_memory?.vcpus / 100000).toFixed(2)} vCPUs{/if}{#if vcpus_memory?.memory}
+ - {(vcpus_memory?.vcpus / 100000).toFixed(2)} vCPUs{/if}
+ {#if vcpus_memory?.memory}
- {((vcpus_memory?.memory * 1.0) / 1024 / 1024 / 1024).toFixed(2)} GB{/if}
diff --git a/frontend/src/lib/components/custom_ui.ts b/frontend/src/lib/components/custom_ui.ts
index 670d72a9e4..b986fc96a5 100644
--- a/frontend/src/lib/components/custom_ui.ts
+++ b/frontend/src/lib/components/custom_ui.ts
@@ -9,6 +9,7 @@ export type FlowBuilderWhitelabelCustomUi = {
tutorials?: boolean
diff?: boolean
extraDeployOptions?: boolean
+ editableSummary?: boolean
}
settingsPanel?: boolean
settingsTabs?: {
@@ -54,6 +55,7 @@ export type ScriptBuilderWhitelabelCustomUi = {
path?: boolean
settings?: boolean
extraDeployOptions?: boolean
+ editableSummary?: boolean
}
editorBar?: EditorBarUi
}
diff --git a/frontend/src/lib/components/flows/FlowEditor.svelte b/frontend/src/lib/components/flows/FlowEditor.svelte
index 213542aff0..2c7a763ba6 100644
--- a/frontend/src/lib/components/flows/FlowEditor.svelte
+++ b/frontend/src/lib/components/flows/FlowEditor.svelte
@@ -17,7 +17,6 @@
export let disableAi = false
export let disableSettings = false
export let smallErrorHandler = false
- export let enableAi = true
let size = 40
@@ -61,7 +60,7 @@
{:else}
-
+
{/if}
diff --git a/frontend/src/lib/components/graph/model.ts b/frontend/src/lib/components/graph/model.ts
index 237fecd7b0..34f7a4c4a3 100644
--- a/frontend/src/lib/components/graph/model.ts
+++ b/frontend/src/lib/components/graph/model.ts
@@ -36,7 +36,9 @@ export type FlowStatusViewerContext = {
hideDownloadInGraph?: boolean
hideTimeline?: boolean
hideNodeDefinition?: boolean
+ hideJobId?: boolean
}
+
export type GraphModuleState = {
type: FlowStatusModule['type']
args: any
diff --git a/frontend/src/lib/components/preview/FlowPreviewStatus.svelte b/frontend/src/lib/components/preview/FlowPreviewStatus.svelte
index cc60c3cfc6..6ff7a5cdda 100644
--- a/frontend/src/lib/components/preview/FlowPreviewStatus.svelte
+++ b/frontend/src/lib/components/preview/FlowPreviewStatus.svelte
@@ -3,21 +3,27 @@
import { base } from '$lib/base'
import JobStatus from '../JobStatus.svelte'
+ import { ExternalLinkIcon } from 'lucide-svelte'
+ import type { FlowStatusViewerContext } from '../graph'
+ import { getContext } from 'svelte'
export let job: QueuedJob | CompletedJob
+
+ let { hideJobId } = getContext('FlowStatusViewer')
- {#if job}
+ {#if job && !hideJobId}