Page MenuHomePhabricator

Unable to load offline talk page content properly in some certain cases
Open, LowPublicBUG REPORT

Description

Steps to replicate the issue (include links if applicable):

  • Download and install a 3rd party VPN app (in my case I used Planet VPN from Google Play)
  • Open the Wikipedia app and open any article that has a talk page.
  • Visit the talk page
  • Go back to the article page
  • Switch to the VPN app and enable the VPN
  • Switch back to the Wikipedia app and turn on the airplane mode
  • Visit the talk page again

What happens?:
The talk page keeps loading the offline content, and the content may show after the connection timeout (~10s)

What should have happened instead?:
The offline talk page content should show up immediately

Other information (browser name/version, screenshots, etc.):
Demo: https://youtube.com/shorts/IP5LqXYt_WM

Event Timeline

After lots of testing and investigation, it looks like the issue is in the OkHttp library that we are using now, which is related to the SocketTimeout issue.

By checking the square/okhttp GitHub repository page, I also noticed some unsolved/closed issues that also similar to the issue we have seen in this ticket.
https://github.com/square/okhttp/issues?q=is%3Aissue+is%3Aopen+socket+timeout

At the current stage, it would take too much time to fix this edge case which might require more time to dig into the library code and write more extra code to handle this.