Document how to properly setup a sync for encryption to work.
Document that client users need to make sure that the room state is synced for encryption to work.
There are multiple ways that this needs to be handled depending on the other sync settings (e.g. member lazy loading).
I would be very interested in this. If you point me to some example code (for example another project using matrix-nio for this) I would gladly improve the documentation.
We have two cases depending on if lazy loading is used, in all cases the first sync needs to be done using `full_state=True.
If lazy loading is used you'll need to additionally make sure that the full member list is fetched for a room before sending a message in that room. client.joined_members(room_id) can be used for that.
Pantalaimon is a project that uses nio and encryption.
PS: Thanks for doing this. :)