Description
This is essentially 2 requests wrapped in one;
Have initial sync (after logging in) not fail when there's a connection timeout
Context
I have a slow homeserver and an account with many rooms, and in this case it took 8 minutes for the sync request in synapse to complete.
Workaround
I opened a log for all of my homeserver threads and did grep "iPhone"
to see what the iphone was doing, then i kept killing and restarting the app to keep attaching to the "sync task", in synapse, any sync request thats a duplicate will keep awaiting on the same background task, and so i could "hot-potato" the sync request until it completed (and the app properly loaded).
Have initial sync (after logging in) provide a better context as to whats going on
Currently the initial sync shows no indication of whats going on, no text, only a spinning element logo, it'd help if it could show a "Performing Initial Synchronization..." text underneath it, which updates to "Loading Room Details..." (which it does after that sync), and then finishing with a completed homescreen look.
I say "completed", because in my case it took a few restarts of the app before it pulled in all room details, before that it only showed a subset.
It'd also help if the text on sync would show "this is taking longer than expected..." if it takes more than 30 seconds to sync.