Add a timeout timer for initial sync (#223, #222)

Show a better message on the login screen after an initial sync failure.
This commit is contained in:
Konstantinos Sideris 2018-02-08 19:07:58 +02:00
parent 54582cab3a
commit b60554b8fd
4 changed files with 51 additions and 30 deletions

View file

@ -127,6 +127,8 @@ private:
template<class Collection>
void updateUserMetadata(const std::vector<Collection> &collection);
void retryInitialSync();
QHBoxLayout *topLayout_;
Splitter *splitter;
@ -156,6 +158,7 @@ private:
QTimer *showContentTimer_;
QTimer *consensusTimer_;
QTimer *syncTimeoutTimer_;
QTimer *initialSyncTimer_;
QString current_room_;
QString current_community_;
@ -191,7 +194,7 @@ private:
// If the number of failures exceeds a certain threshold we
// return to the login page.
int initialSyncFailures = 0;
int initialSyncFailures_ = 0;
};
template<class Collection>

View file

@ -129,7 +129,7 @@ signals:
void getOwnProfileResponse(const QUrl &avatar_url, const QString &display_name);
void getOwnCommunitiesResponse(const QList<QString> &own_communities);
void initialSyncCompleted(const mtx::responses::Sync &response);
void initialSyncFailed(const QString &msg);
void initialSyncFailed();
void syncCompleted(const mtx::responses::Sync &response);
void syncFailed(const QString &msg);
void joinFailed(const QString &msg);