diff --git a/res/css/views/auth/_AuthBody.scss b/res/css/views/auth/_AuthBody.scss
index 468a4b3d62..4b2d6b1bf1 100644
--- a/res/css/views/auth/_AuthBody.scss
+++ b/res/css/views/auth/_AuthBody.scss
@@ -119,6 +119,24 @@ limitations under the License.
margin-right: 0;
}
+.mx_AuthBody_paddedFooter {
+ height: 80px; // height of the submit button + register link
+ padding-top: 28px;
+ text-align: center;
+
+ .mx_AuthBody_paddedFooter_title {
+ margin-top: 16px;
+ font-size: $font-15px;
+ line-height: $font-24px;
+ }
+
+ .mx_AuthBody_paddedFooter_subtitle {
+ margin-top: 8px;
+ font-size: $font-10px;
+ line-height: $font-14px;
+ }
+}
+
.mx_AuthBody_changeFlow {
display: block;
text-align: center;
diff --git a/src/components/structures/MatrixChat.js b/src/components/structures/MatrixChat.js
index da416142f8..61b72f650b 100644
--- a/src/components/structures/MatrixChat.js
+++ b/src/components/structures/MatrixChat.js
@@ -1906,23 +1906,12 @@ export default createReactClass({
this._onLoggedIn();
}
- // Test for the master cross-signing key in SSSS as a quick proxy for
- // whether cross-signing has been set up on the account. We can't
- // really continue until we know whether it's there or not so retry
- // if this fails.
- let masterKeyInStorage;
- while (masterKeyInStorage === undefined) {
- try {
- masterKeyInStorage = !!await cli.getAccountDataFromServer("m.cross_signing.master");
- } catch (e) {
- if (e.errcode === "M_NOT_FOUND") {
- masterKeyInStorage = false;
- } else {
- console.warn("Secret storage account data check failed: retrying...", e);
- }
- }
- }
+ this.setState({ pendingInitialSync: true });
+ await this.firstSyncPromise.promise;
+ // Test for the master cross-signing key in SSSS as a quick proxy for
+ // whether cross-signing has been set up on the account.
+ const masterKeyInStorage = !!cli.getAccountData("m.cross_signing.master");
if (masterKeyInStorage) {
// Auto-enable cross-signing for the new session when key found in
// secret storage.
@@ -1939,6 +1928,7 @@ export default createReactClass({
} else {
this._onLoggedIn();
}
+ this.setState({ pendingInitialSync: false });
return setLoggedInPromise;
},
@@ -2060,6 +2050,7 @@ export default createReactClass({
const Login = sdk.getComponent('structures.auth.Login');
view = (