How can I listen to sync state for Flutter SDK?

Hi @lHengl, Thanks for your interest to Ream Sync.
onProgressCallback occurs only while Realm.open is working. Once the Realm.open completes this event handler is dettached. You can be sure that the realm is fully synced after Realm.open completes.
If you want to be sure at any time that the realm is fully synced you can wait waitForUpload() and waitForDownload() to complete before to do your work.

 await realm.syncSession.waitForUpload();
 await realm.syncSession.waitForDownload();

If you don’t have internet connection these methods will continue to wait until the connection becomes available and then they will complete.

If you want to be sure that the syncing is not in progress while you are doing your work you can use “pause” to stop syncing:

realm.syncSession.pause();

And then after you finish the work call “resume” to allow syncing:

realm.syncSession.resume();

I hope this answer is useful for your scenario.
If not, feel free to write!