Skip to content

Commit

Permalink
[ML][APM] Fix Cytoscape listener typing, Update Cytoscape versions (#…
Browse files Browse the repository at this point in the history
…205726)

## Summary

Updates Cytoscape to newer versions, requiring one change with some
`removeListener` usage no longer being valid typing.

Supersedes #205444

## How to test

- Passes CI with no type errors or failed CI jobs for ML
- Job Map or wherever cytoscape is being used on ML doesn't leak event
listeners.
- Usages in APM also do not break.

(cherry picked from commit 7363f03)

# Conflicts:
#	x-pack/solutions/observability/plugins/apm/public/components/app/service_map/cytoscape_options.ts
#	yarn.lock
  • Loading branch information
Bluefinger committed Jan 8, 2025
1 parent a410ab3 commit a3c4ba0
Show file tree
Hide file tree
Showing 7 changed files with 26 additions and 39 deletions.
6 changes: 3 additions & 3 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -1115,8 +1115,8 @@
"css-box-model": "^1.2.1",
"css.escape": "^1.5.1",
"cypress-data-session": "^2.8.0",
"cytoscape": "^3.10.0",
"cytoscape-dagre": "^2.2.2",
"cytoscape": "^3.30.4",
"cytoscape-dagre": "^2.5.0",
"d3": "3.5.17",
"d3-array": "2.12.1",
"d3-brush": "^3.0.0",
Expand Down Expand Up @@ -1567,7 +1567,7 @@
"@types/cli-progress": "^3.11.5",
"@types/color": "^3.0.3",
"@types/cssstyle": "^2.2.4",
"@types/cytoscape": "^3.14.0",
"@types/cytoscape": "^3.21.8",
"@types/d3": "^3.5.43",
"@types/d3-array": "^2.12.1",
"@types/d3-brush": "^3.0.0",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -110,7 +110,7 @@ export function Cytoscape({

return () => {
if (cy) {
cy.removeListener('data', undefined, dataHandler as cytoscape.EventHandler);
cy.removeListener('data', dataHandler);
}
};
// eslint-disable-next-line react-hooks/exhaustive-deps
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -86,7 +86,7 @@ function useDebugDownloadUrl(cy?: cytoscape.Core) {

return () => {
if (cy) {
cy.off('add remove', undefined, elementsHandler);
cy.off('add remove', elementsHandler);
}
};
}, [cy, debug]);
Expand Down Expand Up @@ -131,7 +131,7 @@ export function Controls() {

return () => {
if (cy) {
cy.off('zoom', undefined, zoomHandler);
cy.off('zoom', zoomHandler);
}
};
}, [cy]);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -174,15 +174,12 @@ const getStyle = (theme: EuiTheme, isTraceExplorerEnabled: boolean): cytoscape.S
'source-arrow-shape': isIE11 ? 'none' : 'triangle',
'source-arrow-color': lineColor,
'target-arrow-shape': isIE11 ? 'none' : 'triangle',
// @ts-expect-error
'source-distance-from-node': isIE11 ? undefined : parseInt(theme.eui.euiSizeXS, 10),
'target-distance-from-node': isIE11 ? undefined : parseInt(theme.eui.euiSizeXS, 10),
},
},
{
selector: 'edge[isInverseEdge]',
// @ts-expect-error DefinitelyTyped says visibility is "none" but it's
// actually "hidden"
style: { visibility: 'hidden' },
},
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -143,7 +143,7 @@ export function Popover({ focusedServiceName, environment, kuery, start, end }:
if (cy) {
cy.removeListener('select', 'node', selectHandler);
cy.removeListener('unselect', 'node', deselect);
cy.removeListener('viewport', undefined, deselect);
cy.removeListener('viewport', deselect);
cy.removeListener('drag', 'node', deselect);
cy.removeListener('select', 'edge', selectHandler);
cy.removeListener('unselect', 'edge', deselect);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,6 @@ function getLayoutOptions({

return {
animationDuration: animationOptions.duration,
// @ts-expect-error upgrade typescript v5.1.6
animationEasing: animationOptions.easing,
fit,
name: 'dagre',
Expand All @@ -61,7 +60,7 @@ function getLayoutOptions({
rankSep: 128,
rankDir: 'LR',
ranker: 'network-simplex',
};
} as cytoscape.LayoutOptions;
}

function setCursor(cursor: string, event: cytoscape.EventObjectCore) {
Expand Down Expand Up @@ -201,19 +200,18 @@ export function useCytoscapeEventHandlers({
if (cy) {
cy.removeListener(
'custom:data drag dragfree layoutstop select tapstart tapend unselect',
undefined,
debugHandler
);
cy.removeListener('custom:data', undefined, dataHandler);
cy.removeListener('layoutstop', undefined, layoutstopHandler);
cy.removeListener('custom:data', dataHandler);
cy.removeListener('layoutstop', layoutstopHandler);
cy.removeListener('mouseover', 'edge, node', mouseoverHandler);
cy.removeListener('mouseout', 'edge, node', mouseoutHandler);
cy.removeListener('select', 'node', selectHandler);
cy.removeListener('unselect', 'node', unselectHandler);
cy.removeListener('drag', 'node', dragHandler);
cy.removeListener('dragfree', 'node', dragfreeHandler);
cy.removeListener('tapstart', undefined, tapstartHandler);
cy.removeListener('tapend', undefined, tapendHandler);
cy.removeListener('tapstart', tapstartHandler);
cy.removeListener('tapend', tapendHandler);
}
};
}, [cy, serviceName, trackApmEvent, theme]);
Expand Down
36 changes: 14 additions & 22 deletions yarn.lock
Original file line number Diff line number Diff line change
Expand Up @@ -11376,10 +11376,10 @@
resolved "https://registry.yarnpkg.com/@types/cssstyle/-/cssstyle-2.2.4.tgz#3d333ab9f8e6c40183ad1d6ebeebfcb8da2bfe4b"
integrity sha512-FTGMeuHZtLB7hRm+NGvOLZElslR1UkKvZmEmFevOZe/e7Av0nFleka1s8ZwoX+QvbJ2y7r9NDZXIzyqpRWDJXQ==

"@types/cytoscape@^3.14.0":
version "3.14.0"
resolved "https://registry.yarnpkg.com/@types/cytoscape/-/cytoscape-3.14.0.tgz#346b5430a7a1533784bcf44fcbe6c5255b948d36"
integrity sha512-qOhhZFGb35457vmCu9YHqwjqleraSAEikaIFmMUPWzTC7FrwkS7VR/6ymqRHW7Z8wivHuzsZDYCoePIepd69qg==
"@types/cytoscape@^3.21.8":
version "3.21.8"
resolved "https://registry.yarnpkg.com/@types/cytoscape/-/cytoscape-3.21.8.tgz#6166a2eabd66d3ae3259024875e037492adb8db6"
integrity sha512-6Bo9ZDrv0vfwe8Sg/ERc5VL0yU0gYvP4dgZi0fAXYkKHfyHaNqWRMcwYm3mu4sLsXbB8ZuXE75sR7qnaOL5JgQ==

"@types/d3-array@^2.12.1":
version "2.12.3"
Expand Down Expand Up @@ -16516,20 +16516,17 @@ [email protected]:
untildify "^4.0.0"
yauzl "^2.10.0"

cytoscape-dagre@^2.2.2:
version "2.2.2"
resolved "https://registry.yarnpkg.com/cytoscape-dagre/-/cytoscape-dagre-2.2.2.tgz#5f32a85c0ba835f167efee531df9e89ac58ff411"
integrity sha512-zsg36qNwua/L2stJSWkcbSDcvW3E6VZf6KRe6aLnQJxuXuz89tMqI5EVYVKEcNBgzTEzFMFv0PE3T0nD4m6VDw==
cytoscape-dagre@^2.5.0:
version "2.5.0"
resolved "https://registry.yarnpkg.com/cytoscape-dagre/-/cytoscape-dagre-2.5.0.tgz#47d9835ab64dd0b596d9c94731f070282f82fc5a"
integrity sha512-VG2Knemmshop4kh5fpLO27rYcyUaaDkRw+6PiX4bstpB+QFt0p2oauMrsjVbUamGWQ6YNavh7x2em2uZlzV44g==
dependencies:
dagre "^0.8.2"
dagre "^0.8.5"

cytoscape@^3.10.0:
version "3.10.0"
resolved "https://registry.yarnpkg.com/cytoscape/-/cytoscape-3.10.0.tgz#3b462e0d35121ecd2d2702f470915fd6dae01777"
integrity sha512-lWOnG4HJQD0cy+tCiBmbV/QRknInuZ8HvjcUifQZ7E4LWmKMvl6d5eP0LaaRLfBJAplXWcJfwc17ZJ/nwPeaYg==
dependencies:
heap "^0.2.6"
lodash.debounce "^4.0.8"
cytoscape@^3.30.4:
version "3.30.4"
resolved "https://registry.yarnpkg.com/cytoscape/-/cytoscape-3.30.4.tgz#3404da0a159c00a1a3df2c85b2b43fdc66a0e28e"
integrity sha512-OxtlZwQl1WbwMmLiyPSEBuzeTIQnwZhJYYWFzZ2PhEHVFwpeaqNIkUzSiso00D98qk60l8Gwon2RP304d3BJ1A==

"d3-array@1 - 3", "d3-array@2 - 3", "[email protected] - 3", "[email protected] - 3", [email protected], d3-array@^3.2.2:
version "3.2.2"
Expand Down Expand Up @@ -16795,7 +16792,7 @@ d@1, d@^1.0.1, d@^1.0.2:
es5-ext "^0.10.64"
type "^2.7.2"

dagre@^0.8.2:
dagre@^0.8.5:
version "0.8.5"
resolved "https://registry.yarnpkg.com/dagre/-/dagre-0.8.5.tgz#ba30b0055dac12b6c1fcc247817442777d06afee"
integrity sha512-/aTqmnRta7x7MCCpExk7HQL2O4owCT2h8NT//9I1OQ9vt29Pa0BzSAkR5lwFUcQ7491yVi/3CXU9jQ5o0Mn2Sw==
Expand Down Expand Up @@ -20709,11 +20706,6 @@ headers-polyfill@^4.0.2:
resolved "https://registry.yarnpkg.com/headers-polyfill/-/headers-polyfill-4.0.3.tgz#922a0155de30ecc1f785bcf04be77844ca95ad07"
integrity sha512-IScLbePpkvO846sIwOtOTDjutRMWdXdJmXdMvk6gCBHxFO8d+QKOQedyZSxFTTFYRSmlgSTDtXqqq4pcenBXLQ==

heap@^0.2.6:
version "0.2.6"
resolved "https://registry.yarnpkg.com/heap/-/heap-0.2.6.tgz#087e1f10b046932fc8594dd9e6d378afc9d1e5ac"
integrity sha1-CH4fELBGky/IWU3Z5tN4r8nR5aw=

hexoid@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/hexoid/-/hexoid-1.0.0.tgz#ad10c6573fb907de23d9ec63a711267d9dc9bc18"
Expand Down

0 comments on commit a3c4ba0

Please sign in to comment.