SUMMARY E.g., in https://github.com/jinliu/plasma-applet-kickon/blob/58fff6830b60c8486ea4ee9b598398d653507963/src/package/contents/ui/main.qml#L104 , triggering "forget" action on recent files removes them from the database, but the model doesn't update, so the effect is only visible when plasmashell is restarted. It works fine with OnlyApps and AppsAndDocs options. SOFTWARE/OS VERSIONS Operating System: Arch Linux KDE Plasma Version: 6.3.4 KDE Frameworks Version: 6.13.0 Qt Version: 6.9.0 Kernel Version: 6.14.4-arch1-2 (64-bit) Graphics Platform: Wayland Processors: 12 × AMD Ryzen 5 5600H with Radeon Graphics Memory: 15.0 GiB of RAM Graphics Processor: AMD Radeon Graphics
*** Bug 469775 has been marked as a duplicate of this bug. ***
*** Bug 493638 has been marked as a duplicate of this bug. ***
*** Bug 486990 has been marked as a duplicate of this bug. ***
*** Bug 511714 has been marked as a duplicate of this bug. ***
A possibly relevant merge request was started @ https://invent.kde.org/plasma/plasma-activities-stats/-/merge_requests/68
Git commit b9b976a60c574d07a165090774564b00620580c6 by Christoph Wolk. Committed on 01/12/2025 at 00:49. Pushed by cwo into branch 'master'. resultwatcher: send resultRemoved signal on type-restricted queries When the forget methods on a ResultModel are called, the model instructs the database to forget that particular resource, the ResultWatcher notices this change in the database and sends a signal back to the model that the resource is now gone, and the model can now remove that row and send the correspnding signals to its consumers. But this process fails if the query uses a type restriction - the watcher checks whether the deleted resource also matches the type filter, and for that it needs to ask the database what the mimetype of the resource is. But the database doesn't know anymore, because we just instructed it to forget it. So the forgetting happens, but the model doesn't learn about this, and will continue to show the forgotten entry until it is refreshed for some other reason. Instead, we skip the check for matching type. If the type of the file didn't match, it won't be in the cache and the model will skip further action. M +4 -6 src/resultwatcher.cpp https://invent.kde.org/plasma/plasma-activities-stats/-/commit/b9b976a60c574d07a165090774564b00620580c6