diff --git a/src/components/views/right_panel/UserInfo.js b/src/components/views/right_panel/UserInfo.js
index b87617c9d4..d3e8e81ebe 100644
--- a/src/components/views/right_panel/UserInfo.js
+++ b/src/components/views/right_panel/UserInfo.js
@@ -191,17 +191,29 @@ function DeviceItem({userId, device}) {
device.getDisplayName();
let trustedLabel = null;
if (userTrust.isVerified()) trustedLabel = isVerified ? _t("Trusted") : _t("Not trusted");
- return (
-
-
- {deviceName}
- {trustedLabel}
-
- );
+
+
+ if (isVerified) {
+ return (
+
+
+
{deviceName}
+
{trustedLabel}
+
+ );
+ } else {
+ return (
+
+
+ {deviceName}
+ {trustedLabel}
+
+ );
+ }
}
function DevicesSection({devices, userId, loading}) {
diff --git a/src/verification.js b/src/verification.js
index ca839940e5..ed56b0e7ef 100644
--- a/src/verification.js
+++ b/src/verification.js
@@ -23,6 +23,7 @@ import {RIGHT_PANEL_PHASES} from "./stores/RightPanelStorePhases";
import {findDMForUser} from './createRoom';
import {accessSecretStorage} from './CrossSigningManager';
import SettingsStore from './settings/SettingsStore';
+import NewSessionReviewDialog from './components/views/dialogs/NewSessionReviewDialog';
import {verificationMethods} from 'matrix-js-sdk/src/crypto';
async function enable4SIfNeeded() {
@@ -68,33 +69,41 @@ export async function verifyDevice(user, device) {
return;
}
}
- Modal.createTrackedDialog("Verification warning", "unverified session", UntrustedDeviceDialog, {
- user,
- device,
- onFinished: async (action) => {
- if (action === "sas") {
- const verificationRequestPromise = cli.legacyDeviceVerification(
- user.userId,
- device.deviceId,
- verificationMethods.SAS,
- );
- dis.dispatch({
- action: "set_right_panel_phase",
- phase: RIGHT_PANEL_PHASES.EncryptionPanel,
- refireParams: {member: user, verificationRequestPromise},
- });
- } else if (action === "legacy") {
- const ManualDeviceKeyVerificationDialog = sdk.getComponent("dialogs.ManualDeviceKeyVerificationDialog");
- Modal.createTrackedDialog("Legacy verify session", "legacy verify session",
- ManualDeviceKeyVerificationDialog,
- {
- userId: user.userId,
- device,
- },
- );
- }
- },
- });
+
+ 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, {
+ user,
+ device,
+ onFinished: async (action) => {
+ if (action === "sas") {
+ const verificationRequestPromise = cli.legacyDeviceVerification(
+ user.userId,
+ device.deviceId,
+ verificationMethods.SAS,
+ );
+ dis.dispatch({
+ action: "set_right_panel_phase",
+ phase: RIGHT_PANEL_PHASES.EncryptionPanel,
+ refireParams: {member: user, verificationRequestPromise},
+ });
+ } else if (action === "legacy") {
+ const ManualDeviceKeyVerificationDialog = sdk.getComponent("dialogs.ManualDeviceKeyVerificationDialog");
+ Modal.createTrackedDialog("Legacy verify session", "legacy verify session",
+ ManualDeviceKeyVerificationDialog,
+ {
+ userId: user.userId,
+ device,
+ },
+ );
+ }
+ },
+ });
+ }
}
export async function legacyVerifyUser(user) {