Bug 463345 - Bing POTD is usually out of sync by one day
Summary: Bing POTD is usually out of sync by one day
Status: ASSIGNED
Alias: None
Product: plasmashell
Classification: Plasma
Component: Picture of the Day wallpaper (other bugs)
Version First Reported In: 5.27.2
Platform: Other Linux
: NOR minor
Target Milestone: 1.0
Assignee: Plasma Bugs List
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2022-12-22 15:57 UTC by David Korth
Modified: 2025-09-05 02:58 UTC (History)
7 users (show)

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


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description David Korth 2022-12-22 15:57:03 UTC
SUMMARY
The POTD wallpaper plugin checks for new wallpaper at 12:00 AM localtime. Bing's Picture of the Day updates at a fixed time each day (possibly 12:00 AM PST, would need to confirm this). If the system is set to a timezone with a higher offset than PST, then Plasma ends up checking for new wallpaper some hours before Bing's Picture of the Day has been updated, resulting in the wallpaper being a day behind.

STEPS TO REPRODUCE
1. Set wallpaper to Bing Picture of the Day.
2. Wait until the next day.

OBSERVED RESULT
If in e.g. US/Eastern, the wallpaper will be showing the previous Bing Picture of the Day.

EXPECTED RESULT
The wallpaper should be showing the current Bing Picture of the Day.

SOFTWARE/OS VERSIONS
Linux/KDE Plasma: Gentoo; Kernel 6.0.9
(available in About System)
KDE Plasma Version: 5.26.3
KDE Frameworks Version: 5.101
Qt Version: 5.15.7

ADDITIONAL INFORMATION
A proper fix would be extending the POTD provider class to allow it to return a timestamp indicating when the wallpaper should be updated. For Bing POTD, it should be 12 AM Pacific Time (or perhaps 5-10 minutes later). Note that this will need to be adjusted for DST, so QTimeZone for "US/Pacific" should be used to adjust for DST.
Comment 1 Bug Janitor Service 2022-12-22 16:42:18 UTC
A possibly relevant merge request was started @ https://invent.kde.org/plasma/kdeplasma-addons/-/merge_requests/300
Comment 2 Fushan Wen 2022-12-24 00:27:11 UTC
Git commit 6859a0cd056718becae2d9a675ff5b9e3f0d8dd5 by Fushan Wen.
Committed on 24/12/2022 at 00:26.
Pushed by fusionfuture into branch 'master'.

wallpapers/potd: update picture at 0:01

The clock can be inaccurate due to faulty hardware/out of sync with time
server, so wait one more minute.
FIXED-IN: 5.26.5

M  +4    -4    wallpapers/potd/plugins/potdengine.cpp

https://invent.kde.org/plasma/kdeplasma-addons/commit/6859a0cd056718becae2d9a675ff5b9e3f0d8dd5
Comment 3 Fushan Wen 2022-12-24 00:29:39 UTC
Git commit 02679ace137ad7a05d60c0f1239800b26c964379 by Fushan Wen.
Committed on 24/12/2022 at 00:29.
Pushed by fusionfuture into branch 'cherry-pick-6859a0cd'.

wallpapers/potd: update picture at 0:01

The clock can be inaccurate due to faulty hardware/out of sync with time
server, so wait one more minute.
FIXED-IN: 5.26.5


(cherry picked from commit 6859a0cd056718becae2d9a675ff5b9e3f0d8dd5)

M  +4    -4    wallpapers/potd/plugins/potdengine.cpp

https://invent.kde.org/plasma/kdeplasma-addons/commit/02679ace137ad7a05d60c0f1239800b26c964379
Comment 4 Vamsi Kodali 2023-01-09 01:59:37 UTC
I still have the issue even though I am running plasmashell version 5.26.5. 

My system info: 
Operating System: KDE neon 5.26
KDE Plasma Version: 5.26.5
KDE Frameworks Version: 5.101.0
Qt Version: 5.15.7
Kernel Version: 5.15.0-57-generic (64-bit)
Graphics Platform: X11
Comment 5 Peter Hoeg 2023-01-09 02:11:52 UTC
The mentioned MR does not address the timezone issue.
Comment 6 Fushan Wen 2023-01-09 02:47:33 UTC
(In reply to Peter Hoeg from comment #5)
> The mentioned MR does not address the timezone issue.

Perhaps I don't understand how Bing PotD works in countries that have more than one timezone. In China (and perhaps in other countries that only have one timezone as well) Bing PotD will always update at 12:00 a.m. (UTC+8)

Could anyone help me understand it? I assume in America, regardless of west/middle/east timezone, Bing PotD will always update at 12:00 a.m. (UTC-8/PST). Is my assumption right?
Comment 7 Peter Hoeg 2023-01-10 04:39:35 UTC
From the original bug report:

> The POTD wallpaper plugin checks for new wallpaper at 12:00 AM localtime. Bing’s Picture of the Day updates at a fixed time each day (possibly 12:00 AM PST, would need to confirm this).

So basically, the plugin needs to *ignore* the local timezone and always run at whatever point in time Bing changes + some buffer (5 minutes?)
Comment 8 Vamsi Kodali 2023-01-10 16:27:31 UTC
How about checking multiple times in a day? I assume something similar happens for folks with laptops. For example, I have the bing potd set up on my laptop and I open the laptop at odd times in the day and each time I do so it updates the wallpaper if it isn't the latest.
Comment 9 Peter Hoeg 2023-01-11 01:48:53 UTC
Good point. Something like: on every start and every hour at 5 minutes past the hour to accommodate clock-skew/delays.
Comment 10 Fushan Wen 2023-01-12 00:59:28 UTC
Makes sense. Perhaps it's necessary to update the wallpaper multiple times a day.
Comment 11 Bug Janitor Service 2023-01-13 12:49:19 UTC
A possibly relevant merge request was started @ https://invent.kde.org/plasma/kdeplasma-addons/-/merge_requests/320
Comment 12 Benjamin Smith 2025-03-21 04:10:57 UTC
This bug is still in Plasma 6.3.3, which is why I searched and found this bug report.
Comment 13 David Greengas 2025-09-05 02:58:34 UTC
I get this issue when I am working on my laptop past midnight 🤭. The Bing POTD does not update at midnight. This means that I will not get a new wallpaper until I go to bed before midnight and put my laptop to sleep.

This is the line of code that sets the interval to update to midnight.

https://invent.kde.org/plasma/kdeplasma-addons/-/blob/master/wallpapers/potd/plugins/potdengine.cpp?ref_type=heads#L225

or same file line 334 that sets the next load interval after a success.

Could this be the cause?

I was thinking of having a configuration item to POTD to allow an update time if the user knows that a provider does not provide an update at the start of the day. The idea of multiple checks could also work or only updating the cached image if it actually differs from the last image. This could be done by maybe by cachedimageprovider to only save if the image actually changed from the last file. Although what happens if a cached image continues to not exist because the provider did not update it yet? The actual save into cache is from void PotdClient::slotFinished.

I am interested in getting this fixed. Unfortunately I have been staying up late recently and sometimes multiple days in a row. I am also the type of person who has the Bing wallpaper on my phone and tablet too. I get comfort in all of my wallpapers being the same.