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:
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.
Top comments (16)
monopoly browser -> monopoly bugs ?
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 ?
Nice! Great write up!
So happy we know what's up with this. I know this one was giving you so major grief!
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/
Yes. Thank you Daniel for the tip, I'll give it a try
The impact would have been reduced if the "app" wasn't a webview in the first place...
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.
Ahh thanks for the write up!
I can probably go back to using the App now!
Some comments may only be visible to logged-in visitors. Sign in to view all comments.