"Synced" status on Android not always correct (especially after item delete)


Steps to reproduce

Delete an item in the Android app. Status goes from “Saved” to “Synced”, then close the app immediately.

Expected result

Item is deleted in Dynalist backend, so viewing on another client (after refreshing/resyncing) shows the item removed.

Actual result

Occasionally (not always) the item is not deleted on the backend, and it appears on other clients even after full Dynalist site refresh. I have to reopen the Dynalist app on my phone (despite it having said it was synced before closing it before) and wait a few seconds then the delete is pushed through.


Android Pie.

Additional comments

It seems that the “Synced” status is not properly tied to “ALL pending updates (i.e. inserts/deletes/updates/etc.) are flushed/acked”. When I reopen the app it knows that there is an outstanding delete that needs to be synced (as a few seconds after reopening the app it does get pushed up), however the status does not reflect this state and prematurely reports “Synced”.

I use the “Synced” status as an indicator it’s safe to close the app and all of my updates have been fully synced (hence why I made this: Custom CSS to show sync status on top bar in mobile app), so the fact that this is not always the case severely affects the mobile experience as I am forced to just leave the app open for 10 seconds after an update just to be fully sure it has synced.

Edits don’t get synced if I close the app too quickly (bug)

I think that’s the same issue as Edits don’t get synced if I close the app too quickly (bug)


This is a slightly different issue. The issue linked above is if you immediately close Dynalist on mobile, in which case you will only be in “Saved” state not yet “Synced”.

This issue is much more rare, and in my opinion is a bigger “bug” from a data integrity point of view as it says it’s “Synced” and yet it isn’t! It seems to be specifically related to deleting items as opposed to all types of edits.


Right. I think I’ve experienced both. This one happened only once or twice.