diff --git a/client/app/scripts/charts/nodes-chart.js b/client/app/scripts/charts/nodes-chart.js index b64d53efb..ae839c96f 100644 --- a/client/app/scripts/charts/nodes-chart.js +++ b/client/app/scripts/charts/nodes-chart.js @@ -352,12 +352,15 @@ export default class NodesChart extends React.Component { log(`graph layout took ${timedLayouter.time}ms`); // inject metrics and save coordinates for restore - const layoutNodes = graph.nodes - .mergeDeep(stateNodes) + let layoutNodes = graph.nodes .map(node => node.merge({ px: node.get('x'), py: node.get('y') })); + + // Re-apply in case layout runner's node cache applied stale node metadata + layoutNodes = layoutNodes.mergeDeep(stateNodes); + const layoutEdges = graph.edges .map(edge => edge.set('ppoints', edge.get('points')));