Use the New Session review dialog for verifying our own devices

This commit is contained in:
David Baker 2020-04-27 20:31:14 +01:00
parent 0edb80e541
commit 996f8af365
2 changed files with 59 additions and 38 deletions

View file

@ -191,6 +191,17 @@ function DeviceItem({userId, device}) {
device.getDisplayName(); device.getDisplayName();
let trustedLabel = null; let trustedLabel = null;
if (userTrust.isVerified()) trustedLabel = isVerified ? _t("Trusted") : _t("Not trusted"); if (userTrust.isVerified()) trustedLabel = isVerified ? _t("Trusted") : _t("Not trusted");
if (isVerified) {
return (
<div className={classes} title={device.deviceId} >
<div className={iconClasses} />
<div className="mx_UserInfo_device_name">{deviceName}</div>
<div className="mx_UserInfo_device_trusted">{trustedLabel}</div>
</div>
);
} else {
return ( return (
<AccessibleButton <AccessibleButton
className={classes} className={classes}
@ -203,6 +214,7 @@ function DeviceItem({userId, device}) {
</AccessibleButton> </AccessibleButton>
); );
} }
}
function DevicesSection({devices, userId, loading}) { function DevicesSection({devices, userId, loading}) {
const Spinner = sdk.getComponent("elements.Spinner"); const Spinner = sdk.getComponent("elements.Spinner");

View file

@ -23,6 +23,7 @@ import {RIGHT_PANEL_PHASES} from "./stores/RightPanelStorePhases";
import {findDMForUser} from './createRoom'; import {findDMForUser} from './createRoom';
import {accessSecretStorage} from './CrossSigningManager'; import {accessSecretStorage} from './CrossSigningManager';
import SettingsStore from './settings/SettingsStore'; import SettingsStore from './settings/SettingsStore';
import NewSessionReviewDialog from './components/views/dialogs/NewSessionReviewDialog';
import {verificationMethods} from 'matrix-js-sdk/src/crypto'; import {verificationMethods} from 'matrix-js-sdk/src/crypto';
async function enable4SIfNeeded() { async function enable4SIfNeeded() {
@ -68,6 +69,13 @@ export async function verifyDevice(user, device) {
return; return;
} }
} }
if (user.userId === cli.getUserId()) {
Modal.createTrackedDialog('New Session Review', 'Starting dialog', NewSessionReviewDialog, {
userId: user.userId,
device,
});
} else {
Modal.createTrackedDialog("Verification warning", "unverified session", UntrustedDeviceDialog, { Modal.createTrackedDialog("Verification warning", "unverified session", UntrustedDeviceDialog, {
user, user,
device, device,
@ -96,6 +104,7 @@ export async function verifyDevice(user, device) {
}, },
}); });
} }
}
export async function legacyVerifyUser(user) { export async function legacyVerifyUser(user) {
const cli = MatrixClientPeg.get(); const cli = MatrixClientPeg.get();