The AppimageToolsRepository.integrate method expects the desktop file to be a regular file when moving it into $HOME/.local/share/applications/.
However, some images (e.g. KeePassXC) use a symlinked desktop file that points to usr/share/applications/ (allowed in the spec).
This causes the following when the user clicks on "Integrate":
A symlink is copied to $HOME/.local/share/applications which however is dangling since it points to a usr/share/applications path that does not exist in that directory.
The app is therefore never actually integrated.
If the user clicks on "Disintegrate", the action fails with an error of:
The
AppimageToolsRepository.integrate
method expects the desktop file to be a regular file when moving it into$HOME/.local/share/applications/
.However, some images (e.g. KeePassXC) use a symlinked desktop file that points to
usr/share/applications/
(allowed in the spec).This causes the following when the user clicks on "Integrate":
$HOME/.local/share/applications
which however is dangling since it points to ausr/share/applications
path that does not exist in that directory.that is caused by this line that expects the desktop file to have proper contents.