Bug 501066 - Weather Report widget always disappears after reboot
Summary: Weather Report widget always disappears after reboot
Status: RESOLVED FIXED
Alias: None
Product: plasmashell
Classification: Plasma
Component: Weather widget (show other bugs)
Version: 6.3.2
Platform: Arch Linux Linux
: NOR normal
Target Milestone: 1.0
Assignee: Plasma Bugs List
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2025-03-04 19:23 UTC by Jens Lallensack
Modified: 2025-03-18 22:11 UTC (History)
4 users (show)

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


Attachments
plasma appletsrc configurationf file (10.04 KB, text/plain)
2025-03-05 23:19 UTC, Jens Lallensack
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Jens Lallensack 2025-03-04 19:23:43 UTC
The weather widget always disappears after reboot. I'm on Wayland.

Others seem to have the same issue:
https://www.kubuntuforums.net/forum/general/kde-neon/685423-wayland-magically-disappearing-widgets
https://discuss.kde.org/t/weather-report-disappears/30347

But I can't find an open bug.


STEPS TO REPRODUCE
1. Add the weather widget to the Desktop
2. Reboot

OBSERVED RESULT
Weather widget is gone

EXPECTED RESULT
Weather widget still there

SOFTWARE/OS VERSIONS
Operating System: EndeavourOS 
KDE Plasma Version: 6.3.2
KDE Frameworks Version: 6.11.0
Qt Version: 6.8.2
Kernel Version: 6.13.5-arch1-1 (64-bit)
Graphics Platform: Wayland
Processors: 16 × 12th Gen Intel® Core™ i7-1260P
Memory: 31,2 GiB of RAM
Graphics Processor: Mesa Intel® Iris® Xe Graphics
Comment 1 Nate Graham 2025-03-05 17:44:52 UTC
Are any other widgets affected? If you add a Sticky Note widget to the desktop and reboot, is it gone as well?

Does the issue with the Weather widget reproduce in a new clean user account with only a Weather Widget added to the desktop?
Comment 2 Jens Lallensack 2025-03-05 19:21:02 UTC
Hi Nate,

In a new fresh account, the Weather Report widget works. I tried to set up the account mostly the same way as the other, but I couldn't trigger the bug, after multiple log-outs and log-ins. It was a bit unstable (first time after adding it on a fresh account, it moved itself to the top left; and one time, it lost its settings so I had to re-configure). But the widget itself never disappeared completely.

Note that I am on a laptop without any monitor attached, and that, when I re-add the widget, it still remembers the right weather station.

Any ideas how to debug this further?
Thanks.
Comment 3 Nate Graham 2025-03-05 21:34:12 UTC
But it's still happening on your main user account?
Comment 4 Jens Lallensack 2025-03-05 23:19:20 UTC
Created attachment 179158 [details]
plasma appletsrc configurationf file

Use the attached configuration file on a new account and logout/login to reproduce the bug
Comment 5 Jens Lallensack 2025-03-05 23:21:27 UTC
See above. I still don't know what the cause is, but if I replace the plasma-org.kde.plasma.desktop-appletsrc in the new user account with that of my old one (which I attached above), I can reproduce the bug. I hope this helps. Let me know if there is anything else I can help with.
Comment 6 Nate Graham 2025-03-06 21:24:04 UTC
Well that makes sense, because in that file there's no weather widget. :) 

If you re-add one to your desktop, does the file contain something in it with the word "weather"? If so, can you re-attach the file?

And then I suppose after you reboot, it disappears, right?
Comment 7 Jens Lallensack 2025-03-06 21:42:20 UTC
Ah, you are right – if I add the weather widget to the desktop, it is NOT added to the appletsrc config file in the first place! It will just update some coordinates, but does not create a new entry for the weather widget.

But you can still reproduce the bug with my config file:
1) Create a new account
2) Replace the default appletsrc config file with mine
4) add the weather widget
5) logout and login
6) weather widget is gone

Are you able to reproduce this?
Comment 8 TraceyC 2025-03-12 15:33:53 UTC
Thanks for sharing your appletsrc file and the additional details.
I tested this with a new user account on git-master Wayland and was able to reproduce the bug.

I had to modify the testing steps a little, because ~/.config and the default rc files don't exist until the user has logged into KDE Plasma the first time.

1) Create a new account
2) Log in with the new account
3) Replace the default appletsrc config file with the attached one
4) Add the "Weather Report" widget
5) Log out and log in

