This is an automated email from the ASF dual-hosted git repository.

klesh pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/incubator-devlake.git


The following commit(s) were added to refs/heads/main by this push:
     new 76dfc9fc `hotfix` `v0.12.0` blueprint detail: update current run 
object status on refresh (#2598)
76dfc9fc is described below

commit 76dfc9fcd164f73f1c3921a455eb267beb7cee6c
Author: Julien Chinapen <[email protected]>
AuthorDate: Mon Jul 25 22:32:15 2022 -0400

    `hotfix` `v0.12.0` blueprint detail: update current run object status on 
refresh (#2598)
    
    * fix: update current run object status on refresh
    
    * fix: refresh startedAt and stage on current run
---
 config-ui/src/pages/blueprints/blueprint-detail.jsx | 15 +++++++++++----
 1 file changed, 11 insertions(+), 4 deletions(-)

diff --git a/config-ui/src/pages/blueprints/blueprint-detail.jsx 
b/config-ui/src/pages/blueprints/blueprint-detail.jsx
index f15ce1ae..d5fe2abc 100644
--- a/config-ui/src/pages/blueprints/blueprint-detail.jsx
+++ b/config-ui/src/pages/blueprints/blueprint-detail.jsx
@@ -675,7 +675,6 @@ const BlueprintDetail = (props) => {
   }, [blueprintPipelines])
 
   useEffect(() => {
-    // if (lastPipeline?.id && lastPipeline.status === TaskStatus.RUNNING) {
     if (lastPipeline?.id && [TaskStatus.CREATED, TaskStatus.RUNNING, 
TaskStatus.COMPLETE, TaskStatus.FAILED].includes(lastPipeline.status)) {
       fetchPipeline(lastPipeline?.id)
       setCurrentRun((cR) => ({
@@ -684,10 +683,10 @@ const BlueprintDetail = (props) => {
         status: lastPipeline.status,
         statusLabel: TaskStatusLabels[lastPipeline.status],
         icon: getTaskStatusIcon(lastPipeline.status),
-        startedAt: dayjs(lastPipeline.beganAt).format('L LTS'),
+        startedAt: lastPipeline.beganAt ? 
dayjs(lastPipeline.beganAt).format('L LTS') : '-',
         duration:
-          lastPipeline.status === 'TASK_RUNNING'
-            ? dayjs(lastPipeline.beganAt).toNow(true)
+          [TaskStatus.CREATED, 
TaskStatus.RUNNING].includes(lastPipeline.status)
+            ? dayjs(lastPipeline.beganAt || lastPipeline.createdAt).toNow(true)
             : dayjs(lastPipeline.beganAt).from(
               lastPipeline.finishedAt || lastPipeline.updatedAt,
               true
@@ -712,6 +711,14 @@ const BlueprintDetail = (props) => {
     if (activePipeline?.id && activePipeline?.id !== null) {
       setCurrentStages(buildPipelineStages(activePipeline.tasks))
       setAutoRefresh([TaskStatus.RUNNING, 
TaskStatus.CREATED].includes(activePipeline?.status))
+      setCurrentRun((cR) => ({
+        ...cR,
+        startedAt: activePipeline?.beganAt ? 
dayjs(activePipeline?.beganAt).format('L LTS') : '-',
+        stage: `Stage ${activePipeline.stage}`,
+        status: activePipeline?.status,
+        statusLabel: TaskStatusLabels[activePipeline?.status],
+        icon: getTaskStatusIcon(activePipeline?.status),
+      }))
     }
   }, [activePipeline, buildPipelineStages])
 

Reply via email to