diff --git a/frontend/src/lib/components/ExecutionDuration.svelte b/frontend/src/lib/components/ExecutionDuration.svelte new file mode 100644 index 0000000000..aa42d428ce --- /dev/null +++ b/frontend/src/lib/components/ExecutionDuration.svelte @@ -0,0 +1,52 @@ + diff --git a/frontend/src/lib/components/flows/FlowProgressBar.svelte b/frontend/src/lib/components/flows/FlowProgressBar.svelte index 6970b1aca0..39ccbbf424 100644 --- a/frontend/src/lib/components/flows/FlowProgressBar.svelte +++ b/frontend/src/lib/components/flows/FlowProgressBar.svelte @@ -3,6 +3,7 @@ import ProgressBar from '../progressBar/ProgressBar.svelte' export let job: Job | undefined = undefined + export let currentSubJobProgress: number | undefined = undefined let error: number | undefined = undefined let index = 0 @@ -59,6 +60,9 @@ // Jitter protection >^^^^^^^^ subStepLength = 100 subIndexIsPercent = true; + currentSubJobProgress = subStepIndex + } else { + currentSubJobProgress = undefined } error = newError diff --git a/frontend/src/routes/(root)/(logged)/run/[...run]/+page.svelte b/frontend/src/routes/(root)/(logged)/run/[...run]/+page.svelte index 8ab81a1e38..6131ed5ea0 100644 --- a/frontend/src/routes/(root)/(logged)/run/[...run]/+page.svelte +++ b/frontend/src/routes/(root)/(logged)/run/[...run]/+page.svelte @@ -92,11 +92,13 @@ import Popover from '$lib/components/Popover.svelte' import HighlightTheme from '$lib/components/HighlightTheme.svelte' import PreprocessedArgsDisplay from '$lib/components/runs/PreprocessedArgsDisplay.svelte' + import ExecutionDuration from '$lib/components/ExecutionDuration.svelte' let job: Job | undefined let jobUpdateLastFetch: Date | undefined let scriptProgress: number | undefined = undefined; + let currentJobIsLongRunning: boolean = false let viewTab: 'result' | 'logs' | 'code' | 'stats' = 'result' let selectedJobStep: string | undefined = undefined @@ -112,6 +114,8 @@ let persistentScriptDrawer: PersistentScriptDrawer let getLogs: (() => Promise) | undefined = undefined + let showExplicitProgressTip: boolean = + (localStorage.getItem('hideExplicitProgressTip') ?? 'false') == 'false' $: job?.logs == undefined && job && viewTab == 'logs' && getLogs?.() let lastJobId: string | undefined = undefined @@ -747,7 +751,35 @@
- {#if job}{/if} + {#if job} + + {#if currentJobIsLongRunning && showExplicitProgressTip && !scriptProgress && 'running' in job} + + + + {/if} + {/if}
@@ -757,6 +789,9 @@ {/if} {#if job?.job_kind !== 'flow' && job?.job_kind !== 'flowpreview' && job?.job_kind !== 'singlescriptflow'} + {#if ['python3', 'bun', 'deno'].includes(job?.language ?? '') && (job?.job_kind == 'script' || job?.job_kind == 'preview')} + + {/if}
{#if job?.flow_status && typeof job.flow_status == 'object' && !('_metadata' in job.flow_status)}
@@ -823,7 +858,11 @@
{:else if !job?.['deleted']}
- +