Result: Weather Report widget is not on the desktop
The active appletsrc config file does have an entry for org.kde.plasma.weather
Comment 9 Nate Graham 2025-03-13 20:01:40 UTC
What appears to be going on is that your weather widget never gets registered in the config file for some reason. Because a config file with no weather widget will indeed result in a desktop with no weather widget on the next login!

We'll need to figure out why the act of adding a Weather widget to the desktop doesn't update the config file.
Comment 10 Ismael Asensio 2025-03-13 21:14:39 UTC
I'd like to know what happens in the same conditions, when adding a different widget instead, or after the widget one.

Intuituion says that there shouldn't be anything special to the weather widget, but it is an interesting datapoint to actually check it.  This would lead to two different testing paths.
Comment 11 Jens Lallensack 2025-03-13 22:56:26 UTC
(In reply to Ismael Asensio from comment #10)

I just tested that: After following the testing steps (see above), I tried to add 13 different applets, including the weather applet, covering the entire desktop. After logout and login, the weather applet was the only one to disappear, all the other ones work as expected.

Another bug I noted that I am pretty sure has the same cause. This is always reproducible:
1) Create a new user account, and log into that account
2) Add the weather applet to the middle of the Desktop.
Notice this: The appletsrc config file has NOT been updated. This file is identical to the default one, without the weather applet.
3) Log out and log in again.
Notice this now: The weather applet is still there, BUT forgot its position and now appears on the top left of the Desktop. However, the appletsrc config file has been updated during the login process, now with an entry for the weather applet, and from now on, the applet will remembers its position settings and behaves normally.

Let me know if I should open a separate bug for this one, but I really suspect these are two symptoms of the same issue.
Comment 12 Marco Martin 2025-03-14 15:51:49 UTC
I appear to be able to reproduce it, and indeed, if i add a weather widget on top of that configuration file, nothing gets added, if i add something else, like an analog clock, it gets added in the config file just fine

That's really weird and can't think much other than some subtle metadata problem of the weather plasmoid, i;ll investigate more
Comment 13 Bug Janitor Service 2025-03-14 16:01:45 UTC
A possibly relevant merge request was started @ https://invent.kde.org/plasma/kdeplasma-addons/-/merge_requests/690
Comment 14 Marco Martin 2025-03-14 16:03:21 UTC
the c++ part of the weather applet tried to access the applet config in the constructor, and this breaks the applet config load/save for the entire applet lifetime
Comment 15 Marco Martin 2025-03-17 09:27:24 UTC
Git commit b36536dbe5e0385e392cea102027c16b9f619479 by Marco Martin.
Committed on 17/03/2025 at 09:23.
Pushed by mart into branch 'master'.

applets/weather: Fix config save

Move the call to setDefaultUnits() from the constructor to init()

setDefaulktUnits() accesses config() which is forbidden to access
from the Applet constructor, as at that point the applet is not
in the containment/corona hyerarchy yet and can't find the proper place
in the config file.
When this happens, the applet will start to read/write in plasmarc itself
so it won't even be saved in the appletsrc layout

M  +5    -2    applets/weather/weatherapplet.cpp
M  +1    -0    applets/weather/weatherapplet.h

https://invent.kde.org/plasma/kdeplasma-addons/-/commit/b36536dbe5e0385e392cea102027c16b9f619479
Comment 16 Marco Martin 2025-03-17 09:53:59 UTC
Git commit fa72f94cad3989cca0164c5e80060ba64994d422 by Marco Martin.
Committed on 17/03/2025 at 09:37.
Pushed by mart into branch 'Plasma/6.3'.

applets/weather: Fix config save

Move the call to setDefaultUnits() from the constructor to init()

setDefaulktUnits() accesses config() which is forbidden to access
from the Applet constructor, as at that point the applet is not
in the containment/corona hyerarchy yet and can't find the proper place
in the config file.
When this happens, the applet will start to read/write in plasmarc itself
so it won't even be saved in the appletsrc layout


(cherry picked from commit b36536dbe5e0385e392cea102027c16b9f619479)

b36536db applets/weather: Fix config save

Co-authored-by: Marco Martin <notmart@gmail.com>

M  +5    -2    applets/weather/weatherapplet.cpp
M  +1    -0    applets/weather/weatherapplet.h

https://invent.kde.org/plasma/kdeplasma-addons/-/commit/fa72f94cad3989cca0164c5e80060ba64994d422