From 2a0ef0756db96f2223ecc6cf4397dd3b700b5fbd Mon Sep 17 00:00:00 2001 From: olga-union <101579322+olga-union@users.noreply.github.com> Date: Thu, 27 Oct 2022 13:14:27 -0500 Subject: [PATCH] fix: failing/empty graph and timeline tabs upon relaunch data updates (#629) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * chore: move src to a new location Signed-off-by: Nastya Rusina * ci: allow branch to be built again Signed-off-by: Nastya Rusina * chore: replace link to github repository to a proper one Signed-off-by: Nastya Rusina * ci: basic test and test-coverage setup Signed-off-by: Nastya Rusina * chore: add first plugin package Signed-off-by: Nastya Rusina * chore: allow to start test from main directory Signed-off-by: Nastya Rusina * ci: update lowest mkdirp version (#423) Signed-off-by: Nastya Rusina * chore: add build scripts for console app (#429) Signed-off-by: Carina Ursu Co-authored-by: Carina Ursu * fix: hide the legend (#435) Signed-off-by: eugenejahn * ci: move storybook related packages to top level (#434) * ci: move storybook related packages to top level * ci: ensure that lint can be run in PR checks * ci: allow to run tests linux setup Signed-off-by: Nastya Rusina * fix: fix issue 386 (#437) Signed-off-by: eugenejahn * ci: ensure unified tsconfig and remove mocks, test, stories from build (#436) * ci: ensure unified tsconfig and remove mocks,test,stories from build * ci: move certificates into certificate folder inside script Signed-off-by: Nastya Rusina * Make whole row clickable to open TaskExecutionDetails panel (#444) * fix: issue 398 * fix: prevent parent onclick event trigger Signed-off-by: eugenejahn * ci: allow to start jest config for all project at once (#447) * minor: unable to view all the workflow versions (#446) * fix: unable to view all the workflow versions Signed-off-by: Carina Ursu * chore: cleanup Signed-off-by: Carina Ursu Co-authored-by: Carina Ursu * chore(tsc): exclude test/stories/mock files only from build (#451) * chore(tsc): exclude test/stories/mock files only from build Signed-off-by: Nastya Rusina * ci: ensure that webpack too doesn't include test/mock/specs files (#452) Signed-off-by: Nastya Rusina * minor: add support for StructuredDataSet Input/Output type (#445) * chore: support for StructuredDataSet Input/Output type Signed-off-by: Carina Ursu * chore: add tests Signed-off-by: Carina Ursu * chore: add package Signed-off-by: Carina Ursu * chore: resolving local package issue Signed-off-by: Carina Ursu * chore: yarn lock Signed-off-by: Carina Ursu * chore: stories Signed-off-by: Carina Ursu * chore: fix associative arrays in copy functionality Signed-off-by: Carina Ursu * chore: fix scalar stories Signed-off-by: Carina Ursu * chore: oops Signed-off-by: Carina Ursu * chore: cleanup Signed-off-by: Carina Ursu * chore: revert old viewer to original Signed-off-by: Carina Ursu * chore: fix Signed-off-by: Carina Ursu * chore: remove non-null assertion Signed-off-by: Carina Ursu * chore: fix types Signed-off-by: Carina Ursu * chore: cleanup Signed-off-by: Carina Ursu * chore: fix tests Signed-off-by: Carina Ursu * chore: fix test types Signed-off-by: Carina Ursu * chore: cleanup Signed-off-by: Carina Ursu * chore: cleanup Signed-off-by: Carina Ursu * chore: cleanup Signed-off-by: Carina Ursu * chore: cleanup Signed-off-by: Carina Ursu Co-authored-by: Carina Ursu * chore: Provide basic repo structure and ensure that stories, tests, vscode setup properly (#458) * chore: separate AppInfo * chore: vscode properly understands @flyteconsole * chore: add basics/locale entry * test: add storybooks and tests * test: fix istanbul test-coverage issue by binding babel versions Signed-off-by: Nastya Rusina * ci: minimize babel presence (#457) * ci: minimize babel presence Signed-off-by: Nastya Rusina * fix: update node executions to display map tasks (#455) * fix: update node executions to display map tasks * fix: update map task logs styles * test: add/update unit tests * fix: fix flickering and unnecessary re-renders Signed-off-by: Olga Nad * ci: resolve docker build issues (#462) * ci: resolve docker build issues * chore: remove unneeded changes Signed-off-by: Nastya Rusina * Chore: Rebase devmain on top of master (#464) * fix: ensure that admin version is fully shown (#465) * chore: fix for console not respecting admin url (#468) * chore: fix Signed-off-by: Carina Ursu * chore: remove console Signed-off-by: Carina Ursu * chore: add cherio o=to package Signed-off-by: Carina Ursu * chore: add cherio o=to package Signed-off-by: Carina Ursu * chore: fix start prod Signed-off-by: Carina Ursu * chore: fix start prod Signed-off-by: Carina Ursu * chore: cleanup Signed-off-by: Carina Ursu * chore: cleanup Signed-off-by: Carina Ursu Co-authored-by: Carina Ursu * chore: rebase on top of master Signed-off-by: Nastya <55718143+anrusina@users.noreply.github.com> * fix: trigger release #patch (#477) Signed-off-by: Nastya <55718143+anrusina@users.noreply.github.com> * feat: add task version info (#485) made the entities component become more generic that can support Workflow, Task, and others added the inputs and outputs to task details page added the versions table in task details page added the version details page added task details link in node side panel Signed-off-by: eugenejahn Co-authored-by: Eugene Jahn * chore: update Readme with python note + package version update (#486) Signed-off-by: Nastya Rusina Co-authored-by: Nastya Rusina * hotfix ci pipeline (#487) * hotfix ci pipeline Signed-off-by: Yuvraj * more changes Signed-off-by: Yuvraj Co-authored-by: Yuvraj * [Mapping][TaskInfo] V.2 - Update Task details to allow check information for child task execution (#467) * fix: add eventVersion check for map tasks (#484) * fix: resolve minimist package to v1.2.6 (#492) Signed-off-by: Nastya <55718143+anrusina@users.noreply.github.com> * ci: add flyte-api plugin package (#490) Signed-off-by: Nastya <55718143+anrusina@users.noreply.github.com> * fix: update/add graph related stories (#493) * fix: separate api auth to plugin folder (#495) * fix: separate api auth to plugin folder * chore: for local admin URL is undefined * chore: update README.md * test: fix tests + add new ones * v0.0.2 - release for flyte-api plugin Signed-off-by: Nastya <55718143+anrusina@users.noreply.github.com> * feat: rerun task action in execution page (#488) * feat: task rerun done Signed-off-by: Eugene Jahn * feat: fix initialParameters Signed-off-by: Eugene Jahn * fix: remove a file Signed-off-by: Eugene Jahn * feat: rerun task done Signed-off-by: Eugene Jahn * feat: rerun fix literal type Signed-off-by: Eugene Jahn * feat: small typo fixed Signed-off-by: Eugene Jahn * feat: small typo fixed Signed-off-by: Eugene Jahn * feat: fix test coverage Signed-off-by: Eugene Jahn * chore: update release version (#501) Signed-off-by: Nastya <55718143+anrusina@users.noreply.github.com> * chore(deps-dev): bump protobufjs from 6.8.9 to 6.11.3 (#502) Bumps [protobufjs](https://github.com/protobufjs/protobuf.js) from 6.8.9 to 6.11.3. - [Release notes](https://github.com/protobufjs/protobuf.js/releases) - [Changelog](https://github.com/protobufjs/protobuf.js/blob/v6.11.3/CHANGELOG.md) - [Commits](https://github.com/protobufjs/protobuf.js/commits/v6.11.3) --- updated-dependencies: - dependency-name: protobufjs dependency-type: direct:development ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore: add package generator for basics/composites/plugins (#503) * chore: add package generator for basics/composites/plugins Signed-off-by: Nastya <55718143+anrusina@users.noreply.github.com> * Update CONTRIBUTING.md with package generate info * fix(bug-508): executions can not be filtered by start time (#509) Signed-off-by: Nastya <55718143+anrusina@users.noreply.github.com> * chore(deps-dev): bump semantic-release from 17.2.3 to 19.0.3 (#510) Bumps [semantic-release](https://github.com/semantic-release/semantic-release) from 17.2.3 to 19.0.3. - [Release notes](https://github.com/semantic-release/semantic-release/releases) - [Commits](https://github.com/semantic-release/semantic-release/compare/v17.2.3...v19.0.3) --- updated-dependencies: - dependency-name: semantic-release dependency-type: direct:development ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * feat: support flyte decks (#504) * feat: support flyte deck #none Signed-off-by: James * fix: rebase with master #none Signed-off-by: James * fix: fix iframe height and api response type; #none Signed-off-by: James * fix: modal style; #none; Signed-off-by: James * fix: use env variable for server ssl config #none; Signed-off-by: James * fix: use h2 instead of h3 for future migration #none Signed-off-by: James * feat: navbar navigation dropdown (#511) * feat: navbar navigstion dropdown * chore: storybook update * chore: fix test + add base readme Signed-off-by: Nastya <55718143+anrusina@users.noreply.github.com> * chore: support internal/external navigsation better (#513) Signed-off-by: Nastya <55718143+anrusina@users.noreply.github.com> * Update Contributing.md (#515) Add line how to add nodejs plugin to asdf, to simplify setup * chore: update navigationDropdown usage (#517) Signed-off-by: Work Co-authored-by: Work * chore(deps): bump jsdom from 16.4.0 to 16.7.0 (#516) Bumps [jsdom](https://github.com/jsdom/jsdom) from 16.4.0 to 16.7.0. - [Release notes](https://github.com/jsdom/jsdom/releases) - [Changelog](https://github.com/jsdom/jsdom/blob/master/Changelog.md) - [Commits](https://github.com/jsdom/jsdom/compare/16.4.0...16.7.0) --- updated-dependencies: - dependency-name: jsdom dependency-type: indirect ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * feat: launch plans list & detail page #none; (#507) * feat: launch plans list #none; * fix: launch plan detail page the top navigation header * fix: added expected inputs and fixed inputs; #none * fix: remove radio buttons for view all launch plan versions; #none Signed-off-by: James * chore: release 1.1.3 (#520) Signed-off-by: Nastya Rusina * fix: cache icon fro map task (#519) * fix: cache icon fro map task * fix: icon and text center Signed-off-by: eugenejahn * fix: Relaunch form does not persist security context values when changed (#527) fix: use execution security context in relaunch; #none Signed-off-by: James * fix: release process (#529) * fix release process Signed-off-by: Yuvraj * more changes Signed-off-by: Yuvraj * more changes Signed-off-by: Yuvraj * fix workflow Signed-off-by: Yuvraj Co-authored-by: Yuvraj * fix: fix semantic-release config (#532) Signed-off-by: Yuvraj * test: fix time sensitive test (#533) chore: fix test Signed-off-by: Nastya Rusina * Rename upgrade idl workflow (#534) Signed-off-by: Yuvraj Co-authored-by: Yuvraj * fix: support mapped tasks (#494) * fix: support mapped tasks #none Signed-off-by: James * fix: fix comments #none Signed-off-by: James * fix: fix unit test #none Signed-off-by: James * fix: add string constants #none Signed-off-by: James * fix: added test for mapInputHelper #none Signed-off-by: James * fix: fix test for utils.test.ts #none Signed-off-by: James * chore: trigger snyk re-run * fix: multiple keys for mapped types; #none Signed-off-by: James * chore: storybook item (#530) Signed-off-by: Nastya Rusina * fix: fix validation for duplicate and fix focus issue Signed-off-by: James * chore: provide previous run values on relaunch Signed-off-by: Nastya Rusina Co-authored-by: Nastya <55718143+anrusina@users.noreply.github.com> Co-authored-by: Nastya Rusina * fix(491): remove favicon package + use favicon.svg by default (#537) * fix(491): remove favicon package + use favicon.svg by default Signed-off-by: Nastya Rusina * chore: resolve yarn.lock merge conflict Signed-off-by: Nastya Rusina * Fixed undefined task input types access in NodeExecutionActions (#538) * Fixed undefined task input types access in NodeExecutionActions Issue occurred due to race condition while loading data, indentical fix applies as for #506 Signed-off-by: Nick Müller * fix: cannot read properties of undefined (#506) fix: nullref Signed-off-by: Carina Ursu Co-authored-by: Carina Ursu (cherry picked from commit d38b98b2d68700415224ad6c621d79e928fded01) Signed-off-by: Nick Müller Co-authored-by: Carina Ursu * feat: support union type for launch plan (#540) * feat: support union type for launch plan Signed-off-by: eugenejahn * fix: format Signed-off-by: eugenejahn * fix: update type label Signed-off-by: eugenejahn * fix: update the format Signed-off-by: eugenejahn * fix: graph has realtime updates as execution progresses (#543) Signed-off-by: Olga Nad * fix: make sure groups used in graph aren't undefined (#545) Signed-off-by: Olga Nad * Hotfix docker push GHWF (#547) * Rename upgrade idl workflow Signed-off-by: Yuvraj * fix docker push wf Signed-off-by: Yuvraj Co-authored-by: Yuvraj * fix: Graph Center on initial render (#541) * fix: upgrade react-flow-renderer version Signed-off-by: James * fix: use setTimeout for queue on the next render Signed-off-by: James * fix: use one state variable and fitView after nodesChange Signed-off-by: James * introduce needFitView * fix: graph edge overlaps nodes (#542) * fix: upgrade react-flow-renderer version Signed-off-by: James * fix: use setTimeout for queue on the next render Signed-off-by: James * fix: use one state variable and fitView after nodesChange Signed-off-by: James * fix: graph edge overlaps nodes issue Signed-off-by: James * introduce needFitView * edge overlap * fix: flyteconsole tag in ci pipeline (#550) * fix tag issue in ci Signed-off-by: Yuvraj * remove welcome bot from boilerplate config Signed-off-by: Yuvraj Co-authored-by: Yuvraj * enable docker push for console (#552) * chore(deps): bump terser from 4.8.0 to 4.8.1 (#548) Bumps [terser](https://github.com/terser/terser) from 4.8.0 to 4.8.1. - [Release notes](https://github.com/terser/terser/releases) - [Changelog](https://github.com/terser/terser/blob/master/CHANGELOG.md) - [Commits](https://github.com/terser/terser/commits) --- updated-dependencies: - dependency-name: terser dependency-type: indirect ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Update Flyteidl version (#558) Signed-off-by: Flyte-Bot Signed-off-by: Flyte-Bot Co-authored-by: flyte-bot * fix: fix searchbar X button (#564) chore: fix searchbar X button Signed-off-by: Carina Ursu Signed-off-by: Carina Ursu * fix: update timeline view to show dynamic wf internals on first render (#562) * fix: update timeline view to show dynamic wf internals on first render Signed-off-by: Olga Nad * fix: update tests and clean up code Signed-off-by: Olga Nad * fix: test Signed-off-by: Olga Nad Signed-off-by: Olga Nad * fix: webmanifest missing crossorigin attribute (#566) Signed-off-by: Carina Ursu Signed-off-by: Carina Ursu * fix: console showing subworkflows as unknown (#570) * fix: console showing subworkflows as unknown Signed-off-by: Olga Nad * fix: replace comparison with lodash isEqual Signed-off-by: Olga Nad * fix: remove checkIfObjectsAreSame Signed-off-by: Olga Nad Signed-off-by: Olga Nad * fix: Dict value loses 1 trailing character on UI Launch. (#561) fix: dict lose trailing issue Signed-off-by: James Signed-off-by: James * fix: launchform validation (#557) * fix: disable launch button and show validation messaages Signed-off-by: James * fix: code clean Signed-off-by: James Signed-off-by: James * fix: integrate timeline and graph tabs wrappers under one component (#572) * fix: integrate timeline and graph tabs wrappers under one component Signed-off-by: Olga Nad * fix: details tab in graph view and clean-up Signed-off-by: Olga Nad * fix: old unit tests Signed-off-by: Olga Nad * fix: temp filename change Signed-off-by: Olga Nad * fix: final filename change Signed-off-by: Olga Nad * fix: tsconfig Signed-off-by: Olga Nad Signed-off-by: Olga Nad * chore(deps-dev): bump moment from 2.29.3 to 2.29.4 (#549) Bumps [moment](https://github.com/moment/moment) from 2.29.3 to 2.29.4. - [Release notes](https://github.com/moment/moment/releases) - [Changelog](https://github.com/moment/moment/blob/develop/CHANGELOG.md) - [Commits](https://github.com/moment/moment/compare/2.29.3...2.29.4) --- updated-dependencies: - dependency-name: moment dependency-type: direct:development ... Signed-off-by: dependabot[bot] Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * added none type in union type (#577) * added none type in union type Signed-off-by: eugenejahn * udpated the test case Signed-off-by: eugenejahn * fix: fixed eslint Signed-off-by: eugenejahn Signed-off-by: eugenejahn * fix: correctly coerce `defaultValue` when rendering LaunchPlan details (#578) fix: correctly coerce defaultValue when rendering LaunchPlan details Signed-off-by: Rahul Mehta Signed-off-by: Rahul Mehta * #minor: inputHelpers InputProps (#579) fix: inputHelpers InputProps Signed-off-by: Carina Ursu Signed-off-by: Carina Ursu * fix: fix test of launchform (#581) * fix: fix test of launchform Signed-off-by: James * fix: inputHelpers tests regression Signed-off-by: Olga Nad * fix: update tests description Signed-off-by: Olga Nad * fix: spelling typo Signed-off-by: Olga Nad Signed-off-by: James Signed-off-by: Olga Nad Co-authored-by: Olga Nad * Pruning some unused packages (#583) Signed-off-by: Jason Porter Signed-off-by: Jason Porter * feat: minor change (#584) Minor change Signed-off-by: Jason Porter Signed-off-by: Jason Porter * fix: floor seconds to int in the edge case moment returns it as float (#582) Signed-off-by: Olga Nad Signed-off-by: Olga Nad * Update Flyteidl version (#575) Signed-off-by: Flyte-Bot Signed-off-by: Flyte-Bot Co-authored-by: flyte-bot * fix: add BASE_URL to dev startup, open deeply nested urls (#589) * fix: add BASE_URL to dev startup, open deeply nested urls Signed-off-by: Carina Ursu * fix: remove debug code Signed-off-by: Carina Ursu * chore: empty BASE_URL handling Signed-off-by: Carina Ursu Signed-off-by: Carina Ursu * fix: add default disabled state for only mine filter (#585) * fix: add default disabled state for only mine filter Signed-off-by: Olga Nad * fix: tests Signed-off-by: Olga Nad * fix: use api context to default filter state Signed-off-by: Olga Nad * fix: revert test updates Signed-off-by: Olga Nad Signed-off-by: Olga Nad * Update Flyteidl version (#590) Signed-off-by: Flyte-Bot Signed-off-by: Flyte-Bot Co-authored-by: flyte-bot * Launch plan ref v2 (#601) * progress * Fixed * Removed debug code Signed-off-by: Jason Porter Signed-off-by: Jason Porter * fix: enable deeplinks in development (#602) chore: enable deeplinks in development Signed-off-by: Carina Ursu Signed-off-by: Carina Ursu * chore: release 1.3.5 (#605) Signed-off-by: Jason Porter Signed-off-by: Jason Porter * fix: failing/empty graph and timeline tabs upon relaunch data updates Signed-off-by: Olga Nad Signed-off-by: Nastya Rusina Signed-off-by: eugenejahn Signed-off-by: Olga Nad Signed-off-by: Nastya <55718143+anrusina@users.noreply.github.com> Signed-off-by: Eugene Jahn Signed-off-by: James Signed-off-by: Yuvraj Signed-off-by: Flyte-Bot Signed-off-by: Carina Ursu Signed-off-by: dependabot[bot] Signed-off-by: Rahul Mehta Signed-off-by: Jason Porter Co-authored-by: Nastya Rusina Co-authored-by: Nastya <55718143+anrusina@users.noreply.github.com> Co-authored-by: Carina Ursu Co-authored-by: Carina Ursu Co-authored-by: Eugene Jahn Co-authored-by: apTalya <99441958+apTalya@users.noreply.github.com> Co-authored-by: Yuvraj Co-authored-by: Yuvraj Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: james-union <105876962+james-union@users.noreply.github.com> Co-authored-by: Work Co-authored-by: Nick Müller Co-authored-by: Flyte Bot Co-authored-by: flyte-bot Co-authored-by: Rahul Mehta <98349643+rahul-theorem@users.noreply.github.com> Co-authored-by: Jason Porter <84735036+jsonporter@users.noreply.github.com> --- .../ExecutionDetails/Timeline/ExecutionTimeline.tsx | 4 ++++ .../src/components/WorkflowGraph/WorkflowGraph.tsx | 8 +++++++- .../zapp/console/src/components/WorkflowGraph/strings.ts | 9 +++++++++ .../flytegraph/ReactFlow/transformDAGToReactFlowV2.tsx | 5 +++++ 4 files changed, 25 insertions(+), 1 deletion(-) create mode 100644 packages/zapp/console/src/components/WorkflowGraph/strings.ts diff --git a/packages/zapp/console/src/components/Executions/ExecutionDetails/Timeline/ExecutionTimeline.tsx b/packages/zapp/console/src/components/Executions/ExecutionDetails/Timeline/ExecutionTimeline.tsx index e71eb0e02..b7d72ab85 100644 --- a/packages/zapp/console/src/components/Executions/ExecutionDetails/Timeline/ExecutionTimeline.tsx +++ b/packages/zapp/console/src/components/Executions/ExecutionDetails/Timeline/ExecutionTimeline.tsx @@ -83,6 +83,10 @@ export const ExecutionTimeline: React.FC = ({ chartTimezone, initialNod const nodeExecutionsById = useContext(NodeExecutionsByIdContext); const { chartInterval: chartTimeInterval } = useScaleContext(); + useEffect(() => { + setOriginalNodes(initialNodes); + }, [initialNodes]); + useEffect(() => { const plainNodes = convertToPlainNodes(originalNodes); const updatedShownNodesMap = plainNodes.map((node) => { diff --git a/packages/zapp/console/src/components/WorkflowGraph/WorkflowGraph.tsx b/packages/zapp/console/src/components/WorkflowGraph/WorkflowGraph.tsx index 5038160c2..d99c2bdc0 100644 --- a/packages/zapp/console/src/components/WorkflowGraph/WorkflowGraph.tsx +++ b/packages/zapp/console/src/components/WorkflowGraph/WorkflowGraph.tsx @@ -5,6 +5,7 @@ import { NonIdealState } from 'components/common/NonIdealState'; import { CompiledNode } from 'models/Node/types'; import { TaskExecutionPhase } from 'models/Execution/enums'; import { dNode } from 'models/Graph/types'; +import t from './strings'; export interface WorkflowGraphProps { onNodeSelectionChanged: (selectedNodes: string[]) => void; @@ -32,7 +33,12 @@ export const WorkflowGraph: React.FC = ({ initialNodes, }) => { if (error) { - return ; + return ; + } + + // If the dag is empty, show the message, instead of trying to display it + if (!mergedDag) { + return ; } return ( diff --git a/packages/zapp/console/src/components/WorkflowGraph/strings.ts b/packages/zapp/console/src/components/WorkflowGraph/strings.ts new file mode 100644 index 000000000..00e2364d5 --- /dev/null +++ b/packages/zapp/console/src/components/WorkflowGraph/strings.ts @@ -0,0 +1,9 @@ +import { createLocalizedString } from '@flyteconsole/locale'; + +const str = { + graphErrorTitle: 'Cannot render Workflow graph', + graphErrorEmptyGraph: 'The graph is empty', +}; + +export { patternKey } from '@flyteconsole/locale'; +export default createLocalizedString(str); diff --git a/packages/zapp/console/src/components/flytegraph/ReactFlow/transformDAGToReactFlowV2.tsx b/packages/zapp/console/src/components/flytegraph/ReactFlow/transformDAGToReactFlowV2.tsx index 9c499d793..13c52bf7e 100644 --- a/packages/zapp/console/src/components/flytegraph/ReactFlow/transformDAGToReactFlowV2.tsx +++ b/packages/zapp/console/src/components/flytegraph/ReactFlow/transformDAGToReactFlowV2.tsx @@ -236,6 +236,11 @@ export const buildGraphMapping = (props): ReactFlowGraphMapping => { const parse = (props: ParseProps) => { const { contextNode, contextParent, rootParentNode, nodeDataProps } = props; let context: ReactFlowGraph | null = null; + if (!contextNode) { + debug('\t graph parse: contextNode is ', contextNode); + return; + } + contextNode.nodes .filter((n) => !!n) .map((node: dNode) => {