Oof, my sympathies re: the rant! That’s a lot of hours. If there’s something we can do from a documentation or example standpoint to help with that, let me know! I mostly keep an eye on the forums to see where there are places we can improve our documentation, but I’m also happy to take feedback back to the product team. I’m sorry it feels like you haven’t gotten any benefit from migrating. We do have new stuff in the pipeline and are always adding things, so hopefully something in the future will make it all feel worthwhile to you.
Regarding synced realms working locally without a connection - yes, absolutely, sync is designed to handle network connectivity losses gracefully. We offer the
.suspend() in some of the other SDKs) method as a convenience method to manage communication between the client and server for a specific realm. It’s intended for temporarily pausing sync within a sync session. But this is for realm files that you want to have syncing to the server regularly; these are realms that need access to the most recent data from the server.
What you’re describing for your app is business logic that dictates whether a user should have a local or a synced realm. In your case, the non-subscribing user’s realm shouldn’t try to communicate with the server at all; they should be using a local-only realm. It never tries to call out to the server; it only does the CRUD locally.
I’m looking at the documentation right now to see where we describe these differences, and it looks like we could definitely improve that. Sorry for any confusion about these concepts! I’ll put in a ticket to work on that.
Regarding copying from the local realm to a synced realm, I spoke with the product team, and there’s not currently an out-of-the-box feature/API for that. But that would definitely make this flow easier to understand and implement. We’ve got a feedback engine, and I’d encourage you to suggest this feature (or anything else you’d like to see!) so our product team knows to prioritize it based on developer requests: https://feedback.mongodb.com/forums/923521-realm/