Bug 477837 - Cannot uninstall widgets from KDE Store incompatible with Plasma 6
Summary: Cannot uninstall widgets from KDE Store incompatible with Plasma 6
Status: RESOLVED FIXED
Alias: None
Product: plasmashell
Classification: Plasma
Component: Widget Explorer sidebar (show other bugs)
Version: 5.90.0
Platform: Neon Linux
: NOR normal
Target Milestone: 1.0
Assignee: Plasma Bugs List
URL:
Keywords: qt6
Depends on:
Blocks:
 
Reported: 2023-12-01 14:00 UTC by Patrick Silva
Modified: 2024-01-30 08:31 UTC (History)
4 users (show)

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


Attachments
"Uninstall widget" button (916.15 KB, image/png)
2023-12-01 20:20 UTC, Patrick Silva
Details
error after uninstalling via KNewStuff dialog (620.72 KB, image/png)
2023-12-25 12:40 UTC, Patrick Silva
Details
error after uninstalling via KNewStuff dialog 2 (616.56 KB, image/png)
2023-12-25 12:41 UTC, Patrick Silva
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Patrick Silva 2023-12-01 14:00:11 UTC
SUMMARY
The Widget Explorer shows widgets from KDE Store incompatible with Plasma 6 after selecting "Uninstallable" filter on top of it, but I'm unable to uninstall any of them because the "Remove" button is greyed out.


STEPS TO REPRODUCE
1. use Plasma 6 beta and have incompatible Plasma widgets
2. open the widget Explorer
3. select "Uninstallable" filter on top

EXPECTED RESULT
we are able to uninstall incompatible Plasma widgets

SOFTWARE/OS VERSIONS
Operating System: Arch Linux 
KDE Plasma Version: 5.90.0
KDE Frameworks Version: 5.246.0
Qt Version: 6.6.1
Graphics Platform: Wayland
Comment 1 Patrick Silva 2023-12-01 14:02:03 UTC
This bug occurs on neon unstable, sorry.

Operating System: KDE neon Unstable Edition
KDE Plasma Version: 5.81.80
KDE Frameworks Version: 5.245.0
Qt Version: 6.6.0
Graphics Platform: Wayland
Comment 2 Nate Graham 2023-12-01 19:35:43 UTC
Which remove button? Can you share a screenshot?
Comment 3 Patrick Silva 2023-12-01 20:20:21 UTC
Created attachment 163724 [details]
"Uninstall widget" button
Comment 4 Nate Graham 2023-12-01 20:21:47 UTC
Ah, silly me! Can reproduce.
Comment 5 Alexander Lohnau 2023-12-25 11:52:35 UTC
But is the KNewStuff dialog able to uninstall them?
Comment 6 Patrick Silva 2023-12-25 12:40:53 UTC
Created attachment 164439 [details]
error after uninstalling via KNewStuff dialog

Some installed widgets are listed in the KNewStuff dialog, but are not in the Widget Explorer after selecting its "Uninstallable" filter.
The widgets that are not listed in the Widget Explorer can be installed via the KNewStuff dialog despite de error messages seen in the attached screenshots. The widgets that are listed on both Widget Explorer and KNewStuff dialog can be uninstalled without any error message.

Operating System: KDE neon Unstable Edition
KDE Plasma Version: 5.91.90
KDE Frameworks Version: 5.248.0
Qt Version: 6.6.1
Graphics Platform: Wayland
Comment 7 Patrick Silva 2023-12-25 12:41:23 UTC
Created attachment 164440 [details]
error after uninstalling via KNewStuff dialog 2
Comment 8 Patrick Silva 2023-12-25 12:42:43 UTC
oops, I meant "The widgets that are not listed in the Widget Explorer can be UNINSTALLED via the KNewStuff dialog despite..."
Comment 9 Marco Martin 2024-01-30 08:27:28 UTC
Git commit 8f42a086820b34b01005dc2812da3092106c19f8 by Marco Martin.
Committed on 30/01/2024 at 08:27.
Pushed by mart into branch 'master'.

Support desktop files for plasmoids

Like themes, support desktop file metadata for plasmoids.
This is just needed to list old plasmoids in the widget explorer,
to let the user uninstall them.

M  +7    -0    src/plasma/packagestructure/plasma_applet_packagestructure.cpp

https://invent.kde.org/plasma/libplasma/-/commit/8f42a086820b34b01005dc2812da3092106c19f8
Comment 10 Marco Martin 2024-01-30 08:27:39 UTC
Git commit d52a4af773df1bea952c1cc3cd72d7a6a5c913cf by Marco Martin.
Committed on 30/01/2024 at 08:27.
Pushed by mart into branch 'master'.

Separate listing for incorrect json and .desktop applets

After listing the "proper" applets, list those that have
metadata.desktop, and then those that have a maetadata.json
but is not correct (ie missing "KPackageStructure": "Plasma/Applet")

Unfortunately there isn't a way to get everything to list with a single
query: either the desktop ones or the incorrect json ones will be
missing.

Therefore put separate on one side the legacy queries, which will
hopefully be possible to drop some day

M  +13   -1    components/shellprivate/widgetexplorer/plasmaappletitemmodel.cpp
M  +9    -1    components/shellprivate/widgetexplorer/widgetexplorer.cpp

https://invent.kde.org/plasma/plasma-workspace/-/commit/d52a4af773df1bea952c1cc3cd72d7a6a5c913cf
Comment 11 Marco Martin 2024-01-30 08:30:30 UTC
Git commit 0c33616fb3760f46e1efbd9911e6887d30034b19 by Marco Martin.
Committed on 30/01/2024 at 08:30.
Pushed by mart into branch 'Plasma/6.0'.

Support desktop files for plasmoids

Like themes, support desktop file metadata for plasmoids.
This is just needed to list old plasmoids in the widget explorer,
to let the user uninstall them.

M  +7    -0    src/plasma/packagestructure/plasma_applet_packagestructure.cpp

https://invent.kde.org/plasma/libplasma/-/commit/0c33616fb3760f46e1efbd9911e6887d30034b19
Comment 12 Marco Martin 2024-01-30 08:31:38 UTC
Git commit 17fb5367f112ebc86d95e2641fc71f1436ca1ef6 by Marco Martin.
Committed on 30/01/2024 at 08:31.
Pushed by mart into branch 'Plasma/6.0'.

Separate listing for incorrect json and .desktop applets

After listing the "proper" applets, list those that have
metadata.desktop, and then those that have a maetadata.json
but is not correct (ie missing "KPackageStructure": "Plasma/Applet")

Unfortunately there isn't a way to get everything to list with a single
query: either the desktop ones or the incorrect json ones will be
missing.

Therefore put separate on one side the legacy queries, which will
hopefully be possible to drop some day

M  +13   -1    components/shellprivate/widgetexplorer/plasmaappletitemmodel.cpp
M  +9    -1    components/shellprivate/widgetexplorer/widgetexplorer.cpp

https://invent.kde.org/plasma/plasma-workspace/-/commit/17fb5367f112ebc86d95e2641fc71f1436ca1ef6