Fix NPE in RoomRecoveryReminder

Also fix a bug introduced in
https://github.com/matrix-org/matrix-react-sdk/pull/2506
where I failed to set the button caption in one case.

Fixes https://github.com/vector-im/riot-web/issues/8216
This commit is contained in:
David Baker 2019-01-25 17:49:02 +00:00
parent 1b5be8603c
commit de9b964490

View file

@ -62,7 +62,7 @@ export default class RoomRecoveryReminder extends React.PureComponent {
let unverifiedDevice; let unverifiedDevice;
for (const sig of backupSigStatus.sigs) { for (const sig of backupSigStatus.sigs) {
if (!sig.device.isVerified()) { if (sig.device && !sig.device.isVerified()) {
unverifiedDevice = sig.device; unverifiedDevice = sig.device;
break; break;
} }
@ -133,12 +133,11 @@ export default class RoomRecoveryReminder extends React.PureComponent {
const AccessibleButton = sdk.getComponent("views.elements.AccessibleButton"); const AccessibleButton = sdk.getComponent("views.elements.AccessibleButton");
let body; let body;
let primaryCaption; let primaryCaption = _t("Set up");
if (this.state.error) { if (this.state.error) {
body = <div className="error"> body = <div className="error">
{_t("Unable to load key backup status")} {_t("Unable to load key backup status")}
</div>; </div>;
primaryCaption = _t("Set up");
} else if (this.state.unverifiedDevice) { } else if (this.state.unverifiedDevice) {
// A key backup exists for this account, but the creating device is not // A key backup exists for this account, but the creating device is not
// verified. // verified.