Bug 488592

Summary: Blank System Monitor Sensor widget is broken until Plasmashell is restarted
Product: [Plasma] plasmashell Reporter: Nate Graham <nate>
Component: System MonitorAssignee: Plasma Bugs List <plasma-bugs>
Status: RESOLVED FIXED    
Severity: normal CC: ahiemstra, jonidimo, notmart
Priority: NOR Keywords: regression
Version: master   
Target Milestone: 1.0   
Platform: Other   
OS: Linux   
Latest Commit: Version Fixed In: 6.1.1
Sentry Crash Report:
Attachments: Broken config window

Description Nate Graham 2024-06-16 17:32:14 UTC
Created attachment 170556 [details]
Broken config window

Git master everything, but may affects stable too.


STEPS TO REPRODUCE
1. Right-click Plasma desktop > Enter Edit Mode
2. Add Widget
3. Choose "System Monitor Sensor"
4. Right-click on it > Configure


OBSERVED RESULT
Opens to an "Appearance" page with no content in it, and below it in the sidebar is an empty entry. See attached screenshot.

The journal log is full of errors:

Jun 16 11:28:33 Liberator plasmashell[208055]: file:///home/nate/kde/usr/share/plasma/plasmoids/org.kde.plasma.systemmonitor/contents/config/config.qml:16: TypeError: Cannot read property 'faceConfigUi' of undefined
Jun 16 11:28:33 Liberator plasmashell[208055]: file:///home/nate/kde/usr/share/plasma/plasmoids/org.kde.plasma.systemmonitor/contents/config/config.qml:15: TypeError: Cannot read property 'icon' of undefined
Jun 16 11:28:33 Liberator plasmashell[208055]: file:///home/nate/kde/usr/share/plasma/plasmoids/org.kde.plasma.systemmonitor/contents/config/config.qml:14: TypeError: Cannot read property 'name' of undefined
Jun 16 11:28:33 Liberator plasmashell[208055]: file:///home/nate/kde/usr/share/plasma/plasmoids/org.kde.plasma.systemmonitor/contents/ui/config/ConfigAppearance.qml:18:1: QML ConfigAppearance: Created graphical object was not placed in the graphics scene.
Jun 16 11:28:33 Liberator plasmashell[208055]: file:///home/nate/kde/usr/share/plasma/plasmoids/org.kde.plasma.systemmonitor/contents/ui/config/ConfigAppearance.qml: Setting initial properties failed: ConfigAppearance does not have a property called cfg_chartFace
Jun 16 11:28:33 Liberator plasmashell[208055]: file:///home/nate/kde/usr/share/plasma/plasmoids/org.kde.plasma.systemmonitor/contents/ui/config/ConfigAppearance.qml: Setting initial properties failed: ConfigAppearance does not have a property called cfg_chartFaceDefault
Jun 16 11:28:33 Liberator plasmashell[208055]: file:///home/nate/kde/usr/share/plasma/plasmoids/org.kde.plasma.systemmonitor/contents/ui/config/ConfigAppearance.qml: Setting initial properties failed: ConfigAppearance does not have a property called cfg_sensorColors
Jun 16 11:28:33 Liberator plasmashell[208055]: file:///home/nate/kde/usr/share/plasma/plasmoids/org.kde.plasma.systemmonitor/contents/ui/config/ConfigAppearance.qml: Setting initial properties failed: ConfigAppearance does not have a property called cfg_sensorColorsDefault
Jun 16 11:28:33 Liberator plasmashell[208055]: file:///home/nate/kde/usr/share/plasma/plasmoids/org.kde.plasma.systemmonitor/contents/ui/config/ConfigAppearance.qml: Setting initial properties failed: ConfigAppearance does not have a property called cfg_sensorIds
Jun 16 11:28:33 Liberator plasmashell[208055]: file:///home/nate/kde/usr/share/plasma/plasmoids/org.kde.plasma.systemmonitor/contents/ui/config/ConfigAppearance.qml: Setting initial properties failed: ConfigAppearance does not have a property called cfg_sensorIdsDefault
Jun 16 11:28:33 Liberator plasmashell[208055]: file:///home/nate/kde/usr/share/plasma/plasmoids/org.kde.plasma.systemmonitor/contents/ui/config/ConfigAppearance.qml: Setting initial properties failed: ConfigAppearance does not have a property called cfg_textOnlySensorIds
Jun 16 11:28:33 Liberator plasmashell[208055]: file:///home/nate/kde/usr/share/plasma/plasmoids/org.kde.plasma.systemmonitor/contents/ui/config/ConfigAppearance.qml: Setting initial properties failed: ConfigAppearance does not have a property called cfg_textOnlySensorIdsDefault
Jun 16 11:28:33 Liberator plasmashell[208055]: file:///home/nate/kde/usr/share/plasma/plasmoids/org.kde.plasma.systemmonitor/contents/ui/config/ConfigAppearance.qml: Setting initial properties failed: ConfigAppearance does not have a property called cfg_title
Jun 16 11:28:33 Liberator plasmashell[208055]: file:///home/nate/kde/usr/share/plasma/plasmoids/org.kde.plasma.systemmonitor/contents/ui/config/ConfigAppearance.qml: Setting initial properties failed: ConfigAppearance does not have a property called cfg_titleDefault
Jun 16 11:28:33 Liberator plasmashell[208055]: file:///home/nate/kde/usr/share/plasma/plasmoids/org.kde.plasma.systemmonitor/contents/ui/config/ConfigAppearance.qml: Setting initial properties failed: ConfigAppearance does not have a property called cfg_totalSensor
Jun 16 11:28:33 Liberator plasmashell[208055]: file:///home/nate/kde/usr/share/plasma/plasmoids/org.kde.plasma.systemmonitor/contents/ui/config/ConfigAppearance.qml: Setting initial properties failed: ConfigAppearance does not have a property called cfg_totalSensorDefault
Jun 16 11:28:33 Liberator plasmashell[208055]: file:///home/nate/kde/usr/share/plasma/plasmoids/org.kde.plasma.systemmonitor/contents/ui/config/ConfigAppearance.qml:31:5: QML Connections: Detected function "onConfigurationChanged" in Connections element. This is probably intended to be a signal handler but no signal of the target matches the name.
Jun 16 11:28:33 Liberator plasmashell[208055]: file:///home/nate/kde/usr/share/plasma/shells/org.kde.plasma.desktop/contents/configuration/AppletConfiguration.qml:142:5: QML Connections: Detected function "onSettingValueChanged" in Connections element. This is probably intended to be a signal handler but no signal of the target matches the name.
Jun 16 11:28:33 Liberator plasmashell[208055]: file:///home/nate/kde/usr/share/plasma/plasmoids/org.kde.plasma.systemmonitor/contents/ui/config/ConfigAppearance.qml:29: TypeError: Property 'workaroundController' of object Plasma::Applet(0x2eea860) is not a function
Jun 16 11:28:37 Liberator plasmashell[208055]: file:///home/nate/kde/usr/share/plasma/plasmoids/org.kde.plasma.systemmonitor/contents/ui/config/FaceDetails.qml:17:1: QML FaceDetails: Created graphical object was not placed in the graphics scene.
Jun 16 11:28:37 Liberator plasmashell[208055]: file:///home/nate/kde/usr/share/plasma/plasmoids/org.kde.plasma.systemmonitor/contents/ui/config/FaceDetails.qml: Setting initial properties failed: FaceDetails does not have a property called cfg_chartFace
Jun 16 11:28:37 Liberator plasmashell[208055]: file:///home/nate/kde/usr/share/plasma/plasmoids/org.kde.plasma.systemmonitor/contents/ui/config/FaceDetails.qml: Setting initial properties failed: FaceDetails does not have a property called cfg_chartFaceDefault
Jun 16 11:28:37 Liberator plasmashell[208055]: file:///home/nate/kde/usr/share/plasma/plasmoids/org.kde.plasma.systemmonitor/contents/ui/config/FaceDetails.qml: Setting initial properties failed: FaceDetails does not have a property called cfg_sensorColors
Jun 16 11:28:37 Liberator plasmashell[208055]: file:///home/nate/kde/usr/share/plasma/plasmoids/org.kde.plasma.systemmonitor/contents/ui/config/FaceDetails.qml: Setting initial properties failed: FaceDetails does not have a property called cfg_sensorColorsDefault
Jun 16 11:28:37 Liberator plasmashell[208055]: file:///home/nate/kde/usr/share/plasma/plasmoids/org.kde.plasma.systemmonitor/contents/ui/config/FaceDetails.qml: Setting initial properties failed: FaceDetails does not have a property called cfg_sensorIds
Jun 16 11:28:37 Liberator plasmashell[208055]: file:///home/nate/kde/usr/share/plasma/plasmoids/org.kde.plasma.systemmonitor/contents/ui/config/FaceDetails.qml: Setting initial properties failed: FaceDetails does not have a property called cfg_sensorIdsDefault
Jun 16 11:28:37 Liberator plasmashell[208055]: file:///home/nate/kde/usr/share/plasma/plasmoids/org.kde.plasma.systemmonitor/contents/ui/config/FaceDetails.qml: Setting initial properties failed: FaceDetails does not have a property called cfg_textOnlySensorIds
Jun 16 11:28:37 Liberator plasmashell[208055]: file:///home/nate/kde/usr/share/plasma/plasmoids/org.kde.plasma.systemmonitor/contents/ui/config/FaceDetails.qml: Setting initial properties failed: FaceDetails does not have a property called cfg_textOnlySensorIdsDefault
Jun 16 11:28:37 Liberator plasmashell[208055]: file:///home/nate/kde/usr/share/plasma/plasmoids/org.kde.plasma.systemmonitor/contents/ui/config/FaceDetails.qml: Setting initial properties failed: FaceDetails does not have a property called cfg_title
Jun 16 11:28:37 Liberator plasmashell[208055]: file:///home/nate/kde/usr/share/plasma/plasmoids/org.kde.plasma.systemmonitor/contents/ui/config/FaceDetails.qml: Setting initial properties failed: FaceDetails does not have a property called cfg_titleDefault
Jun 16 11:28:37 Liberator plasmashell[208055]: file:///home/nate/kde/usr/share/plasma/plasmoids/org.kde.plasma.systemmonitor/contents/ui/config/FaceDetails.qml: Setting initial properties failed: FaceDetails does not have a property called cfg_totalSensor
Jun 16 11:28:37 Liberator plasmashell[208055]: file:///home/nate/kde/usr/share/plasma/plasmoids/org.kde.plasma.systemmonitor/contents/ui/config/FaceDetails.qml: Setting initial properties failed: FaceDetails does not have a property called cfg_totalSensorDefault
Jun 16 11:28:37 Liberator plasmashell[208055]: file:///home/nate/kde/usr/share/plasma/plasmoids/org.kde.plasma.systemmonitor/contents/ui/config/FaceDetails.qml:28:5: QML Connections: Detected function "onConfigurationChanged" in Connections element. This is probably intended to be a signal handler but no signal of the target matches the name.
Jun 16 11:28:37 Liberator plasmashell[208055]: file:///home/nate/kde/usr/share/plasma/plasmoids/org.kde.plasma.systemmonitor/contents/ui/config/FaceDetails.qml:26: TypeError: Cannot read property 'faceConfigUi' of undefined
Jun 16 11:28:37 Liberator plasmashell[208055]: file:///home/nate/kde/usr/share/plasma/shells/org.kde.plasma.desktop/contents/configuration/AppletConfiguration.qml:142:5: QML Connections: Detected function "onSettingValueChanged" in Connections element. This is probably intended to be a signal handler but no signal of the target matches the name.
Jun 16 11:28:38 Liberator plasmashell[208055]: file:///home/nate/kde/usr/share/plasma/plasmoids/org.kde.plasma.systemmonitor/contents/ui/config/ConfigAppearance.qml:18:1: QML ConfigAppearance: Created graphical object was not placed in the graphics scene.
Jun 16 11:28:38 Liberator plasmashell[208055]: file:///home/nate/kde/usr/share/plasma/plasmoids/org.kde.plasma.systemmonitor/contents/ui/config/ConfigAppearance.qml: Setting initial properties failed: ConfigAppearance does not have a property called cfg_chartFace
Jun 16 11:28:38 Liberator plasmashell[208055]: file:///home/nate/kde/usr/share/plasma/plasmoids/org.kde.plasma.systemmonitor/contents/ui/config/ConfigAppearance.qml: Setting initial properties failed: ConfigAppearance does not have a property called cfg_chartFaceDefault
Jun 16 11:28:38 Liberator plasmashell[208055]: file:///home/nate/kde/usr/share/plasma/plasmoids/org.kde.plasma.systemmonitor/contents/ui/config/ConfigAppearance.qml: Setting initial properties failed: ConfigAppearance does not have a property called cfg_sensorColors
Jun 16 11:28:38 Liberator plasmashell[208055]: file:///home/nate/kde/usr/share/plasma/plasmoids/org.kde.plasma.systemmonitor/contents/ui/config/ConfigAppearance.qml: Setting initial properties failed: ConfigAppearance does not have a property called cfg_sensorColorsDefault
Jun 16 11:28:38 Liberator plasmashell[208055]: file:///home/nate/kde/usr/share/plasma/plasmoids/org.kde.plasma.systemmonitor/contents/ui/config/ConfigAppearance.qml: Setting initial properties failed: ConfigAppearance does not have a property called cfg_sensorIds
Jun 16 11:28:38 Liberator plasmashell[208055]: file:///home/nate/kde/usr/share/plasma/plasmoids/org.kde.plasma.systemmonitor/contents/ui/config/ConfigAppearance.qml: Setting initial properties failed: ConfigAppearance does not have a property called cfg_sensorIdsDefault
Jun 16 11:28:38 Liberator plasmashell[208055]: file:///home/nate/kde/usr/share/plasma/plasmoids/org.kde.plasma.systemmonitor/contents/ui/config/ConfigAppearance.qml: Setting initial properties failed: ConfigAppearance does not have a property called cfg_textOnlySensorIds
Jun 16 11:28:38 Liberator plasmashell[208055]: file:///home/nate/kde/usr/share/plasma/plasmoids/org.kde.plasma.systemmonitor/contents/ui/config/ConfigAppearance.qml: Setting initial properties failed: ConfigAppearance does not have a property called cfg_textOnlySensorIdsDefault
Jun 16 11:28:38 Liberator plasmashell[208055]: file:///home/nate/kde/usr/share/plasma/plasmoids/org.kde.plasma.systemmonitor/contents/ui/config/ConfigAppearance.qml: Setting initial properties failed: ConfigAppearance does not have a property called cfg_title
Jun 16 11:28:38 Liberator plasmashell[208055]: file:///home/nate/kde/usr/share/plasma/plasmoids/org.kde.plasma.systemmonitor/contents/ui/config/ConfigAppearance.qml: Setting initial properties failed: ConfigAppearance does not have a property called cfg_titleDefault
Jun 16 11:28:38 Liberator plasmashell[208055]: file:///home/nate/kde/usr/share/plasma/plasmoids/org.kde.plasma.systemmonitor/contents/ui/config/ConfigAppearance.qml: Setting initial properties failed: ConfigAppearance does not have a property called cfg_totalSensor
Jun 16 11:28:38 Liberator plasmashell[208055]: file:///home/nate/kde/usr/share/plasma/plasmoids/org.kde.plasma.systemmonitor/contents/ui/config/ConfigAppearance.qml: Setting initial properties failed: ConfigAppearance does not have a property called cfg_totalSensorDefault
Jun 16 11:28:38 Liberator plasmashell[208055]: file:///home/nate/kde/usr/share/plasma/plasmoids/org.kde.plasma.systemmonitor/contents/ui/config/ConfigAppearance.qml:31:5: QML Connections: Detected function "onConfigurationChanged" in Connections element. This is probably intended to be a signal handler but no signal of the target matches the name.
Jun 16 11:28:38 Liberator plasmashell[208055]: file:///home/nate/kde/usr/share/plasma/plasmoids/org.kde.plasma.systemmonitor/contents/ui/config/ConfigAppearance.qml:29: TypeError: Property 'workaroundController' of object Plasma::Applet(0x2eea860) is not a function
Jun 16 11:28:38 Liberator plasmashell[208055]: file:///home/nate/kde/usr/share/plasma/shells/org.kde.plasma.desktop/contents/configuration/AppletConfiguration.qml:142:5: QML Connections: Detected function "onSettingValueChanged" in Connections element. This is probably intended to be a signal handler but no signal of the target matches the name.
Comment 1 Nate Graham 2024-06-16 18:02:23 UTC
It looks like the fullrepresentation is broken too.

