linuxmint/cinnamon-spices-desklets

simple-system-monitor@ariel fail to load after last update

devingfx opened this issue ยท 17 comments

 * Desklet version/Build date : Version 1.2.0 (2023-07-24 03:54:19)
 * Cinnamon version : Cinnamon 5.2.7
 * Distribution : Linux Mint 20.3 Cinnamon
 * Graphics hardware *and* driver used
 * Snippet or attachment of ~/.cinnamon/glass.log > don't exists
 * Snippet or attachment of ~/.xsession-errors > don't exists
 * Snippet of ~/.cinnamon/harvester.log
   `2023-07-24 10:44:31 desklet upgrade simple-system-monitor@ariel 2023.05.06 2023.07.24`

Notify author of desklet
@arielandrade

Issue
Don't load after update

Steps to reproduce
Update the desklet

Expected behaviour
Working

Other information
Dunno where to find more info or error logs

Found same issue, looked at the logs of Lookingglass found:
error t=2023-07-24T12:13:53Z [Error: Expected type string for argument 'filename' but got type undefined]: Failed to evaluate 'main' function on desklet: simple-system-monitor@ariel/7
error t=2023-07-24T12:13:53Z
[simple-system-monitor@ariel]: Desklet simple-system-monitor@ariel: Could not create desklet object.
[simple-system-monitor@ariel]: Error importing desklet.js from simple-system-monitor@ariel

I've just installed this desklet for the first time and I can't see any errors.

The error log is in the file ~/.xsession-errors. You can use the xsession applet to view it.

I've just installed this desklet for the first time and I can't see any errors.

The error log is in the file ~/.xsession-errors. You can use the xsession applet to view it.

Tried uninstalling + reinstalling, no luck.

~/.xsession-errors gives a similar line:
Gjs-Message: 12:00:04.022: JS LOG: [LookingGlass/error] [Error: Expected type string for argument 'filename' but got type undefined]: Failed to evaluate 'main' function on desklet: simple-system-monitor@ariel/7

OK. Tried on Cinnamon 5.2. The complete error message is:

Cjs-Message: 13:17:40.761: JS LOG: [LookingGlass/error] [Error: Expected type string for argument 'filename' but got type undefined]: Failed to evaluate 'main' function on desklet: simple-system-monitor@ariel/0
Cjs-Message: 13:17:40.761: JS LOG: [LookingGlass/trace] 
<----------------
logError@/usr/share/cinnamon/js/ui/extension.js:135:17
_createDesklets@/usr/share/cinnamon/js/ui/deskletManager.js:333:19
_loadDesklet@/usr/share/cinnamon/js/ui/deskletManager.js:299:38
finishExtensionLoad@/usr/share/cinnamon/js/ui/deskletManager.js:178:14
_init/<@/usr/share/cinnamon/js/ui/extension.js:274:32
---------------->
Cjs-Message: 13:17:40.762: JS LOG: [LookingGlass/error] 
[simple-system-monitor@ariel]: Desklet simple-system-monitor@ariel: Could not create desklet object.
[simple-system-monitor@ariel]: Error importing desklet.js from simple-system-monitor@ariel
Cjs-Message: 13:17:40.762: JS LOG: [LookingGlass/trace] 
<----------------
_init/<@/usr/share/cinnamon/js/ui/extension.js:275:23
---------------->

I think I know what the problem is. I'll try to solve it.

#882 Should fix this. It's unusual since the code is in a directory where it wouldn't be evaluated otherwise. Please test with the latest update.

There was also this commit that was changed for 5.8. I can't imagine why it would be needed if the desklet has a 4.0 folder but if someone wants to give that a try too (edit it locally and then restart Cinnamon), I would be curious to see if it works.

The error seems to be in 4.0/desklet.js (for Cinnamon 5.2). I found these lines:

		this.thermal = new Thermal(this.metadata["thermal-file"]);
		this.thermalGPU = new ThermalGPU(this.metadata["thermal-file-gpu"]);

But the metadata.json file doesn't contain the fields "thermal-file" and "thermal-file-gpu", which is normal.

Ah, it was removed because it's not needed for 5.8 but it is for all of the older versions. It should be a quick re-addition.

Apologies for the bug @devingfx @Caedorus! Thank you @claudiux for the right direction!

Best solution: create a 4.0/settings-schema.json file containing the generic "thermal-file" and "thermal-file-gpu" fields with the default values as they were in the old metadata.json file. This requires a little rewriting of this 4.0/desklet.js.

Agreed. The variables shouldn't be in the metadata file. I'm fine leaving it until 5.6 is end of life. It's imperfect for sure.

BTW, I recommend the Sensors@claudiux applet: https://cinnamon-spices.linuxmint.com/applets/view/337 ;)

Can confirm it works again, also thanks for the recommendation!

Apologies for the bug !

Don't apology !! Shit happens ๐Ÿคทโ€โ™‚๏ธ

I can confirm latest update brings it up again !

Thx for this rapid fix btw!