Page MenuHomePhabricator

Commons API not returning image data for Dec. 14 2020 picture of the day (in English and German)
Closed, ResolvedPublic

Description

The Wikipedia iOS app pulls Picture of the Day information from an API call that looks like this: https://commons.wikimedia.org/w/api.php?action=query&format=json&generator=images&iiextmetadatafilter=License|LicenseUrl|LicenseShortName|ImageDescription|Artist&iiextmetadatalanguage=en&iiextmetadatamultilang=1&iiprop=url|extmetadata|dimensions&iiurlwidth=640&prop=imageinfo&rawcontinue&titles=Template:Potd%2F2020-12-14_(en) Adjusting the date and language abbreviation at the end of that URL allows you to change the day and language.

For 2020-12-14, en and de provide an empty result, but not an error in the call. This led to crashes in the iOS app. (There is a separate ticket to improve the iOS app so that this situation will not cause a crash in the future.) There are no images in the next few weeks that provide issues with English imageinfo besides 2020-12-14, but it would be good to figure out what broke in this situation.

(Notably, there was some old markup on the 2020-12-14 image that was cleaned up on 2020-12-14 to see if that fixed the problem. Even when the cache was invalidated, the blank API response remained.)

Event Timeline

So, doing curl -XPOST -H 'Content-Length: 0' 'https://commons.wikimedia.org/w/api.php?action=purge&titles=Template:Potd%2F2020-12-14_(en)&format=json&forcelinkupdate=true&forcerecursivelinkupdate=true' fixed the problem, now the original query returns the image. So, I guess this was an instance of a lost RefreshLinks job.

A followup question - why are you querying the English POTD description page instead of POTD page itself?

I think it should return identical data for both of them, at least if I correctly understand how these templates are setup.

From my conversation with PPchelko regarding the task:
For now it will be enough to handle empty response (as mentioned in the desc, there is a separate ticket to improve the iOS) as it happens..., and as we've got deferred updates of the data, mentioned here - the task can not be resolved by itself except the change: "remove the reference to English." (will not eliminate the root problem, but this change is good to have from my point of view).
So there is an architectural issues wich is good to take a look in the future.

What do you, guys, think we could do else to make things better ? Thanks!

Local fix applied but leaving open for potential API work.