bryceco / GoMap

OpenStreetMap editor for iPhone/iPad
ISC License
319 stars 41 forks source link

Lots of points get cached as square-in-circle when connectivity is poor #724

Open verhovsky opened 7 months ago

verhovsky commented 7 months ago

I live in a rural area with spotty cell service. When I am mapping I often have poor or no data. For some reason this results in lots of points getting marked as "unknown tag", or whatever a black square in a white circle is supposed to represent, I've only seen this icon on points tagged with fixme=continue. These are just normal, untagged points. It seems to only happen with untagged points, points that have tags on them that cause them to have some specific icon seem unaffected by this and show the correct icon.

It only affects points that get cached this way. If I scroll to an undownloaded area when I have a good connection all the new points that get loaded look normal. It doesn't go away for these broken points when I have a good connection, I have to Clear Cache → Clear OSM Data and redownload these parts of the map to make it go away.

This happens pretty much every time I use Go Map!! outdoors when I haven't preloaded OSM data for the area ahead of time, but I don't know how to reproduce this when you have a good network connection. I tried turning on airplane mode while Go Map!! is loading new data but that didn't reproduce it. If you can simulate a network where requests timeout instead of fail, maybe that will work.

image

bryceco commented 7 months ago

Yeah this bug is super annoying. A few days ago I spent a couple hours trying to get it reproducible under the debugger, but without any luck.

Nodes without tags get that weird graphic, so those are nodes that are supposed to belong to a way, but somehow either the way doesn't exist or the nodes somehow lost their connection to it.

I had previously associated it with cache management, but the fact that you see it with poor connectivity is good information. I'll try reproducing it that way (Developers have a way to simulate network outages on their phones 😉).

tordans commented 6 months ago

I paid attention to see if I noticed any network related occurrences of this issue. But I feel like that's not the (main) reason. I wonder if it has something to do with closing the app and opening it so during close or opening initialization maybe something gets out of sync.

Would it be possible to add something to the beta release that logs things that we can send you to make it easier to debug?

verhovsky commented 6 months ago

I think me associating it with a poor network might've been selection bias, since I mostly open the app when I'm outside with a bad network and I've gotten this issue now while on WiFi. I agree that it might have something to do with opening the app. I opened it on an area that I'm pretty sure I already had preloaded normally and it was all circles.

ellieayla commented 4 months ago

I started seeing this today on iOS. If I kill the process and restart it, there's none of these weird points at the location currently visible. However, there's a donut of weird points encircling the current screen. If I pan beyond that donut, points load/look correct again.