Merge pull request #2577 from matrix-org/dbkr/backup_dont_fail_if_no_keys
Key Backup: Don't fail if no keys
This commit is contained in:
commit
f517928d76
2 changed files with 27 additions and 7 deletions
|
@ -21,6 +21,9 @@ import Modal from '../../../../Modal';
|
||||||
|
|
||||||
import { _t } from '../../../../languageHandler';
|
import { _t } from '../../../../languageHandler';
|
||||||
|
|
||||||
|
const RESTORE_TYPE_PASSPHRASE = 0;
|
||||||
|
const RESTORE_TYPE_RECOVERYKEY = 1;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Dialog for restoring e2e keys from a backup and the user's recovery key
|
* Dialog for restoring e2e keys from a backup and the user's recovery key
|
||||||
*/
|
*/
|
||||||
|
@ -36,6 +39,7 @@ export default React.createClass({
|
||||||
recoveryKeyValid: false,
|
recoveryKeyValid: false,
|
||||||
forceRecoveryKey: false,
|
forceRecoveryKey: false,
|
||||||
passPhrase: '',
|
passPhrase: '',
|
||||||
|
restoreType: null,
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
|
|
||||||
|
@ -80,6 +84,7 @@ export default React.createClass({
|
||||||
this.setState({
|
this.setState({
|
||||||
loading: true,
|
loading: true,
|
||||||
restoreError: null,
|
restoreError: null,
|
||||||
|
restoreType: RESTORE_TYPE_PASSPHRASE,
|
||||||
});
|
});
|
||||||
try {
|
try {
|
||||||
const recoverInfo = await MatrixClientPeg.get().restoreKeyBackupWithPassword(
|
const recoverInfo = await MatrixClientPeg.get().restoreKeyBackupWithPassword(
|
||||||
|
@ -102,6 +107,7 @@ export default React.createClass({
|
||||||
this.setState({
|
this.setState({
|
||||||
loading: true,
|
loading: true,
|
||||||
restoreError: null,
|
restoreError: null,
|
||||||
|
restoreType: RESTORE_TYPE_PASSPHRASE,
|
||||||
});
|
});
|
||||||
try {
|
try {
|
||||||
const recoverInfo = await MatrixClientPeg.get().restoreKeyBackupWithRecoveryKey(
|
const recoverInfo = await MatrixClientPeg.get().restoreKeyBackupWithRecoveryKey(
|
||||||
|
@ -184,14 +190,27 @@ export default React.createClass({
|
||||||
} else if (this.state.backupInfo === null) {
|
} else if (this.state.backupInfo === null) {
|
||||||
title = _t("Error");
|
title = _t("Error");
|
||||||
content = _t("No backup found!");
|
content = _t("No backup found!");
|
||||||
} else if (this.state.recoverInfo && this.state.recoverInfo.imported === 0) {
|
} else if (
|
||||||
|
this.state.recoverInfo &&
|
||||||
|
this.state.recoverInfo.imported === 0 &&
|
||||||
|
this.state.recoverInfo.total > 0
|
||||||
|
) {
|
||||||
title = _t("Error Restoring Backup");
|
title = _t("Error Restoring Backup");
|
||||||
|
if (this.state.restoreType === RESTORE_TYPE_RECOVERYKEY) {
|
||||||
content = <div>
|
content = <div>
|
||||||
<p>{_t(
|
<p>{_t(
|
||||||
"Backup could not be decrypted with this key: " +
|
"Backup could not be decrypted with this key: " +
|
||||||
"please verify that you entered the correct recovery key.",
|
"please verify that you entered the correct recovery key.",
|
||||||
)}</p>
|
)}</p>
|
||||||
</div>;
|
</div>;
|
||||||
|
} else {
|
||||||
|
content = <div>
|
||||||
|
<p>{_t(
|
||||||
|
"Backup could not be decrypted with this passphrase: " +
|
||||||
|
"please verify that you entered the correct recovery passphrase.",
|
||||||
|
)}</p>
|
||||||
|
</div>;
|
||||||
|
}
|
||||||
} else if (this.state.recoverInfo) {
|
} else if (this.state.recoverInfo) {
|
||||||
title = _t("Backup Restored");
|
title = _t("Backup Restored");
|
||||||
let failedToDecrypt;
|
let failedToDecrypt;
|
||||||
|
|
|
@ -1098,6 +1098,7 @@
|
||||||
"No backup found!": "No backup found!",
|
"No backup found!": "No backup found!",
|
||||||
"Error Restoring Backup": "Error Restoring Backup",
|
"Error Restoring Backup": "Error Restoring Backup",
|
||||||
"Backup could not be decrypted with this key: please verify that you entered the correct recovery key.": "Backup could not be decrypted with this key: please verify that you entered the correct recovery key.",
|
"Backup could not be decrypted with this key: please verify that you entered the correct recovery key.": "Backup could not be decrypted with this key: please verify that you entered the correct recovery key.",
|
||||||
|
"Backup could not be decrypted with this passphrase: please verify that you entered the correct recovery passphrase.": "Backup could not be decrypted with this passphrase: please verify that you entered the correct recovery passphrase.",
|
||||||
"Backup Restored": "Backup Restored",
|
"Backup Restored": "Backup Restored",
|
||||||
"Failed to decrypt %(failedCount)s sessions!": "Failed to decrypt %(failedCount)s sessions!",
|
"Failed to decrypt %(failedCount)s sessions!": "Failed to decrypt %(failedCount)s sessions!",
|
||||||
"Restored %(sessionCount)s session keys": "Restored %(sessionCount)s session keys",
|
"Restored %(sessionCount)s session keys": "Restored %(sessionCount)s session keys",
|
||||||
|
|
Loading…
Reference in a new issue