Update pixi.js-legacy to latest major version#317
Update pixi.js-legacy to latest major version#317marcdumais-work wants to merge 2 commits intomasterfrom
Conversation
a0e5c89 to
dddab70
Compare
|
There are quite a few dependencies failing the license check - opened IP tickets: This content is either not correctly mapped by the system, or requires review. |
6d4fda2 to
794f76e
Compare
|
Thanks for the upgrade. I tested it and it works quite well. However, I noticed an issue when running this change in the theia-trace-extension. The horizontal scrollbar is not working well, when opening a timeline-chart view. I can grab it but I can move it left or right. I think this should be fixed with the upgrade. |
794f76e to
eded24d
Compare
pixi.js-legacy@5.x -> pixi.js-legacy@7.x The reason we use the legacy pixi.js is because there are environments where timeline-chart is used, where no GPU acceleration is possible, so there needs to be a fall-back, when pixi's WebGL reenderer can't be used. This fallback is the CanvasRenderer, only available in legacy pixi at the moment. Generally we need to be careful to import pixi-related objects from `pixi.js-legacy` rather than the modular '@pixi/*'. Misc: - fix example application that no longer started - try to do a better clean-up after each test - ran "yarn upgrade": currently zero vulnerability reported by "yarn audit"! - removed node 18 from ci-cd workflow, since one updated dependency is no longer compatible with this EoL version of node: error undici@7.10.0: The engine "node" is incompatible with this module. Expected version ">=20.18.1". Got "18.20.8" Signed-off-by: Marc Dumais <marc.dumais@ericsson.com>
4cf8b03 to
6e053be
Compare
Signed-off-by: Marc Dumais <marc.dumais@ericsson.com>
6e053be to
a67a188
Compare
What it does
Library
pixi.js-legacyis at the center oftimeline-chart. Withv5.xhaving continued to work quite well, it has not been updated for 2 major versions (v7.xis the latest).One of its runtime dependencies,

parse-urineeds to be updated to avoid a potential "denial of service" vulnerability:Updating the version of pixi we use seems the only way to get rid of this vulnerability. But it's good to do once in a while anyway, to keep-up with a library that's really important to
timeline-chart.The reason we use the legacy pixi.js is because there are environments where timeline-chart is used, where no GPU acceleration is possible, so there needs to be a fall-back, when pixi's WebGL reenderer can't be used. This fallback is the CanvasRenderer, only available in legacy pixi at the moment.
Generally, we need to be careful to import pixi-related objects from
pixi.js-legacyrather than the modular '@pixi/*'.Misc:
error undici@7.10.0: The engine "node" is incompatible with this module. Expected version ">=20.18.1". Got "18.20.8"TODO:
How to test
CI passes
The repo's example app starts and works:
yarn && yarn starttimeline-chartworks as expected, when used intheia-trace-extensionexample application :In theia-trace-extension, replace the current references to timeline-chart by a local one. One easy way is to replace the reference to
timeline-chart, in "react-components" package.json. e.g.:"timeline-chart": "file:///home/<user>/git/timeline-chart/timeline-chart"
and then rebuild and start the browser example backend:
Then connect to
localhost:3000using a browserTo start a chrome-based browser (here chromium) without WebGL :
chromium-browser --disable-3d-apis &Note: this might not work if you already have some windows/tabs of this same browser opened.
To confirm that WebGL is disabled in timeline-chart, use the dev-tools and add a breakpoint in

time-graph-container.ts, around line 41:"supported" should be false when there is no WebGL
A few lines down (l: 64), you can confirm that pixi has allocated a

CanvasRenderer, which means a software renderer that does not use WebGL:Follow-ups
Will need to release a new version of
timeline-charttonpmand then update the version of it being used in our other repositories.Review checklist