Сache logic was broken
Earlier Locus uses cache very clever:
1) if tile in cache (no matter - expiried or not) - Locus draw it on screen instantly.
2) if tile not in cache or expiried - Locus try to get new one.
3) When new tile received - Locus (re)draw it.
It's best way to use cache:
- when offline - I whant to see map anyway, expiration does not matter.
- when online - I see map instantly (good user expirience, really), with update after second.
And, as I remember, Menion described this logic several years ago.
But, unfortunately, now this logic is broken :(
Steps to reproduce:
1) open any tile map (LoMaps Online) and scroll it to cache some region.
2) set cache timeout to 0 hours.
3) turn off any connection (mobile, wifi)
4) try to scroll across cached region.
If you scroll very fast - you'll see cached tiles for just a moment, but immediately replacing by "Connection failed" on grey squares pattern.
Same cases when I'm online, but server has temporary problems and return 5xx, or in one case - 403. It's very frustrating to see tiles flashing, know they are in the cache, but not be able to work with them normally.
Replies have been locked on this page!