From 5382a52519341da90191b31600684a9167d85858 Mon Sep 17 00:00:00 2001 From: Zoe Date: Tue, 11 Feb 2020 15:56:32 +0000 Subject: [PATCH 1/2] Fixed bug where key reset didn't always return the right key --- .../CreateSecretStorageDialog.js | 22 +++++++++++++------ .../views/settings/CrossSigningPanel.js | 5 ++--- src/i18n/strings/en_EN.json | 1 + 3 files changed, 18 insertions(+), 10 deletions(-) diff --git a/src/async-components/views/dialogs/secretstorage/CreateSecretStorageDialog.js b/src/async-components/views/dialogs/secretstorage/CreateSecretStorageDialog.js index db2f4c35cc..e3ff8b2143 100644 --- a/src/async-components/views/dialogs/secretstorage/CreateSecretStorageDialog.js +++ b/src/async-components/views/dialogs/secretstorage/CreateSecretStorageDialog.js @@ -225,13 +225,21 @@ export default class CreateSecretStorageDialog extends React.PureComponent { const { force } = this.props; try { - await cli.bootstrapSecretStorage({ - setupNewSecretStorage: force, - authUploadDeviceSigningKeys: this._doBootstrapUIAuth, - createSecretStorageKey: async () => this._keyInfo, - keyBackupInfo: this.state.backupInfo, - setupNewKeyBackup: force || !this.state.backupInfo && this.state.useKeyBackup, - }); + if (!force) { + await cli.bootstrapSecretStorage({ + authUploadDeviceSigningKeys: this._doBootstrapUIAuth, + createSecretStorageKey: async () => this._keyInfo, + keyBackupInfo: this.state.backupInfo, + setupNewKeyBackup: !this.state.backupInfo && this.state.useKeyBackup, + }); + } else { + await cli.bootstrapSecretStorage({ + authUploadDeviceSigningKeys: this._doBootstrapUIAuth, + createSecretStorageKey: async () => this._keyInfo, + setupNewKeyBackup: true, + setupNewSecretStorage: true, + }); + } this.setState({ phase: PHASE_DONE, }); diff --git a/src/components/views/settings/CrossSigningPanel.js b/src/components/views/settings/CrossSigningPanel.js index b39ed4808b..eeccaa61e1 100644 --- a/src/components/views/settings/CrossSigningPanel.js +++ b/src/components/views/settings/CrossSigningPanel.js @@ -103,7 +103,6 @@ export default class CrossSigningPanel extends React.PureComponent { onDestroyStorage = (act) => { if (!act) return; - console.log("Destroy secret storage:", act); this._bootstrapSecureSecretStorage(true); } @@ -157,13 +156,13 @@ export default class CrossSigningPanel extends React.PureComponent { {_t("Bootstrap cross-signing and secret storage")} ; - } /*else { // TODO https://github.com/vector-im/riot-web/issues/12221 + } else { bootstrapButton =
{_t("Reset cross-signing and secret storage")}
; - }*/ + } return (
diff --git a/src/i18n/strings/en_EN.json b/src/i18n/strings/en_EN.json index 5b28a58878..7a8642be95 100644 --- a/src/i18n/strings/en_EN.json +++ b/src/i18n/strings/en_EN.json @@ -565,6 +565,7 @@ "Your account has a cross-signing identity in secret storage, but it is not yet trusted by this session.": "Your account has a cross-signing identity in secret storage, but it is not yet trusted by this session.", "Cross-signing and secret storage are not yet set up.": "Cross-signing and secret storage are not yet set up.", "Bootstrap cross-signing and secret storage": "Bootstrap cross-signing and secret storage", + "Reset cross-signing and secret storage": "Reset cross-signing and secret storage", "Cross-signing public keys:": "Cross-signing public keys:", "in memory": "in memory", "not found": "not found", From c8e65bfa6597e280dda40dbb3c0b42b9a74a50fb Mon Sep 17 00:00:00 2001 From: Zoe Date: Tue, 11 Feb 2020 17:56:25 +0000 Subject: [PATCH 2/2] flip sense of 'force' flag in if statement --- .../secretstorage/CreateSecretStorageDialog.js | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/src/async-components/views/dialogs/secretstorage/CreateSecretStorageDialog.js b/src/async-components/views/dialogs/secretstorage/CreateSecretStorageDialog.js index e3ff8b2143..84b94ab64c 100644 --- a/src/async-components/views/dialogs/secretstorage/CreateSecretStorageDialog.js +++ b/src/async-components/views/dialogs/secretstorage/CreateSecretStorageDialog.js @@ -225,20 +225,20 @@ export default class CreateSecretStorageDialog extends React.PureComponent { const { force } = this.props; try { - if (!force) { - await cli.bootstrapSecretStorage({ - authUploadDeviceSigningKeys: this._doBootstrapUIAuth, - createSecretStorageKey: async () => this._keyInfo, - keyBackupInfo: this.state.backupInfo, - setupNewKeyBackup: !this.state.backupInfo && this.state.useKeyBackup, - }); - } else { + if (force) { await cli.bootstrapSecretStorage({ authUploadDeviceSigningKeys: this._doBootstrapUIAuth, createSecretStorageKey: async () => this._keyInfo, setupNewKeyBackup: true, setupNewSecretStorage: true, }); + } else { + await cli.bootstrapSecretStorage({ + authUploadDeviceSigningKeys: this._doBootstrapUIAuth, + createSecretStorageKey: async () => this._keyInfo, + keyBackupInfo: this.state.backupInfo, + setupNewKeyBackup: !this.state.backupInfo && this.state.useKeyBackup, + }); } this.setState({ phase: PHASE_DONE,