Use lazy loading instead of initial sync for rooms and messages
Currently we're loading the list of rooms and the initial messages from the server in an initial sync that takes much time. We can try to use lazy loading to speed up the app startup and request data as we need it.
The first step should be to get the list of rooms using the joined_rooms API instead of the rooms in the initial sync event.
The second step should be to reduce the number of room messages for the initial sync to zero and load room messages when we enter in a room and there's no sufficient messages or in the following sync, as usual.
Here we've more documentation about this issue: