Fix the way we do uploads
Gathering field data works, but we get a lot of buggy behavior around uploads.
After an upload of, say, X streaming and Y reading rows, we still see X and Y as the local database status. Our understanding should be that, once we’ve uploaded them to the central database, those rows are no longer "local" to the device only.
There are a few possible solutions, and we should discuss them:
- Completely re-do database setup after each upload - we might then relabel “Upload” as “Upload and sync”. I mildly favor this approach over the others.
- Auto-sync everything whenever we have Internet.
- [I think this approach is rejected.] Re-sync the uploads database only. This presents challenges for consistency: on initial setup, we have a complete clone of the subset of the database that’s relevant to our chosen trip. If we merely bring back the timestamp, our uploads would be consistent but nothing else.