diff --git a/src/frontend/src/stores/flowStore.ts b/src/frontend/src/stores/flowStore.ts index 278a673c9..c2b84ae5a 100644 --- a/src/frontend/src/stores/flowStore.ts +++ b/src/frontend/src/stores/flowStore.ts @@ -509,6 +509,7 @@ const useFlowStore = create((set, get) => ({ runId: runId, verticesToRun: get().verticesBuild!.verticesToRun, }); + get().updateBuildStatus(top_level_vertices, BuildStatus.TO_BUILD); } @@ -522,10 +523,12 @@ const useFlowStore = create((set, get) => ({ const verticesIds = get().verticesBuild?.verticesIds; const newFlowBuildStatus = { ...get().flowBuildStatus }; // filter out the vertices that are not status + const verticesToUpdate = verticesIds?.filter( (id) => newFlowBuildStatus[id]?.status !== BuildStatus.BUILT, ); + if (verticesToUpdate) { useFlowStore.getState().updateBuildStatus(verticesToUpdate, status); } @@ -625,6 +628,7 @@ const useFlowStore = create((set, get) => ({ }); }, updateBuildStatus: (nodeIdList: string[], status: BuildStatus) => { + const newFlowBuildStatus = { ...get().flowBuildStatus }; nodeIdList.forEach((id) => { newFlowBuildStatus[id] = { @@ -644,6 +648,7 @@ const useFlowStore = create((set, get) => ({ newFlowBuildStatus[id].status = BuildStatus.BUILT; } }); + set({ flowBuildStatus: newFlowBuildStatus }); }, }));