Android app: XKCD images don't appear in story view


#1

for a few weeks or months now, in the Android app, XKCD images have consistently shown up as thumbnails in the feed view, but not at all in the story view. most (maybe all) other feeds with images are behaving ok; XKCD is the only one i’ve noticed this on consistently.

feed URL is https://www.xkcd.com/rss.xml . i’ve attached screenshots. thanks in advance!

app version: 7.1.0
android version: 8.1.0 (OPM3.171019.016)
device: LGE Nexus 5X (bullhead)
sqlite version: 3.19.4
username: snarfed
server: default
memory: normal
speed: 193 feeds in conn:752 read:99 parse:56 store:39
pending actions: pre:0 post:0
premium: yes
prefetch: yes
notifications: no
keepread: no
thumbs: yes


#2

Hmm, we’ll look into this. Let me also ask you, did you just copy and paste the text from GetSatisfaction and bring it over here? We should also have the forum link changed.


#3

thanks! i actually sent the the app-generated email text to the clipboard, instead of to the browser, and then pasted it here. but yes, changing its post URL from GetSatisfaction would be great too.


#4

Tested that exact story on all five of my devices and haven’t seen any issues. My first suggestion would be to ensure that your network connection was good (NewsBlur pre-fetches quite a bit of data and can work just fine when the network is bad, but images might not load unless you specifically enable image prefetch) and that your Chrome / WebView components in the Play Store are up to date.


#5

thanks for testing! and sorry it didn’t repro.

i have background image download turned on in preferences. the bug has happened a number of times now, across different environments and networks. it’s obviously fine if the download fails sometimes, but it doesn’t seem to retry later when i view the story on a good network. maybe it should?

Play Store shows I’m on the latest Chrome, 66.0.3359.106, and Android System WebView 65.0.3325.109, updated Feb 28 2018. no button to update that one, but it seems pretty recent.


#6

Is anybody else seeing this?


#7

i am. i also have prefetch images off, but it’s only affecting that feed, so i don’t think prefetch is it.


#8

After much, much digging: looks like there was a brief period where xkcd.com was returning a good response code for requests, but wasn’t actually responding with the expected images. Good enough that both our image cache and the Chrome image cache thought they were worth keeping. We currently just check for a good response code and minimum sane file size, but it looks like we may need to add some advanced cache eviction to handle cases where the response either doesn’t decode or decodes to something obviously too small to be of use.

If anyone encounters this again, please do update this thread!


#9

if it helps, i’m still seeing this. is xkcd still not returning the expected images? it doesn’t actually bother me that much, it’s a very minor problem, but just fyi.


#10

This appears to be a problem with the XKCD servers. Even the discussion post for the May 15 comic has a note about the comic image originally being broken/partial: http://forums.xkcd.com/viewtopic.php?p=4351947&sid=989837dd5417f8a68052c3377920d746#p4351947 I would hope that the issue getting attention on the official forum means a fix is on the way.


#11

Have been encountering this daily, switching from Text to Story and back to Text view fixes it (or perhaps any such transition fixes it).


#12

I’m able to reproduce the same issues (100% of the time) using this feed: http://darkgate.net/comic/feed.php?dilbert&bizarro&calvin


#13

Still an issue on Android


#14

I’ve had this issue for months also, on a number of webcomics that display just an image and no text (such as 'yehudadevir`, if I recall correctly). When that happens (which is 100% of the time on affected feeds), Sorng’s solution of toggling from Text to Story and back results in the image being shown correctly in all cases.


#15

It seems like, for some reason, webcomics in particular like to post RSS entries in which the availability of the correct image lags behind the story itself. I’m not sure if this is related to some common publishing platform they use, or maybe even a lack thereof.

We’re looking into tightening the requirements for pre-caching images (to avoid accidentally caching bad images, at the cost of occasionally missing very small ones) and I’m also adding a feature to the image long-press menu to allow us to force-refresh images.


#16

As an experiment, I tried putting my Android phone in airplane mode before looking at today’s ‘xkcd’ comic. Nothing showed at first, but when I toggled between Text and Story mode the comic appeared. This strongly suggests to me that the image was cached as expected, but simply not rendered until after toggling.


#17

In the latest Android release, it’s no longer possible possible to view XKCD or Questionable Content comic strips. The Text/Story toggle trick no longer works.

As before, thumbnails of these comics are shown in the NewsBlur app, so the problem is unlikely to be with downloading the images. Rather, NewsBlur is downloading but not rendering them. See attached screenshots.


#18

My version of the XKCD feed (https://newsblur.com/site/5994357/xkcd.com) doesn’t support Text mode at all, though the Android app needs to do a less poor job of making this clear.

In normal/story mode, the images from XKCD in particular have been giving us trouble for quite some time, more generally. For some reason Munroe’s server/CDN sometimes serves up images that are good enough to get cached but not actually visible (according to our crash logs, that particular feed is even weird enough to very occasonally crash the whole browser on older Android 5.0 devices!). The tricky part here is that it is quite difficult to catch in the act. My best current guess is that a future version of the app will offer a way to manually refresh a story until we can figure out what is really going on. (we added really detailed logging for this issue in the last release, but so far the Android browser isn’t giving us anything of much use.)


#19

Thanks for investigating!

I’m worried that the scenario you’re investigating (a problem with the CDN) might be a red herring. A CDN problem wouldn’t explain why all affected webcomics (e.g. XKCD, Questionable Content, yahudadevir) could be viewed in Airplane Mode using the previous Android version of NewsBlur, but not in the new version of NewsBlur. (See this comment.)

To be clear, the solution that worked in the previous NewsBlur version was to start in Story mode, switch to Text mode, then back to Story mode. The image would then render once back in Story mode. This worked even when the phone was in Airplane Mode with no network connection, showing that the NewsBlur app had already downloaded a valid image file, but would not render it.


#20

Here’s the best technical analysis I can give so far:

  • Double-toggling story/text mode is acting as a clever trick to get the Anrdoid web browser to soft refresh.
  • The hunch about the way images are served to us is based on a few observations that this bug tends not to happen when image caching is off, but this could indeed be a red herring.
  • We added some logging to the browser component in this last release, and it does appear that when the blank-page bug happens, the browser throws a “net::ERR_CONNECTION_REFUSED” error. This is especially weird both because most of these webcomic stories have no HTML elements that should require network when our internal caching is enabled and because I’ve seen it happen many times when no other part of the code was having connection issues.
  • The browser component / Chrome engine is a black box to us. Not only does it indeed seem to behave differently when networking is turned off (via Airplane mode or other tricks), if you look carefully, some of these blank loads even render an amout of blank space roughly equal to how big the image would be were it visible.

Any and all extra info is deeply appreciated. It is especially helpful to us if you pop up to the feed list in-app and use the “Send app feedback -> Email a bug report” option any time something wonky happens.