Merge pull request #4371 from matrix-org/dbkr/retry_master_key_fetch

Retry the request for the master key from SSSS on login
pull/21833/head
David Baker 2020-04-09 14:20:36 +01:00 committed by GitHub
commit 928d4acd31
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 13 additions and 7 deletions

View File

@ -1907,13 +1907,19 @@ export default createReactClass({
} }
// Test for the master cross-signing key in SSSS as a quick proxy for // Test for the master cross-signing key in SSSS as a quick proxy for
// whether cross-signing has been set up on the account. // whether cross-signing has been set up on the account. We can't
let masterKeyInStorage = false; // really continue until we know whether it's there or not so retry
try { // if this fails.
masterKeyInStorage = !!await cli.getAccountDataFromServer("m.cross_signing.master"); let masterKeyInStorage;
} catch (e) { while (masterKeyInStorage === undefined) {
if (e.errcode !== "M_NOT_FOUND") { try {
console.warn("Secret storage account data check failed", e); 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);
}
} }
} }