1
0
mirror of https://github.com/matrix-org/matrix-react-sdk.git synced 2025-11-22 04:02:40 +03:00

Merge pull request #4291 from matrix-org/bwindels/fixcantdismissdevicetoast

Fix: can't dismiss unverified session toast when encryption hasn't been upgraded
This commit is contained in:
J. Ryan Stinnett
2020-03-27 16:14:58 +00:00
committed by GitHub

View File

@@ -119,12 +119,10 @@ export default class DeviceListener {
const crossSigningReady = await cli.isCrossSigningReady();
if (!crossSigningReady) {
if (this._dismissedThisDeviceToast) {
ToastStore.sharedInstance().dismissToast(THIS_DEVICE_TOAST_KEY);
return;
}
} else {
if (!crossSigningReady) {
// cross signing isn't enabled - nag to enable it
// There are 3 different toasts for:
if (cli.getStoredCrossSigningForUser(cli.getUserId())) {
@@ -160,11 +158,6 @@ export default class DeviceListener {
}
return;
} else if (await cli.secretStorageKeyNeedsUpgrade()) {
if (this._dismissedThisDeviceToast) {
ToastStore.sharedInstance().dismissToast(THIS_DEVICE_TOAST_KEY);
return;
}
ToastStore.sharedInstance().addOrReplaceToast({
key: THIS_DEVICE_TOAST_KEY,
title: _t("Encryption upgrade available"),
@@ -172,10 +165,12 @@ export default class DeviceListener {
props: {kind: 'upgrade_ssss'},
component: sdk.getComponent("toasts.SetupEncryptionToast"),
});
} else {
ToastStore.sharedInstance().dismissToast(THIS_DEVICE_TOAST_KEY);
}
}
// as long as cross-signing isn't ready,
// you can't see or dismiss any device toasts
if (crossSigningReady) {
const newActiveToasts = new Set();
const devices = await cli.getStoredDevicesForUser(cli.getUserId());
@@ -205,3 +200,4 @@ export default class DeviceListener {
this._activeNagToasts = newActiveToasts;
}
}
}