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

Retry the request for the master key from SSSS on login
This commit is contained in:
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

View File

@ -1907,13 +1907,19 @@ export default createReactClass({
}
// Test for the master cross-signing key in SSSS as a quick proxy for
// whether cross-signing has been set up on the account.
let masterKeyInStorage = false;
try {
masterKeyInStorage = !!await cli.getAccountDataFromServer("m.cross_signing.master");
} catch (e) {
if (e.errcode !== "M_NOT_FOUND") {
console.warn("Secret storage account data check failed", e);
// 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);
}
}
}