q2view fails when trying to load artifacts hosted on GitHub Pages

Hi all!

I've been working on a Q2 plugin tutorial, and wanted to include direct links on view.qiime2.org to some of the artifacts used in the tutuorial. Some of these artifacts are hosted on GitHub Pages, which is apparently supported by q2view. (Here's a link to one such artifact---it's an Emperor biplot produced by DEICODE.)

In the past, directly loading these artifacts on q2view via a URL worked fine. However, it looks like this isn't working any more? When I try to load the biplot.qzv file in q2view now, I get an error from q2view that says TypeError: Failed to fetch. (I'm pretty sure this used to work :slight_smile: )

Weirdly enough, if you load these files from raw.githubusercontent.com in q2view, it works fine---see here for a link to the biplot on raw.githubusercontent.com, and here for a q2view link that loads the QZV file from that URL (this loads fine in q2view for me).

I figure this is likely a CORS/header issue, but it seems like it might be relevant for y'all. If GitHub Pages changed something up with their default headers, it might be worth updating the "Known Supported Websites" list on q2view.

Thanks!

3 Likes

...Alright, so I came back to this issue later today and realized that both q2view links (GH Pages and raw.githubusercontent) work on my phone (running Android 9, using Chrome 76.0.3809.111). The GH pages one only breaks on my laptop (running Ubuntu 18.04, using Chromium 75.0.3770.90). To complicate things, I've been testing this stuff mostly on my work laptop (a MacBook Pro running Chrome 76.0.3809.100), and hadn't noticed any problems until I started working on stuff today.

So the upside is this isn't a huge problem; the downside is it's one of those problems. (Sorry.)

Since I only observed the problem in Chromium, I tried out Chrome (version 75.0.3770.100) on my Ubuntu laptop. And that fixes things! I guess it's a browser problem?

4 Likes

Thanks for reporting this Marcus!

Evan @ebolyen is one of the developers of q2-view, so let's see if we can shine any light on this. :flashlight:

4 Likes

Thanks for the report @fedarko!

All of the links you have are working for me on Firefox 68.0.1 (64-bit), running Linux OpenSUSE (kernel 5.2.8-1-default).

Are those links still not working in Chromium? It is possible Github pages was down at precisely the wrong moment (or they accidentally dropped some headers), hence why it suddenly worked in Chrome.

1 Like

Last I checked, Chromium (on the Ubuntu computer) was still having problems with the GH Pages link (it wasn't just a one-time problem). I was able to download the QZV files from GH Pages within Chromium, so I don't think the problem was due to GH Pages being down—to me this suggests that it's a browser issue.

Since I'm at work right now, I downloaded Chromium (78.0.3894.0) on the MacBook to see if the problem persists in Chromium across operating systems. I wasn't able to reproduce the problem; both links (GH Pages and raw.githubusercontent) worked fine in q2view in this version of Chromium. I also downloaded an older version of Chromium on the MacBook (closest version to the problematic-on-Ubuntu-version I was able to find was 75.0.3768.0, using these instructions), and everything worked fine in that version too.

...So it seems like this problem is only affecting versions of Chromium on Ubuntu, for some weird reason. This seems minor enough that it's probably not worth worrying about :), but I can try to do some more digging later this week to root out any possible causes.

2 Likes

When you have the chance to reproduce again, check the development console, it should have a more detailed network error, indicating which domains where causing the fetch error.

I've been poking around the chromium changelog, and I don't see anything related to this. Presumably this (if it wasn't a network or server configuration blip) only impacts older versions of Chromium?

1 Like

Sorry for the delay, @ebolyen! I came back to this tonight and realized that I was getting a ERR_BLOCKED_BY_CLIENT error when trying to load the GitHub pages link in q2view.

Some googling suggested that this sort of problem is usually caused by adblockers, and ... pausing my adblocker extension (Adblock v3.54.0) on the page fixed the problem!

(The adblock extension is definitely the cause—I can reproduce the original problem by turning it back on for the page. I guess it thinks biplots are suspicious.)

The spooky thing here is that I'm pretty sure I checked the dev console when I first reported this problem, and that I didn't see this particular error message then. (Or maybe I just need new glasses :)) I tried updating my Ubuntu system's version of Chromium from 75.0.3770.90 to 76.0.3809.100 a few days ago to see if that would fix this problem—it didn't—but maybe updating the version caused this error message to pop up?

In any case, thanks for your patience and help with this! If other people run into this bizarre problem, I suppose it might be worth updating this or another page to mention that adblockers can cause problems with q2view.

4 Likes

Thanks for the update @fedarko! I agree, a mention of adblockers would be sensible.

2 Likes