Bug 471526 - Unsplash does not return an image (404 error)
Summary: Unsplash does not return an image (404 error)
Status: RESOLVED FIXED
Alias: None
Product: kdeplasma-addons
Classification: Unmaintained
Component: Picture of the Day (other bugs)
Version First Reported In: 5.27.6
Platform: Other Linux
: NOR normal
Target Milestone: ---
Assignee: Plasma Bugs List
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2023-06-28 09:22 UTC by Nicola Smaniotto
Modified: 2023-07-01 12:49 UTC (History)
4 users (show)

See Also:
Latest Commit:
Version Fixed/Implemented In: 5.27.7
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Nicola Smaniotto 2023-06-28 09:22:30 UTC
SUMMARY
Since today the Unsplash POTD provider no longer returns an image in any category. May be related to some API change.


STEPS TO REPRODUCE
1. Set the Unsplash POTD with any category.

OBSERVED RESULT
The wallpaper is https://images.unsplash.com/source-404?fit=crop&fm=jpg&h=800&q=60&w=1200.

EXPECTED RESULT
The wallpaper should be an image from the selected collection.

SOFTWARE/OS VERSIONS
KDE Plasma Version: 5.27.6
KDE Frameworks Version: 5.106.0
Qt Version: 5.15.9

ADDITIONAL INFORMATION
That image is returned by https://source.unsplash.com/collection/1065976/3840x2160/daily, which is the URL for category "All".
The request is done here: https://invent.kde.org/plasma/kdeplasma-addons/-/blob/master/wallpapers/potd/plugins/providers/unsplashprovider.cpp#L25.
The collection exists, can be viewed from the website: https://unsplash.com/collections/1065976/wallpapers.
Comment 1 Fushan Wen 2023-06-28 16:47:18 UTC
Git commit 2dc3455ad624f2e963b2d61405f38e770116dba4 by Fushan Wen.
Committed on 28/06/2023 at 16:46.
Pushed by fusionfuture into branch 'master'.

wallpapers/potd: remove unsplash provider

https://source.unsplash.com has been deprecated and doesn't work
anymore. To use Unslash in needs a developer access key and use
the https://api.unsplash.com
FIXED-IN: 5.27.7

M  +0    -4    wallpapers/potd/package/contents/config/main.xml
M  +1    -149  wallpapers/potd/package/contents/ui/config.qml
M  +1    -4    wallpapers/potd/package/contents/ui/main.qml
M  +0    -3    wallpapers/potd/plugins/providers/CMakeLists.txt
D  +0    -46   wallpapers/potd/plugins/providers/unsplashprovider.cpp
D  +0    -26   wallpapers/potd/plugins/providers/unsplashprovider.h
D  +0    -48   wallpapers/potd/plugins/providers/unsplashprovider.json