After I restart plasmashell, both the fullrepresentation and the config window start working as expected. So they're just broken after first creating the widget, but before restarting plasmashell.
Comment 2 Bug Janitor Service 2024-06-18 12:28:47 UTC
A possibly relevant merge request was started @ https://invent.kde.org/plasma/libplasma/-/merge_requests/1149
Comment 3 Arjen Hiemstra 2024-06-25 10:32:18 UTC
*** Bug 489078 has been marked as a duplicate of this bug. ***
Comment 4 Arjen Hiemstra 2024-06-25 10:37:53 UTC
Git commit e1a4cce1fde6b8d245c12c43094e85d8a61b3dbf by Arjen Hiemstra.
Committed on 25/06/2024 at 10:36.
Pushed by ahiemstra into branch 'master'.

plasma/pluginloader: Repair loading plasmoid plugins on add from explorer

In some cases, PluginLoader::loadApplet can be passed a path instead of
a plugin name. 70fea2c4b0ac026a769d02532eed6c6f749b6d9c removed the
local metadata cache but also removed the logic to turn a path into a
plugin name. Restore the plugin name handling so we can load the right
plugin again when an applet gets added from the Widget Explorer.

Ultimately this restores behaviour that I am unsure is correct, I think
it would be better if either the function only accepted Plasmoid names
and the relevant calling code was changed, or we use the KPackage
metadata to get the plugin to load somehow.

