bryceco / GoMap

OpenStreetMap editor for iPhone/iPad
ISC License
314 stars 42 forks source link

"Low memory: clearing cache" wipes uncommitted changes #96

Open federicomenaquintero opened 8 years ago

federicomenaquintero commented 8 years ago

I do this frequently:

  1. Start a GPS track recording app
  2. Start Go Map!!
  3. Go out by bike, recording rural roads which are hard to see in the satellite view due to too many trees. Add POIs as I go.
  4. Back home, use the GPS track to actually add ways to OSM.
  5. Also back home, commit my changes from Go Map!!, as I have an Internet connection there and often not while on the road.

When I'm using Go Map!! and the GPS app is running in the background, Go Map!! often gives me "Low memory: clearing cache". Sometimes it completely loses the changes that I've made so far before uploading them.

Normally I can re-create POIs when I get back home if I remember them, but it's rather aggravating not to remember "complicated" things like street names, school names, etc. that I had already captured.

This behavior didn't seem to occur about a year ago (sorry for the imprecision; I definitely remember Go Map!! being very reliable with respect to keeping uncommitted changes around).

Alex-Vasile commented 2 months ago

I also just got bit by this. I cleared the cache with uncommitted changes and it deleted my changes. It would be nice if it wouldn't clear those out.

bryceco commented 2 months ago

Good to know. I’m pretty confident that the code for clearing the cache doesn’t explicitly delete changes (they’re stored in separate databases, and we delete from one but not the other) but maybe something is going on causing corruption in the modified object archive.

As usual having a way to reproduce this would be awesome but I know it’s a very rare bug.

Alex-Vasile commented 2 months ago

I just tried clearing the cache while having changes and I was prompted by a warning letting me know that I would lose uncommitted changes. I do not remember seeing this before (I'm on the TestFlight).

It's possible I autoclicked through it yesterday, but I would have thought I'd remember it.