mapbox/mapbox-gl-native

tile fails to load on timeout even if it is cached

JRWilding opened this issue · 0 comments

Platform:
Android

Mapbox SDK version:
9.7.1

Steps to trigger behavior

  1. View a section of the map (or mark for offline).
  2. Emulate a "bad" network connection on an emulator (I used an "Edge" network type with "Moderate" signal strength)
  3. Restart the app.
  4. Attempt to view the same section of the map.

Expected behavior

The cached / offline version of the tile is loaded from the disk whilst a network request is sent to see if there is an update available.

Actual behavior

Because a network connection is present, the tile will attempt to be downloaded from the network, however, if the network request to load the tile over a "bad" network exceeds the default 10 seconds timeout it fails and the request is never recovered.
In the network profiler, I can see the requests start and then hit the timeout. If I extend the timeout by providing a new okhttp client with different values, the tiles do eventually load and display.