make device verification go over right panel (after showing dialog)
dialog should be more or less as in the designpull/21833/head
							parent
							
								
									e016cbefff
								
							
						
					
					
						commit
						5c89b41177
					
				|  | @ -42,6 +42,8 @@ import {textualPowerLevel} from '../../../Roles'; | |||
| import MatrixClientContext from "../../../contexts/MatrixClientContext"; | ||||
| import {RIGHT_PANEL_PHASES} from "../../../stores/RightPanelStorePhases"; | ||||
| import EncryptionPanel from "./EncryptionPanel"; | ||||
| import {verificationMethods} from 'matrix-js-sdk/src/crypto'; | ||||
| import {SCAN_QR_CODE_METHOD, SHOW_QR_CODE_METHOD} from "matrix-js-sdk/src/crypto/verification/QRCode"; | ||||
| 
 | ||||
| const _disambiguateDevices = (devices) => { | ||||
|     const names = Object.create(null); | ||||
|  | @ -135,12 +137,66 @@ function useIsEncrypted(cli, room) { | |||
|     return isEncrypted; | ||||
| } | ||||
| 
 | ||||
| function verifyDevice(userId, device) { | ||||
|     const DeviceVerifyDialog = sdk.getComponent('views.dialogs.DeviceVerifyDialog'); | ||||
|     Modal.createTrackedDialog('Device Verify Dialog', '', DeviceVerifyDialog, { | ||||
|         userId: userId, | ||||
|         device: device, | ||||
|     }, null, /* priority = */ false, /* static = */ true); | ||||
| async function verifyDevice(userId, device) { | ||||
|     const cli = MatrixClientPeg.get(); | ||||
|     const member = cli.getUser(userId); | ||||
|     const QuestionDialog = sdk.getComponent("dialogs.QuestionDialog"); | ||||
|     Modal.createTrackedDialog("Verification failed", "insecure", QuestionDialog, { | ||||
|         headerImage: require("../../../../res/img/e2e/warning.svg"), | ||||
|         title: _t("Not Trusted"), | ||||
|         description: <div> | ||||
|             <p>{_t("%(name)s (%(userId)s) signed in to a new session without verifying it:", {name: member.displayName, userId})}</p> | ||||
|             <p>{device.getDisplayName()} ({device.deviceId})</p> | ||||
|             <p>{_t("Ask this user to verify their session, or manually verify it below.")}</p> | ||||
|         </div>, | ||||
|         onFinished: async (doneClicked) => { | ||||
|             const manuallyVerifyClicked = !doneClicked; | ||||
|             if (!manuallyVerifyClicked) { | ||||
|                 return; | ||||
|             } | ||||
|             const cli = MatrixClientPeg.get(); | ||||
|             const verificationRequest = await cli.requestVerification( | ||||
|                 userId, | ||||
|                 [ | ||||
|                     verificationMethods.SAS, | ||||
|                     SHOW_QR_CODE_METHOD, | ||||
|                     SCAN_QR_CODE_METHOD, | ||||
|                     verificationMethods.RECIPROCATE_QR_CODE, | ||||
|                 ], | ||||
|                 [device.deviceId], | ||||
|             ); | ||||
|             dis.dispatch({ | ||||
|                 action: "set_right_panel_phase", | ||||
|                 phase: RIGHT_PANEL_PHASES.EncryptionPanel, | ||||
|                 refireParams: {member, verificationRequest}, | ||||
|             }); | ||||
|         }, | ||||
|         primaryButton: _t("Done"), | ||||
|         cancelButton: _t("Manually Verify"), | ||||
|     }); | ||||
| 
 | ||||
|     // const cli = MatrixClientPeg.get();
 | ||||
|     // const verificationRequest = await cli.requestVerification(
 | ||||
|     //     userId,
 | ||||
|     //     [
 | ||||
|     //         verificationMethods.SAS,
 | ||||
|     //         SHOW_QR_CODE_METHOD,
 | ||||
|     //         SCAN_QR_CODE_METHOD,
 | ||||
|     //         verificationMethods.RECIPROCATE_QR_CODE,
 | ||||
|     //     ],
 | ||||
|     //     [device.deviceId],
 | ||||
|     // );
 | ||||
|     // dis.dispatch({
 | ||||
|     //     action: "set_right_panel_phase",
 | ||||
|     //     phase: RIGHT_PANEL_PHASES.EncryptionPanel,
 | ||||
|     //     refireParams: {member, verificationRequest},
 | ||||
|     // });
 | ||||
| 
 | ||||
|     // const DeviceVerifyDialog = sdk.getComponent('views.dialogs.DeviceVerifyDialog');
 | ||||
|     // Modal.createTrackedDialog('Device Verify Dialog', '', DeviceVerifyDialog, {
 | ||||
|     //     userId: userId,
 | ||||
|     //     device: device,
 | ||||
|     // }, null, /* priority = */ false, /* static = */ true);
 | ||||
| } | ||||
| 
 | ||||
| function verifyUser(user) { | ||||
|  |  | |||
|  | @ -1166,6 +1166,11 @@ | |||
|     "Yours, or the other users’ session": "Yours, or the other users’ session", | ||||
|     "Members": "Members", | ||||
|     "Files": "Files", | ||||
|     "Not Trusted": "Not Trusted", | ||||
|     "%(name)s (%(userId)s) signed in to a new session without verifying it:": "%(name)s (%(userId)s) signed in to a new session without verifying it:", | ||||
|     "Ask this user to verify their session, or manually verify it below.": "Ask this user to verify their session, or manually verify it below.", | ||||
|     "Done": "Done", | ||||
|     "Manually Verify": "Manually Verify", | ||||
|     "Trusted": "Trusted", | ||||
|     "Not trusted": "Not trusted", | ||||
|     "%(count)s verified sessions|other": "%(count)s verified sessions", | ||||
|  | @ -1928,7 +1933,6 @@ | |||
|     "Session verified": "Session verified", | ||||
|     "Your new session is now verified. It has access to your encrypted messages, and other users will see it as trusted.": "Your new session is now verified. It has access to your encrypted messages, and other users will see it as trusted.", | ||||
|     "Your new session is now verified. Other users will see it as trusted.": "Your new session is now verified. Other users will see it as trusted.", | ||||
|     "Done": "Done", | ||||
|     "Without completing security on this session, it won’t have access to encrypted messages.": "Without completing security on this session, it won’t have access to encrypted messages.", | ||||
|     "Go Back": "Go Back", | ||||
|     "Failed to send email": "Failed to send email", | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue
	
	 Bruno Windels
						Bruno Windels