Log exceptions from accessSecretStorage

Rather than ignoring everything assuming the user cancelled
pull/21833/head
David Baker 2020-01-31 10:35:05 +00:00
parent 68b2454920
commit 26c9b64c3b
2 changed files with 11 additions and 2 deletions

View File

@ -29,6 +29,12 @@ import { _t } from './languageHandler';
let secretStorageKeys = {};
let cachingAllowed = false;
export class AccessCancelledError extends Error {
constructor() {
super("Secret storage access canceled");
}
}
async function getSecretStorageKey({ keys: keyInfos }) {
const keyInfoEntries = Object.entries(keyInfos);
if (keyInfoEntries.length > 1) {
@ -66,7 +72,7 @@ async function getSecretStorageKey({ keys: keyInfos }) {
);
const [input] = await finished;
if (!input) {
throw new Error("Secret storage access canceled");
throw new AccessCancelledError();
}
const key = await inputToKey(input);

View File

@ -19,7 +19,7 @@ import PropTypes from 'prop-types';
import { _t } from '../../../languageHandler';
import * as sdk from '../../../index';
import { MatrixClientPeg } from '../../../MatrixClientPeg';
import { accessSecretStorage } from '../../../CrossSigningManager';
import { accessSecretStorage, AccessCancelledError } from '../../../CrossSigningManager';
const PHASE_INTRO = 0;
const PHASE_BUSY = 1;
@ -73,6 +73,9 @@ export default class CompleteSecurity extends React.Component {
});
}
} catch (e) {
if (!e instanceof AccessCancelledError) {
console.log(e);
}
// this will throw if the user hits cancel, so ignore
this.setState({
phase: PHASE_INTRO,