Created attachment 181799 [details] a blank Application Launcher SUMMARY After updating the application list (e.g. installing or removing an application), sometimes clicking on a category (like "All Applications") will result in the application list being blank. This can be worked around simply by clicking on another category, and then clicking back to the originally clicked category. STEPS TO REPRODUCE 1. Add or remove an application 2. Open the application launcher 3. Select "all applications" OBSERVED RESULT The application list is blank EXPECTED RESULT The application list is populated with apps SOFTWARE/OS VERSIONS Operating System: Kubuntu 25.04 KDE Plasma Version: 6.3.4 KDE Frameworks Version: 6.12.0 Qt Version: 6.8.3 Kernel Version: 6.14.0-15-generic (64-bit) Graphics Platform: Wayland Processors: 16 × 12th Gen Intel® Core™ i5-1240P Memory: 31.1 GiB of RAM Graphics Processor: Intel® Iris® Xe Graphics Manufacturer: Framework Product Name: Laptop (12th Gen Intel Core) System Version: A4
Can reproduce.
Setting to confirmed, since Nate was able to reproduce
A possibly relevant merge request was started @ https://invent.kde.org/plasma/plasma-desktop/-/merge_requests/3030
Git commit f8532d35a782af807448fde581f3f7239c77b7d6 by Christoph Wolk. Committed on 29/05/2025 at 17:53. Pushed by cwo into branch 'master'. applets/kickoff: recalculate app model binding on rootModel refresh Kickoff stores (a pointer to) the most recently accessed app category (including the all-apps category, but not favorites) through a binding chain fetching the rootModel's modelForRow() on the current index of the sidebar. That's a method call that does not by itself create a qml dependency on the main model state, so if the user installs or removes software, the underlying model is replaced completely (and the existing one is deleted), but the binding is not updated to point to the new (sub)model. Accessing the same category again will then fail (as it reads the old model, now null), until the user selects a different category first, changing the index and causing the binding to be reevaluated. Instead, reevaluate the binding whenever the rootModel is refreshed. M +6 -0 applets/kickoff/package/contents/ui/ApplicationsPage.qml https://invent.kde.org/plasma/plasma-desktop/-/commit/f8532d35a782af807448fde581f3f7239c77b7d6
Git commit 172d3f096a9788ad97e7232482702ef8bc6c6110 by Christoph Wolk. Committed on 04/06/2025 at 05:52. Pushed by cwo into branch 'Plasma/6.4'. applets/kickoff: recalculate app model binding on rootModel refresh Kickoff stores (a pointer to) the most recently accessed app category (including the all-apps category, but not favorites) through a binding chain fetching the rootModel's modelForRow() on the current index of the sidebar. That's a method call that does not by itself create a qml dependency on the main model state, so if the user installs or removes software, the underlying model is replaced completely (and the existing one is deleted), but the binding is not updated to point to the new (sub)model. Accessing the same category again will then fail (as it reads the old model, now null), until the user selects a different category first, changing the index and causing the binding to be reevaluated. Instead, reevaluate the binding whenever the rootModel is refreshed. (cherry picked from commit f8532d35a782af807448fde581f3f7239c77b7d6) Co-authored-by: Christoph Wolk <cwo.kde@posteo.net> M +6 -0 applets/kickoff/package/contents/ui/ApplicationsPage.qml https://invent.kde.org/plasma/plasma-desktop/-/commit/172d3f096a9788ad97e7232482702ef8bc6c6110