Educating users is a prerequisite I use for clients that choose appsheet, knowing the offline behavior and importance thereof is vital in choosing whether enable offline use is allowed, then for desktop users, understanding that sync mechanism is vital. Even presenting that message as part of the onboarding screen with some clients.
In a case whereby this occurs, recovery mode is available for mobile users however the system clearly indicates its not available in desktop mode (therefor critical for users to check their sync mechanism regularly)
There is no built-in way to discover a sync failure or to prevent updates from accumulating.
I’ve never addressed this problem myself, but you may be able to add a guard against it yourself. Virtual columns are only recomputed under the following situations:
When the row it’s a part of changes.
When a value it uses changes.
When a sync occurs.
If you create a table (called This App, e.g.) that has (at least) one row, that never changes, that has a virtual column (called Last Sync, e.g.) with the expression, NOW(), that virtual column value will only ever be recomputed when a sync occurs. You can then make decisions in the app based on how long it’s been since the last sync. For instance, you could make any table read-only if the app hasn’t synced in the last hour with an Are updates allowed expression like this:
You need only one table (with only one row, only one physical column, and only one virtual column) to track the last sync time of the entire app. When the app syncs, all tables sync, so if you know the app synced, you know all tables have synced.
You would not. Sync errors are client-side, audit errors are server-side.
I’m being lazy by asking without experimenting first, but can you think of a way to have the app maybe change its styling, or make a message visible, when it detects it hasn’t synced for a period of time? Like maybe the whole app gets a coloured border, or background colour changes.. or if there was a notification panel, it appears and spells out “the app hasn’t synced in a while…”