When the app starts up, it checks the servers to see if some objects (sessions, custom exercises, etc.) have been created or modified by another device that uses the same account. If that's the case, it updates the local data, so that all devices of a specific user show the same data.
If the app is already running, no syncing takes place, unless the user goes to the Profile Settings page, and click on "Sync between my devices". This syncs only the sessions. We should add Custom exercises and Custom Flows to the manual syncing process.
We might also want to automatically sync when the app comes back in the foreground after a little while.