https://invent.kde.org/plasma/kdeplasma-addons/-/commit/2dc3455ad624f2e963b2d61405f38e770116dba4
Comment 2 Julius 2023-06-28 20:34:20 UTC
(In reply to Fushan Wen from comment #1)
> Git commit 2dc3455ad624f2e963b2d61405f38e770116dba4 by Fushan Wen.
> Committed on 28/06/2023 at 16:46.
> Pushed by fusionfuture into branch 'master'.
> 
> wallpapers/potd: remove unsplash provider
> 
> https://source.unsplash.com has been deprecated and doesn't work
> anymore. To use Unslash in needs a developer access key and use
> the https://api.unsplash.com
> FIXED-IN: 5.27.7
> 
> M  +0    -4    wallpapers/potd/package/contents/config/main.xml
> M  +1    -149  wallpapers/potd/package/contents/ui/config.qml
> M  +1    -4    wallpapers/potd/package/contents/ui/main.qml
> M  +0    -3    wallpapers/potd/plugins/providers/CMakeLists.txt
> D  +0    -46   wallpapers/potd/plugins/providers/unsplashprovider.cpp
> D  +0    -26   wallpapers/potd/plugins/providers/unsplashprovider.h
> D  +0    -48   wallpapers/potd/plugins/providers/unsplashprovider.json
> 
> https://invent.kde.org/plasma/kdeplasma-addons/-/commit/
> 2dc3455ad624f2e963b2d61405f38e770116dba4

After reading the terms of the new developer access possibilities for unsplash, I would think the KDE wallpaper engine might be a valid use case if used on a personal basis. So why not enabling this integration with the possibility to enter an API key and further use the feature, instead of completely removing it? We could also talk to the Unsplash support to get some view of them on the situation...
Comment 3 Fushan Wen 2023-06-29 10:54:05 UTC
Git commit 365b58ed5ca0e30e207ff8127ad51b9d5482a76b by Fushan Wen.
Committed on 29/06/2023 at 10:53.
Pushed by fusionfuture into branch 'Plasma/5.27'.

wallpapers/potd: remove unsplash provider

https://source.unsplash.com has been deprecated and doesn't work
anymore. To use Unsplash one needs a developer access key and use
https://api.unsplash.com

The API Guidelines say:

> You cannot replicate the core user experience of Unsplash (unofficial clients, wallpaper applications, etc.).

> a wallpaper app returns Unsplash images for downloading. Without the integration, the app has no content and no value to users.

> The API is to be used for non-automated, high-quality, and authentic experiences.

So the Unsplash provider has to be removed.
FIXED-IN: 5.27.7

Ref: https://github.com/jerrykuku/luci-theme-argon/pull/422

M  +0    -4    wallpapers/potd/package/contents/config/main.xml
M  +1    -144  wallpapers/potd/package/contents/ui/config.qml
M  +1    -4    wallpapers/potd/package/contents/ui/main.qml
M  +0    -3    wallpapers/potd/plugins/providers/CMakeLists.txt
D  +0    -47   wallpapers/potd/plugins/providers/unsplashprovider.cpp
D  +0    -26   wallpapers/potd/plugins/providers/unsplashprovider.h
D  +0    -47   wallpapers/potd/plugins/providers/unsplashprovider.json

https://invent.kde.org/plasma/kdeplasma-addons/-/commit/365b58ed5ca0e30e207ff8127ad51b9d5482a76b
Comment 4 Fushan Wen 2023-06-29 11:02:34 UTC
Git commit 4829e7366272babebb3933543da065e191d41c1c by Fushan Wen.
Committed on 29/06/2023 at 11:00.
Pushed by fusionfuture into branch 'master'.

wallpapers/potd: remove unsplash provider

https://source.unsplash.com has been deprecated and doesn't work
anymore. To use Unsplash one needs a developer access key and use
https://api.unsplash.com

The API Guidelines say:

> You cannot replicate the core user experience of Unsplash (unofficial clients, wallpaper applications, etc.).

> a wallpaper app returns Unsplash images for downloading. Without the integration, the app has no content and no value to users.

> The API is to be used for non-automated, high-quality, and authentic experiences.

So the Unsplash provider has to be removed.
FIXED-IN: 5.27.7

Ref: https://github.com/jerrykuku/luci-theme-argon/pull/422

(cherry picked from commit 365b58ed5ca0e30e207ff8127ad51b9d5482a76b)

M  +0    -4    wallpapers/potd/package/contents/config/main.xml
M  +1    -149  wallpapers/potd/package/contents/ui/config.qml
M  +1    -4    wallpapers/potd/package/contents/ui/main.qml
M  +0    -3    wallpapers/potd/plugins/providers/CMakeLists.txt
D  +0    -46   wallpapers/potd/plugins/providers/unsplashprovider.cpp
D  +0    -26   wallpapers/potd/plugins/providers/unsplashprovider.h
D  +0    -48   wallpapers/potd/plugins/providers/unsplashprovider.json

https://invent.kde.org/plasma/kdeplasma-addons/-/commit/4829e7366272babebb3933543da065e191d41c1c
Comment 5 Fushan Wen 2023-06-29 15:50:11 UTC
I have a new idea. Feel free to discuss on https://discuss.kde.org/t/a-generic-picture-of-the-day-provider/2579