loading...
Cover image for A Bug in Chrome 75 Caused Random Offline Pages
The DEV Team

A Bug in Chrome 75 Caused Random Offline Pages

maestromac profile image Mac Siri ・2 min read

Towards the end of May, we started to receive a lot of reports from DEV users that our Android App was giving them an Offline message even when they had an internet connection. Additional reports came in from users trying to access DEV articles from the Facebook in-app browser, the DuckDuckGo browser, and others. This alarmed us, and we immediately set to work to fix the problem. Days went by and we couldn't make any progress on mitigating the issue.

We simply couldn't reproduce the issue at all on my phone or on the emulator.

Since we use webviews within our Android app, this situation was not good for our Google Play Store reviews:

screenshot of Google Play store reviews

I tunneled-visioned myself into thinking that I could fix the problem if I could just replicate it myself. As soon as I was about to give up and ask for help, I found this bug report.

Starting towards the end of May we started receiving sporadic reader complaints that our app was reporting that certain functionality wasn't available due to the app being offline - when actually being online. We verify connectivity before certain actions by making a network request, and this was failing.

It turns out the bug was caused by an experiment they were conducting in Chrome 75. Depending on the device, WebView would be relying on Chrome 75 and because it is still an experiment, it can happen randomly. To put it simply, if IoThreadClient is null, the web request is aborted, hence the immediate offline page. A soon as they found the cause, they patched it swiftly

Within that bug report, engineers from renowned publications such as LinkedIn and The Financial Times chimed in. They also maintain apps that rely on Service Workers and were similarly frustrated. These apps are collectively utilized by billions of customers and many were quite unhappy. It is an especially damaging bug because their apps did nothing wrong, and were getting hit by a lot of bad ratings and angry reviews.

There are some reports that the issue may still be going on for some, but shout out to the Chromium team for responding so quickly with a fix. The issue has not been closed conclusively but should be soon.

To those of you who might still be experiencing this problem, try clearing the storage/cache our app once or twice, and you should be able to access our app. It may produce a fix, and if not it should hopefully be 100% fixed soon.

Posted on by:

maestromac profile

Mac Siri

@maestromac

I'm a refactor-loving developer and I promise you I have nothing to do with Apple's Siri.

The DEV Team

The team behind this very platform. 😄

Discussion

markdown guide
 
 

Nice! Great write up!

So happy we know what's up with this. I know this one was giving you so major grief!

 

The page saying dev.to is offline appears from time to tim on Firefox. Doth on my work computer and at home. Only happens if I'm in a tab on a different website and I try to acces dev.to. I then have to open a new tab to access the website. Anyone have this too ?

 

Are you using Privacy Badger? Next time you get the offline page, tell Privacy Badget to "Disable Privacy Badger for this site". I had the same problem too and found this thread: github.com/thepracticaldev/dev.to/...

 

Yes. Thank you Daniel for the tip, I'll give it a try

 

I just went back to using the website in Chrome and figured my device was wrong :P Though good sleuthing to find it was a Chrome issue!

 

Ohhhhhh, I remember this happening even when browsing to the website. Somehow (terribly of me) I hadn't noticed it wasn't going on until I saw this post.

Yay! It's fixed! \o/

 

The impact would have been reduced if the "app" wasn't a webview in the first place...

 

Ahh thanks for the write up!

I can probably go back to using the App now!

 

How is it that the offline page was able to be presented? Isn't that just another normal GET request like the original that failed due to being "offline"?

 

Offline page is stored in service worker and is returned if a cache copy of said request doesn't exist or the request failed.

 

I just tried the app, and the first time it said I couldn't use the token from Twitter because it had expired (even though this was the first time I tried it), but the second time it worked.

I'm not sure why installing has given me two icons - "dev.to" and "dev community". They seem to be the same except they don't share login details.

 

Hmm I'm not sure why you would have two icons; did you install the PWA at some point? That would be my first guess.

 
 

The android app name on my homescreen is "Dev Community" if that helps!