If you are just trying to allow offline use, then any data in the subscription when the device goes offline is there and usable / editable while offline as long as the user doesn’t refresh the browser. This most likely has limits of course based on OS and browser, but, once the app reconnects to the backend, it will sync the changes it has to the database.
That said, I’ve only done this in development mode, and only by myself. I can’t verify if the changes from multiple users will sync properly, or overwrite other user’s changes regardless of timestamp, so that would be something to check.
Maybe that’s not what you’re trying to accomplish. But, if it is, and you don’t need all of that data to be offline, I would really suggest limiting the subscription of the data through what you publish (basically set a filter on your publication so as not to publish alllll of it if possible).
For example, I have a field on an app where my user starts to type an address. My address collection has 100,000’s of addresses in it, but I take the characters as they type and feed that data to my publication which then publishes only 20 potential matches to what’s been typed so far. This makes the page load much faster, and makes the app far more responsive.
This wouldn’t work great for offline use however, because I never know which of the addresses they may need, but I allow them to free-type an address if needed.