Bug 397914 - Picture of the Day doesn't change every day
Summary: Picture of the Day doesn't change every day
Status: RESOLVED FIXED
Alias: None
Product: kdeplasma-addons
Classification: Plasma
Component: Picture of the Day (show other bugs)
Version: 5.13.4
Platform: Neon Linux
: NOR normal
Target Milestone: ---
Assignee: Plasma Bugs List
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2018-08-27 05:12 UTC by Kristopher Ives
Modified: 2022-09-24 19:53 UTC (History)
5 users (show)

See Also:
Latest Commit:
Version Fixed In: 5.12.7


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Kristopher Ives 2018-08-27 05:12:22 UTC
When setting desktop background to Picture of the Day (potd) using provider Bing (and likely others) the background picture doesn't change every day. It does appear to change sometimes, but not every day.

I am willing to do more debugging if needed to fix this. I have been reading the potd code and it appears to have a 10 minute timer that uses the last modified time of a cached image file, with this line of code:

    info.lastModified().daysTo( QDateTime::currentDateTime() ) > 1

Does this mean it only changes every 2 days and the fix might be as simple as changing to greater-or-equals to 1?

Thanks!
Comment 1 David Edmundson 2018-08-27 17:22:49 UTC
Sounds like the cause, good stuff.

Want to make the change?
https://community.kde.org/Get_Involved/development#Submitting_your_first_patch
Comment 2 Nate Graham 2018-08-27 22:42:32 UTC
Yes, very nice!

Note that there are two instances of this logic: one in dataengines/potd/potd.cpp and another one in dataengines/potd/cachedprovider.cpp.
Comment 3 Kristopher Ives 2018-08-28 00:59:05 UTC
Hi guys! I tried setting up a development environment to test this, but cmake complains about a chain of things and I gave up after grabbing plasma. Here is what I tried so far:

   sudo apt build-dep kdeplasma-addons
   apt source kdeplasma-addons
   cd kdeplasma-addons*
   cmake .

I then get this problem:

    Make Error at CMakeLists.txt:9 (message):
      plasma requires an out of source build.  Please create a separate build
      directory and run 'cmake path_to_plasma [options]' there.

So I repeat the process for plasma-desktop, which then gives another layer of turtles:

     -- The following RUNTIME packages have not been found:
     
      * org.kde.plasma.core-QMLModule, QML module 'org.kde.plasma.core' is a runtime dependency.


Sorry for not being familiar with KDE development practices! Any advice would be awesome.

Thank you!
Comment 4 Kristopher Ives 2018-08-28 01:20:28 UTC
I was able to get kdesrc-build setup and running and currently am waiting for this command to finish:

    ./kdesrc-build --include-dependencies plasma-desktop

That might take a while, obviously. I am interested if anyone knows if there is an easier way to test these changes.
Comment 5 Kristopher Ives 2018-08-28 05:13:51 UTC
Welp! I think I will leave this in the hands of a more capable KDE developer. I tried to do:

   ./kdesrc-build kdeplasma-addons

As well as:

   ./kdesrc-build --include-dependencies kdeplasma-addons

A large amount of pieces built successfully, but ultimately a few pieces failed to compile with errors like:

    CMake Error at src/CMakeLists.txt:73 (add_library):
      Target "KF5XmlGui" links to target "Qt5::CorePrivate" but the target was
      not found.  Perhaps a find_package() call is missing for an IMPORTED
      target, or an ALIAS target is missing?

Likewise kwallet failed to compile because it couldn't find libgpgme, and in general this seems like a lot to change a single line of code!

I'm sure a more capable KDE developer can figure it all out or use their existing development environment to figure it out, but for me I'm bowing out of this battle early. KDE build system looks pretty cool but also seems very complex! It seems if I'm not able to this basic change there is likely not much hope in me contributing much value to KDE development wise as a whole.
Comment 6 Nate Graham 2018-08-28 14:30:16 UTC
Thanks for giving it your all, Kristopher. We're aware that this process isn't exactly user-friendly and we're working on improving it.

I've gone ahead and submitted the patch in your name: https://phabricator.kde.org/D15124

If it lands, you'll get the credit, since after all, you found the fix. :)
Comment 7 Nate Graham 2018-08-28 21:30:04 UTC
Git commit 81e89f1ea830f278fdb6f086baa4741c9606892f by Nathaniel Graham, on behalf of Kristopher Ives.
Committed on 28/08/2018 at 21:23.
Pushed by ngraham into branch 'Plasma/5.12'.

[POTD] Actually update the image every day

Summary:
This patch adjusts the dirty condition so that the image is actually updated once a day, not once every two days.
FIXED-IN: 5.12.7

Test Plan: Applied patch, set a POTD wallpaper, waited one day, noticed that the image had changed.

Reviewers: #plasma, kossebau, davidedmundson

Reviewed By: #plasma, davidedmundson

Subscribers: plasma-devel

Tags: #plasma

Differential Revision: https://phabricator.kde.org/D15124

M  +1    -1    dataengines/potd/cachedprovider.cpp
M  +1    -1    dataengines/potd/potd.cpp

https://commits.kde.org/kdeplasma-addons/81e89f1ea830f278fdb6f086baa4741c9606892f