Log exceptions from accessSecretStorage
Rather than ignoring everything assuming the user cancelled
This commit is contained in:
parent
68b2454920
commit
26c9b64c3b
2 changed files with 11 additions and 2 deletions
|
@ -29,6 +29,12 @@ import { _t } from './languageHandler';
|
||||||
let secretStorageKeys = {};
|
let secretStorageKeys = {};
|
||||||
let cachingAllowed = false;
|
let cachingAllowed = false;
|
||||||
|
|
||||||
|
export class AccessCancelledError extends Error {
|
||||||
|
constructor() {
|
||||||
|
super("Secret storage access canceled");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
async function getSecretStorageKey({ keys: keyInfos }) {
|
async function getSecretStorageKey({ keys: keyInfos }) {
|
||||||
const keyInfoEntries = Object.entries(keyInfos);
|
const keyInfoEntries = Object.entries(keyInfos);
|
||||||
if (keyInfoEntries.length > 1) {
|
if (keyInfoEntries.length > 1) {
|
||||||
|
@ -66,7 +72,7 @@ async function getSecretStorageKey({ keys: keyInfos }) {
|
||||||
);
|
);
|
||||||
const [input] = await finished;
|
const [input] = await finished;
|
||||||
if (!input) {
|
if (!input) {
|
||||||
throw new Error("Secret storage access canceled");
|
throw new AccessCancelledError();
|
||||||
}
|
}
|
||||||
const key = await inputToKey(input);
|
const key = await inputToKey(input);
|
||||||
|
|
||||||
|
|
|
@ -19,7 +19,7 @@ import PropTypes from 'prop-types';
|
||||||
import { _t } from '../../../languageHandler';
|
import { _t } from '../../../languageHandler';
|
||||||
import * as sdk from '../../../index';
|
import * as sdk from '../../../index';
|
||||||
import { MatrixClientPeg } from '../../../MatrixClientPeg';
|
import { MatrixClientPeg } from '../../../MatrixClientPeg';
|
||||||
import { accessSecretStorage } from '../../../CrossSigningManager';
|
import { accessSecretStorage, AccessCancelledError } from '../../../CrossSigningManager';
|
||||||
|
|
||||||
const PHASE_INTRO = 0;
|
const PHASE_INTRO = 0;
|
||||||
const PHASE_BUSY = 1;
|
const PHASE_BUSY = 1;
|
||||||
|
@ -73,6 +73,9 @@ export default class CompleteSecurity extends React.Component {
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
|
if (!e instanceof AccessCancelledError) {
|
||||||
|
console.log(e);
|
||||||
|
}
|
||||||
// this will throw if the user hits cancel, so ignore
|
// this will throw if the user hits cancel, so ignore
|
||||||
this.setState({
|
this.setState({
|
||||||
phase: PHASE_INTRO,
|
phase: PHASE_INTRO,
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue