(Swift) Allow offline start of Flexible Sync with Download Before Open enabled

I am working on a multiplatform app using flexible sync. We support both online and offline usage, but always take an offline first approach.
We are seeing some perfomance hiccups and bugs when launching the app for users using it on more than 1 device, and it’s entirely related to the device starting the app receving the changes made in the cloud (made through another device the user ran the app on)
This can be entirely avoided by using some variation of waiting to download the initial changes before granting the user access, which from my combing of the documentation can be achieved in more than one way (realm init with downloadBeforeOpen: .always, progress notifications, syncSession.wait(for: .download) etc.)

All of the methods i tried above work exactly as expected when the user has a connection.
None of them work when the user does not have a connection.

I noticed that the documentation here specifies that “You can only open a synced realm offline if you do not require your client app to always download changes before opening the realm.”

Is this still the case? If so, is there a supported / intended way to achieve the behaviour i am looking for, or does it fall on me to check client data connection and initialise realm differently based on that?

1 Like