Created attachment 112159 [details]
screenshot showing the error message
plasma 5.12.4 on Arch Linux
add your default web browser icon to kicker favorites list
(right click your default web browser icon > "Add to favorites")
uninstall the browser: its icon remains in favorites list
when icon is clicked, I get an error: "this will start the program <path to executable> If you do not trust this program click Cancel"
restart plasma: now the icon was gone
ps: tested with chromium from Arch Linux repositories
That happens with all applications, doesn't it?
(In reply to Kai Uwe Broulik from comment #1)
> That happens with all applications, doesn't it?
You are right. I think that this behavior is not correct.
When an app is uninstalled, its icon should be removed from favorites list immediately. I have edited report summary.
Kickoff is also affected, ancient report: bug 280949
Dashboard is also affected on my system but I did not find any related report.
I can confirm this bug at Plasma 5.14.2.
This is still an issue.
Even the new launcher in 5.21.5 is affected.
*** Bug 445843 has been marked as a duplicate of this bug. ***
I will look into fixing this by using the KSycoca::databaseChanged signal.
A possibly relevant merge request was started @ https://invent.kde.org/plasma/plasma-workspace/-/merge_requests/2132
Git commit 6853365755fa40e2199b4856e2838735a1b1add4 by Alexander Lohnau.
Committed on 24/09/2022 at 05:46.
Pushed by alex into branch 'master'.
Remove entries from favorites when desktop file was deleted
When the KSycoca database changes, we re-evaluate if our app still exists and update the internal service.
The model checks the validity of each of the entires and removes ones that became invalid.
Based on my testing it seemed like one had to type any query to make sure that the databaseChanged signal is emitted.
`printf "[Desktop Entry]\nIcon=firefox\nName=DelmeFirefox\nExec=notify-send bla bla" >~/.local/share/applications/delmefirefox.desktop`
Add the entry to the favourites
Make sure it does not appear in the search
Make sure the favorite is removed
M +18 -10 applets/kicker/plugin/appentry.cpp
M +16 -0 applets/kicker/plugin/kastatsfavoritesmodel.cpp
It's still reproducible on neon unstable.
1. uninstall an app present in the favorites list of Kickoff
2. open Kickoff
Result: the uninstalled app is still present in the favorites list of Kickoff
Git commit 2de230ffd6f842a95c03ede081dd71941929eb38 by Fushan Wen.
Committed on 05/10/2022 at 14:59.
Pushed by fusionfuture into branch 'master'.
applets/kicker: use `removeResult` to remove item
This fixes ghost items after desktop entries were removed from the disk.
M +1 -3 applets/kicker/plugin/kastatsfavoritesmodel.cpp
it's still reproducible on neon unstable. The icon of the uninstalled app remains in the favorites list until I do logout and login or remove it manually. Tested with KolourPaint from neon repos and Gparted from Ubuntu 22.04 repos.
Operating System: KDE neon Unstable Edition
KDE Plasma Version: 5.26.80
KDE Frameworks Version: 5.100.0
Qt Version: 5.15.6
Graphics Platform: Wayland
Can you please check if it works when you launch a query in KRunner or Kicker?
I think an architectural limitation is that KSycoca only emits the signal that the cache changed when a query is launched and the cache is recreated.
A solution could be to add a filewatcher for all the apps (though kindof ugly) or to check if KService can be adjusted. Though the latter might be more difficult.
kicker does not find the uninstalled app (tested KolourPaint), krunner does. The uninstalled app remains in the favorites list of kicker.