Sync between Apps (iPhone, iPad, M1 MacAir)
Quote from StuPastu on 26.08.2021, 07:29There have been a few posts so far on this topic and it seems that since the Server is the "master", any time I make modifications on one instance (e.g., make a route on my M1 MacAir), those changes should update on my other devices (i.e., iPhone, iPad).
In practice, this does in fact work when I only create one route at a time and force a sync on the other devices.
However, I'm finding that if I make multiple changes (e.g., create three new routes) before forcing the sync on the other devices, I will only get the last change/modification. Is that expected behavior?
There have been a few posts so far on this topic and it seems that since the Server is the "master", any time I make modifications on one instance (e.g., make a route on my M1 MacAir), those changes should update on my other devices (i.e., iPhone, iPad).
In practice, this does in fact work when I only create one route at a time and force a sync on the other devices.
However, I'm finding that if I make multiple changes (e.g., create three new routes) before forcing the sync on the other devices, I will only get the last change/modification. Is that expected behavior?
Quote from Guido on 26.08.2021, 07:44That’s not expected behavior. It should sync whatever was not synced yet, wether that’s one route or 3 routes.
I will look into this in more detail for Scenic 3 and apply fixes if necessary. Thanks for the analyses. Very helpful.
That’s not expected behavior. It should sync whatever was not synced yet, wether that’s one route or 3 routes.
I will look into this in more detail for Scenic 3 and apply fixes if necessary. Thanks for the analyses. Very helpful.
Quote from Guido on 26.08.2021, 07:48Quote from macuaig on 26.08.2021, 07:46My devices have never synced until I close and reopen the app on the lagging device.
The sync is not fully automatic. In other words, there is an action required. This can be starting and reopening the app, but, easier, doing a ‘pull to refresh’ in the me, vehicles, routes, rides tab will also initiate a sync.
Quote from macuaig on 26.08.2021, 07:46My devices have never synced until I close and reopen the app on the lagging device.
The sync is not fully automatic. In other words, there is an action required. This can be starting and reopening the app, but, easier, doing a ‘pull to refresh’ in the me, vehicles, routes, rides tab will also initiate a sync.
Quote from StuPastu on 26.08.2021, 07:49@guidomm Thanks for the quick reply and happy to provide additional details/steps to replicate.
@macuaig I've found that the sync works best in its current iteration by manually refreshing on the other devices. For example, when I create and save a route on my M1 Macbook Air, I will then open Scenic on my iPhone (or iPad) and pull down on the route list to force a sync. Sometimes if the app is not in recent memory the sync will occur without the manual interaction.
@guidomm Thanks for the quick reply and happy to provide additional details/steps to replicate.
@macuaig I've found that the sync works best in its current iteration by manually refreshing on the other devices. For example, when I create and save a route on my M1 Macbook Air, I will then open Scenic on my iPhone (or iPad) and pull down on the route list to force a sync. Sometimes if the app is not in recent memory the sync will occur without the manual interaction.
Quote from Guido on 26.08.2021, 07:59Currently the app syncs on these occasions:
- When the app opens, all data is synced
- When you save a new item (route, ride, etc)
- When you change an item
- When you do a ‘pull-to-refresh’
- When you switch tabs
One other thing to know is that a full sync (all items) only happens on startup. The rest of the syncs will be partial, only syncing certain items. For example, a ‘pull-to-refresh’ in the locations tab will only sync locations, not routes, nor rides.
Currently the app syncs on these occasions:
- When the app opens, all data is synced
- When you save a new item (route, ride, etc)
- When you change an item
- When you do a ‘pull-to-refresh’
- When you switch tabs
One other thing to know is that a full sync (all items) only happens on startup. The rest of the syncs will be partial, only syncing certain items. For example, a ‘pull-to-refresh’ in the locations tab will only sync locations, not routes, nor rides.
Quote from macuaig on 26.08.2021, 08:22So yes, so closing/restarting the other device is needed to match everything. Syncing one data type at a time just creates problems and shouldn’t be a requirement. Is it possible to make a refresh button that does a full sync without restarting?
So yes, so closing/restarting the other device is needed to match everything. Syncing one data type at a time just creates problems and shouldn’t be a requirement. Is it possible to make a refresh button that does a full sync without restarting?
Quote from Guido on 26.08.2021, 08:33Scenic 3 will have some improvements to the syncing mechanism. Syncing the one data type at a time is to reduce load on the servers / database.
Scenic 3 will have some improvements to the syncing mechanism. Syncing the one data type at a time is to reduce load on the servers / database.



