codecharta: Standalone app doesn't work
Bug
Expected Behavior
Given a new version is released When downloading the assets Then we get executable for Windows, Mac and Linux.
Actual Behavior
See ci output of job “Build visualization” and available assets of release 1.96.0:
- Windows version is not build due to missing
winein build image - Mac x64 is not build due to a bug in nwjs-builder-phoenix; maybe related to this bug and this bug
- When I download Linux x64 version and want to run it in my Ubuntu 20.04 WSL I get the following error:
(codecharta-visualization:293): Pango-ERROR **: 17:54:03.066: Harfbuzz version too old (1.2.1)
Open questions
- Do we need any standalone version and if so do we need Windows, Mac and Linux? -> erstmal ja
- For Linux: Is it the user responsibility to have the right version of
Harfbuzzor out responsibility to use a not outdated version? - nwjs-builder-phoenix isn’t maintained anymore. Do we want to migrate away from it?
Specifications
- is released in online-demo: yes
- CodeCharta Version: 1.96.0
- OS: Windows, Mac, Linux
About this issue
- Original URL
- State: closed
- Created 2 years ago
- Comments: 15 (7 by maintainers)
Commits related to this issue
- fix: nw for mac packaging needs exact nwVersion issue #2823 — committed to MaibornWolff/codecharta by luelista 2 years ago
- fix: nw for mac packaging needs exact nwVersion issue #2823 — committed to MaibornWolff/codecharta by luelista 2 years ago
- chore: changelog issue #2823 — committed to MaibornWolff/codecharta by luelista 2 years ago
- feat: check for nw.js version via renovate issue #2823 — committed to MaibornWolff/codecharta by luelista 2 years ago
- feat: check for nw.js version via renovate issue #2823 — committed to MaibornWolff/codecharta by luelista 2 years ago
- fix: set default value for compressed in ParserDialogs to true issue #2823 — committed to MaibornWolff/codecharta by luelista 2 years ago
- fix: install wine in release workflow to fix windows packaging issue #2823 — committed to MaibornWolff/codecharta by luelista 2 years ago
- fix: set default value for compressed in ParserDialogs to true issue #2823 — committed to MaibornWolff/codecharta by luelista 2 years ago
- fix: set default value for compressed in ParserDialogs to true (#2863) issue #2823 — committed to MaibornWolff/codecharta by luelista 2 years ago
- fix packaging for macOS and Windows (#2847) * fix: nw for mac packaging needs exact nwVersion issue #2823 * feat: check for nw.js version via renovate issue #2823 * fix: install wine in r... — committed to MaibornWolff/codecharta by luelista 2 years ago
- fix: install wine32 in release workflow to fix windows packaging issue #2823 — committed to MaibornWolff/codecharta by luelista 2 years ago
- fix: install wine32 in release workflow to fix windows packaging (#2871) issue #2823 — committed to MaibornWolff/codecharta by luelista 2 years ago
- fix: add missing dependency for wine32 issue #2823 — committed to MaibornWolff/codecharta by luelista 2 years ago
- fix: add missing dependency for wine32 (#2872) issue #2823 — committed to MaibornWolff/codecharta by luelista 2 years ago
- fix: switch to nw-builder issue #2823 — committed to MaibornWolff/codecharta by luelista 2 years ago
- fix: switch to nw-builder (#2881) * fix: switch to nw-builder issue #2823 * add changelog item * Change package expression to work with windows (admin privileges) * Change flavor from sdk... — committed to MaibornWolff/codecharta by luelista 2 years ago
- Change zip path to not contain a directory up order #2823 — committed to MaibornWolff/codecharta by phanlezz 2 years ago
- Add entry for zip fix #2823 — committed to MaibornWolff/codecharta by phanlezz 2 years ago
- Fix/2823/Fix Web Package (#2934) * Change zip path to not contain a directory up order * Add entry for zip fix * Remove temporary test file #2823 — committed to MaibornWolff/codecharta by phanlezz 2 years ago
Ich habe den nwjs Build unter Windows untersucht mit folgendem Ergebnis: Es läuft aktuell nicht, da der nwjs-builder-phoenix das Modul node-rcedit in einer sehr alten Version referenziert, die nur die 32-bit Version der “rcedit.exe” mitbringt. Daher läuft es in unserer 64-bit Buildpipeline nicht. Ein 32-bit kompatibles Wine dort zu installieren ist nicht trivial. Sinnvoller wäre es, die neuere node-rcedit zu nutzen, die unter 64-bit läuft. Mit folgendem snippet in der package.json kann ich zwar eine neuere node-rcedit erzwingen, allerdings läuft dann der builder nicht mehr durch, da sich das API von node-rcedit geändert hat:
Wir müssten also unsere eigene, angepasste Version von nwjs-builder-phoenix pflegen.
Stattdessen würde ich empfehlen, erstmal das alternative Build-Tool nw-builder (https://github.com/nwutils/nw-builder) zu testen. Das ist zwar nur die zweite Wahl laut Doku (https://docs.nwjs.io/en/latest/For Users/Package and Distribute/), aber dafür deutlich aktueller (letztes Update 2022 statt 2018) - vielleicht ist die Doku veraltet. Es scheint auch ein sehr ähnliches Featureset zu haben.
But the web build doesn’t require internet. And it works on all operating systems without any additional dependencies. Doesn’t that already meet the requirements? Plus it’s already available for every version we release link
We might have different understandings when it comes to this: #2573 was about simplifying the build process for the standalone version. We used to have two types of builds: one for the web that caused different javascript code to be executed than in the standalone version. Now both builds are identical but we still have to be able to execute the standalone version properly.
So if I understood this issue correct it’s only about not being able to properly start the standalone version at the moment and that should definitely be the case.