M  +5    -1    src/plasma/pluginloader.cpp

https://invent.kde.org/plasma/libplasma/-/commit/e1a4cce1fde6b8d245c12c43094e85d8a61b3dbf
Comment 5 Arjen Hiemstra 2024-06-25 10:39:58 UTC
Git commit fd8ae40c995b7e9c1fa2e2ec6a1a4437beabccde by Arjen Hiemstra.
Committed on 25/06/2024 at 10:38.
Pushed by ahiemstra into branch 'Plasma/6.1'.

plasma/pluginloader: Repair loading plasmoid plugins on add from explorer

In some cases, PluginLoader::loadApplet can be passed a path instead of
a plugin name. 70fea2c4b0ac026a769d02532eed6c6f749b6d9c removed the
local metadata cache but also removed the logic to turn a path into a
plugin name. Restore the plugin name handling so we can load the right
plugin again when an applet gets added from the Widget Explorer.

Ultimately this restores behaviour that I am unsure is correct, I think
it would be better if either the function only accepted Plasmoid names
and the relevant calling code was changed, or we use the KPackage
metadata to get the plugin to load somehow.


(cherry picked from commit e1a4cce1fde6b8d245c12c43094e85d8a61b3dbf)

Co-authored-by: Arjen Hiemstra <ahiemstra@heimr.nl>

M  +5    -1    src/plasma/pluginloader.cpp

https://invent.kde.org/plasma/libplasma/-/commit/fd8ae40c995b7e9c1fa2e2ec6a1a4437beabccde