mirror of https://github.com/vector-im/riot-web
Adjust secret storage to work before sync
This adjusts to changed JS SDK APIs that allow secret storage to optionally ask the server for any account data needed at login. Fixes https://github.com/vector-im/riot-web/issues/11901pull/21833/head
parent
e88f062f01
commit
4a82e86859
|
@ -107,7 +107,7 @@ export async function accessSecretStorage(func = async () => { }) {
|
||||||
cachingAllowed = true;
|
cachingAllowed = true;
|
||||||
|
|
||||||
try {
|
try {
|
||||||
if (!cli.hasSecretStorageKey()) {
|
if (!await cli.hasSecretStorageKey()) {
|
||||||
// This dialog calls bootstrap itself after guiding the user through
|
// This dialog calls bootstrap itself after guiding the user through
|
||||||
// passphrase creation.
|
// passphrase creation.
|
||||||
const { finished } = Modal.createTrackedDialogAsync('Create Secret Storage dialog', '',
|
const { finished } = Modal.createTrackedDialogAsync('Create Secret Storage dialog', '',
|
||||||
|
|
|
@ -60,14 +60,14 @@ export default class CrossSigningPanel extends React.PureComponent {
|
||||||
this.setState(this._getUpdatedStatus());
|
this.setState(this._getUpdatedStatus());
|
||||||
};
|
};
|
||||||
|
|
||||||
_getUpdatedStatus() {
|
async _getUpdatedStatus() {
|
||||||
// XXX: Add public accessors if we keep this around in production
|
// XXX: Add public accessors if we keep this around in production
|
||||||
const cli = MatrixClientPeg.get();
|
const cli = MatrixClientPeg.get();
|
||||||
const crossSigning = cli._crypto._crossSigningInfo;
|
const crossSigning = cli._crypto._crossSigningInfo;
|
||||||
const secretStorage = cli._crypto._secretStorage;
|
const secretStorage = cli._crypto._secretStorage;
|
||||||
const crossSigningPublicKeysOnDevice = crossSigning.getId();
|
const crossSigningPublicKeysOnDevice = crossSigning.getId();
|
||||||
const crossSigningPrivateKeysInStorage = crossSigning.isStoredInSecretStorage(secretStorage);
|
const crossSigningPrivateKeysInStorage = await crossSigning.isStoredInSecretStorage(secretStorage);
|
||||||
const secretStorageKeyInAccount = secretStorage.hasKey();
|
const secretStorageKeyInAccount = await secretStorage.hasKey();
|
||||||
|
|
||||||
return {
|
return {
|
||||||
crossSigningPublicKeysOnDevice,
|
crossSigningPublicKeysOnDevice,
|
||||||
|
|
Loading…
Reference in New Issue