From a868b4e2d5cf7a8fa2d8cbd2de9b4cf069601b5b Mon Sep 17 00:00:00 2001 From: wendrul <53628737+wendrul@users.noreply.github.com> Date: Thu, 12 Feb 2026 18:53:16 +0100 Subject: [PATCH] Add loader on full-text serach when job is loading + error if failed (#7927) --- .../lib/components/runs/JobRunsPreview.svelte | 34 +++++++++++++++++-- 1 file changed, 31 insertions(+), 3 deletions(-) diff --git a/frontend/src/lib/components/runs/JobRunsPreview.svelte b/frontend/src/lib/components/runs/JobRunsPreview.svelte index e28e20f8df..3c3f4ec370 100644 --- a/frontend/src/lib/components/runs/JobRunsPreview.svelte +++ b/frontend/src/lib/components/runs/JobRunsPreview.svelte @@ -35,6 +35,8 @@ } let currentJob: Job | undefined = $state(undefined) + let loadError: string | undefined = $state(undefined) + let isLoadingJobDetails: boolean = $state(false) let lastJobId: string | undefined = $state(undefined) let concurrencyKey: string | undefined = $state(undefined) @@ -67,15 +69,27 @@ } }) $effect(() => { - id && - jobLoader && + if (id && jobLoader) { + loadError = undefined + isLoadingJobDetails = true untrack(() => jobLoader?.watchJob(id, { done(x) { onDone(x) + loadError = undefined + isLoadingJobDetails = false + }, + doneError({ error }) { + loadError = error?.body || error?.message || 'Failed to load job details' + currentJob = undefined + isLoadingJobDetails = false + }, + change() { + isLoadingJobDetails = false } }) ) + } }) $effect(() => { @@ -111,7 +125,21 @@
- {#if job} + {#if isLoadingJobDetails} +
+
+ +
Loading job details...
+
+
+ {:else if loadError} +
+
+
Error loading job
+
{loadError}
+
+
+ {:else if job} {@const isFlow = job?.job_kind == 'flow' || isFlowPreview(job?.job_kind)}