From ce052b909e7a5531d8b2f294fdf6b6ee77da5496 Mon Sep 17 00:00:00 2001 From: Harmon Date: Wed, 1 Jul 2026 01:26:02 +0800 Subject: [PATCH] Keep active D-InSAR runs marked running --- frontend/src/DinsarProductionPanel.jsx | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/frontend/src/DinsarProductionPanel.jsx b/frontend/src/DinsarProductionPanel.jsx index a25b1b0..8dad37e 100644 --- a/frontend/src/DinsarProductionPanel.jsx +++ b/frontend/src/DinsarProductionPanel.jsx @@ -315,9 +315,17 @@ function hasMixedRunOutcome(run) { return Number(failed || 0) > 0 && (Number(completed || 0) > 0 || Number(skipped || 0) > 0); } +function isActiveRunStatus(status) { + const normalized = String(status || '').trim().toLowerCase(); + return normalized === 'running' || normalized === 'pending'; +} + function getDisplayRunStatus(run) { const rawStatus = String(run?.raw_status || '').toUpperCase(); const status = String(run?.status || '').toLowerCase(); + if (isActiveRunStatus(rawStatus) || isActiveRunStatus(status)) { + return run?.status; + } if (rawStatus === 'PARTIAL_SUCCESS' || status === 'partial_success' || hasMixedRunOutcome(run)) { return 'partial_success'; } @@ -326,7 +334,11 @@ function getDisplayRunStatus(run) { function getDisplayTaskStatus(task, relatedRun = null) { if (!task) return ''; - if (String(task?.status || '').toUpperCase() === 'PARTIAL_SUCCESS' || hasMixedRunOutcome(relatedRun)) { + const taskStatus = String(task?.status || '').trim(); + if (isActiveRunStatus(taskStatus) || isActiveRunStatus(relatedRun?.raw_status) || isActiveRunStatus(relatedRun?.status)) { + return task.status; + } + if (taskStatus.toUpperCase() === 'PARTIAL_SUCCESS' || hasMixedRunOutcome(relatedRun)) { return 'PARTIAL_SUCCESS'; } return task.status;