AppImageCommunity / libappimage

Implements functionality for dealing with AppImage files
https://appimage.org
Other
46 stars 29 forks source link

X-AppImage-Version is not appended to the name if in Semantic Versioning format (x.y.z) #191

Open vvyushmanov opened 2 months ago

vvyushmanov commented 2 months ago

Hello @TheAssassin !

I've encountered a weird issue while using AppImageLauncher. For desktop entries with X-AppImage-Version=1.0.0 the version is, for some reason, not appended to the name when app is being integrated.

[Desktop Entry]
Type=Application
Name=T.Nebula
Icon=t-chan-favicon
Exec=t.nebula-linux
Comment=T.Nebula: Client Downloader
X-AppImage-Version=2.3.2
Categories=Utility;

Will create a desktop entry with just T.Nebula

While this:

[Desktop Entry]
Type=Application
Name=T.Nebula
Icon=tassta-chan-favicon
Exec=t.nebula-linux
Comment=T.Nebula: TASSTA MCX Client Downloader
X-AppImage-Version=2.3.2-test
Categories=Utility;

Will result in T.Nebula (2.3.2-test)

I've been searching through the source code to find where the substitution takes place and tracked it down to this class: src/libappimage/desktop_integration/integrator/DesktopEntryEditor.cpp, and this method https://github.com/AppImageCommunity/libappimage/blob/e56c21b5387fde92cbb91c835e7aa16ab60b3879/src/libappimage/desktop_integration/integrator/DesktopEntryEditor.cpp#L56

Unfortunalety, I have next to zero c++ expertise to debug this myself. My guess would be that, for some reason, this https://github.com/AppImageCommunity/libappimage/blob/e56c21b5387fde92cbb91c835e7aa16ab60b3879/src/libappimage/desktop_integration/integrator/DesktopEntryEditor.cpp#L75 might be operating wrong.

Anyway, please let me know if any additional context or information is requied.