Bug 390875 - Plasma Widgets from KDE Store can not be uninstalled via Widget Explorer
Summary: Plasma Widgets from KDE Store can not be uninstalled via Widget Explorer
Status: CONFIRMED
Alias: None
Product: frameworks-knewstuff
Classification: Frameworks and Libraries
Component: general (show other bugs)
Version: 5.71.0
Platform: Arch Linux Linux
: NOR normal
Target Milestone: ---
Assignee: Jeremy Whiting
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2018-02-21 22:26 UTC by Patrick Silva
Modified: 2020-08-11 09:15 UTC (History)
5 users (show)

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Patrick Silva 2018-02-21 22:26:54 UTC
right-click your desktop, select "Add widgets..."
click "get new widgets" button, select "Download new plasma widgets"
install some widget ("event calendar", for example)
In widget explorer, search for your just installed widget and uninstall it clicking "uninstall widget" button
restart plasma session, open widgets explorer
the widget previously uninstalled is still listed
Comment 1 Scott Harvey 2018-02-22 19:09:14 UTC
Reproduced as described on Kubuntu 17.10.1. It appears the user's local collection of plasmoids is not being cleaned and updated. Use of kpackagetool5 was needed to uninstall the plasmoid and regenerate the index of available widgets. Also, the downloaded copy of the plasmoid code remains in the directory.
Comment 2 Alexander Mentyu 2018-03-10 18:04:20 UTC
Can reproduce in:

Plasma: 5.12.2
Apps: 17.12.2
Frameworks: 5.43.0
Qt: 5.10.1
Kernel: 4.14.22-1-MANJARO
OS: Netrunner Rolling
Comment 3 Patrick Silva 2019-04-29 20:18:05 UTC
This bug is still reproducible.

Operating System: Arch Linux 
KDE Plasma Version: 5.15.4
KDE Frameworks Version: 5.57.0
Qt Version: 5.12.3
Comment 4 Patrick Silva 2020-06-16 12:46:24 UTC
Still an issue.
Tested with Fokus plasma widget.
https://store.kde.org/p/1308861/

Operating System: Arch Linux 
KDE Plasma Version: 5.19.0
KDE Frameworks Version: 5.71.0
Qt Version: 5.15.0
Comment 5 Alexander Lohnau 2020-08-10 18:44:25 UTC
Can you please try uninstalling an applet and waiting for one minute and then check if the entry got removed?

It seems like internally there is a timer used, which might be the cause of the problem. We might need to reconsider how we implement this "Undo uninstall" option.
Comment 6 Patrick Silva 2020-08-10 18:56:00 UTC
I can confim that the entry is removed after 1 minute. And it does not return after relogin.

Operating System: KDE neon Unstable Edition
KDE Plasma Version: 5.19.80
KDE Frameworks Version: 5.74.0
Qt Version: 5.14.2
Comment 7 Alexander Lohnau 2020-08-10 19:54:59 UTC
Without having any specific plan on how to implement this let me propose an alternative concept:
When deleting an entry we move the file on disk to a temporary location and write in a variable that we can restore this entry. This variable in only in memory, meaning that when we restart the session we can't restore the entry. And whenever we start a new session we clean the temporary location.

This way we make the behavior more predictable(the 60 seconds seem pretty random IMO) and ensure that the operation executed by the user gets applied.

And we also avoid the case where a user is customizing and cleaning up the plasma config and thinks that they have all the time of the world to restore the entry. This can be even more confusing considering that the entry is not immediately removed from the KNS list of installed entries. This happened to me when I was really new to KDE ;-)
Comment 8 Dan Leinir Turthra Jensen 2020-08-11 09:15:59 UTC
(In reply to Alexander Lohnau from comment #7)
> Without having any specific plan on how to implement this let me propose an
> alternative concept:
> When deleting an entry we move the file on disk to a temporary location and
> write in a variable that we can restore this entry. This variable in only in
> memory, meaning that when we restart the session we can't restore the entry.
> And whenever we start a new session we clean the temporary location.

It strikes me that we even have such a location already - the xdg trash seems like precisely that sort of location :)