diff --git a/src/components/views/dialogs/DeviceVerifyDialog.js b/src/components/views/dialogs/DeviceVerifyDialog.js index 4d0abdc848..d78ef3ca83 100644 --- a/src/components/views/dialogs/DeviceVerifyDialog.js +++ b/src/components/views/dialogs/DeviceVerifyDialog.js @@ -233,6 +233,7 @@ export default class DeviceVerifyDialog extends React.Component { sas={this._showSasEvent.sas} onCancel={this._onCancelClick} onDone={this._onSasMatchesClick} + isSelf={MatrixClientPeg.get().getUserId() === this.props.userId} />; } diff --git a/src/components/views/dialogs/IncomingSasDialog.js b/src/components/views/dialogs/IncomingSasDialog.js index 3bf7b83291..c612043919 100644 --- a/src/components/views/dialogs/IncomingSasDialog.js +++ b/src/components/views/dialogs/IncomingSasDialog.js @@ -121,6 +121,8 @@ export default class IncomingSasDialog extends React.Component { const Spinner = sdk.getComponent("views.elements.Spinner"); const BaseAvatar = sdk.getComponent("avatars.BaseAvatar"); + const isSelf = this.props.verifier.userId == MatrixClientPeg.get().getUserId(); + let profile; if (this.state.opponentProfile) { profile =
@@ -148,20 +150,36 @@ export default class IncomingSasDialog extends React.Component { profile = ; } + const userDetailText = [ +

{_t( + "Verify this user to mark them as trusted. " + + "Trusting users gives you extra peace of mind when using " + + "end-to-end encrypted messages.", + )}

, +

{_t( + // NB. Below wording adjusted to singular 'session' until we have + // cross-signing + "Verifying this user will mark their session as trusted, and " + + "also mark your session as trusted to them.", + )}

, + ]; + + const selfDetailText = [ +

{_t( + "Verify this device to mark it as trusted. " + + "Trusting this device gives you and other users extra peace of mind when using " + + "end-to-end encrypted messages.", + )}

, +

{_t( + "Verifying this device will mark it as trusted, and users who have verified with " + + "you will trust this device.", + )}

, + ]; + return (
{profile} -

{_t( - "Verify this user to mark them as trusted. " + - "Trusting users gives you extra peace of mind when using " + - "end-to-end encrypted messages.", - )}

-

{_t( - // NB. Below wording adjusted to singular 'session' until we have - // cross-signing - "Verifying this user will mark their session as trusted, and " + - "also mark your session as trusted to them.", - )}

+ {isSelf ? selfDetailText : userDetailText} ; } diff --git a/src/components/views/verification/VerificationShowSas.js b/src/components/views/verification/VerificationShowSas.js index 38bc1bb40a..4d3c962385 100644 --- a/src/components/views/verification/VerificationShowSas.js +++ b/src/components/views/verification/VerificationShowSas.js @@ -32,6 +32,7 @@ export default class VerificationShowSas extends React.Component { onDone: PropTypes.func.isRequired, onCancel: PropTypes.func.isRequired, sas: PropTypes.object.isRequired, + isSelf: PropTypes.bool, }; constructor(props) { @@ -66,9 +67,13 @@ export default class VerificationShowSas extends React.Component {
{emojiBlocks.slice(4)}
; - sasCaption = _t( - "Verify this user by confirming the following emoji appear on their screen.", - ); + sasCaption = this.props.isSelf ? + _t( + "Confirm the emoji below are displayed on both devices, in the same order:", + ): + _t( + "Verify this user by confirming the following emoji appear on their screen.", + ); } else if (this.props.sas.decimal) { const numberBlocks = this.props.sas.decimal.map((num, i) => {num} @@ -76,9 +81,13 @@ export default class VerificationShowSas extends React.Component { sasDisplay =
{numberBlocks}
; - sasCaption = _t( - "Verify this user by confirming the following number appears on their screen.", - ); + sasCaption = this.props.isSelf ? + _t( + "Verify this device by confirming the following number appears on its screen.", + ): + _t( + "Verify this user by confirming the following number appears on their screen.", + ); } else { return
{_t("Unable to find a supported verification method.")} @@ -108,7 +117,9 @@ export default class VerificationShowSas extends React.Component { return

{sasCaption}

{sasDisplay} -

{_t("To be secure, do this in person or use a trusted way to communicate.")}

+

{this.props.isSelf ? + "": + _t("To be secure, do this in person or use a trusted way to communicate.")}

{confirm}
; } diff --git a/src/i18n/strings/en_EN.json b/src/i18n/strings/en_EN.json index 6e58a76283..8901f85cb9 100644 --- a/src/i18n/strings/en_EN.json +++ b/src/i18n/strings/en_EN.json @@ -444,7 +444,9 @@ "You've successfully verified this user.": "You've successfully verified this user.", "Secure messages with this user are end-to-end encrypted and not able to be read by third parties.": "Secure messages with this user are end-to-end encrypted and not able to be read by third parties.", "Got It": "Got It", + "Confirm the emoji below are displayed on both devices, in the same order:": "Confirm the emoji below are displayed on both devices, in the same order:", "Verify this user by confirming the following emoji appear on their screen.": "Verify this user by confirming the following emoji appear on their screen.", + "Verify this device by confirming the following number appears on its screen.": "Verify this device by confirming the following number appears on its screen.", "Verify this user by confirming the following number appears on their screen.": "Verify this user by confirming the following number appears on their screen.", "Unable to find a supported verification method.": "Unable to find a supported verification method.", "Cancel": "Cancel", @@ -1493,6 +1495,8 @@ "An error has occurred.": "An error has occurred.", "Verify this user to mark them as trusted. Trusting users gives you extra peace of mind when using end-to-end encrypted messages.": "Verify this user to mark them as trusted. Trusting users gives you extra peace of mind when using end-to-end encrypted messages.", "Verifying this user will mark their session as trusted, and also mark your session as trusted to them.": "Verifying this user will mark their session as trusted, and also mark your session as trusted to them.", + "Verify this device to mark it as trusted. Trusting this device gives you and other users extra peace of mind when using end-to-end encrypted messages.": "Verify this device to mark it as trusted. Trusting this device gives you and other users extra peace of mind when using end-to-end encrypted messages.", + "Verifying this device will mark it as trusted, and users who have verified with you will trust this device.": "Verifying this device will mark it as trusted, and users who have verified with you will trust this device.", "Waiting for partner to confirm...": "Waiting for partner to confirm...", "Incoming Verification Request": "Incoming Verification Request", "Integrations are disabled": "Integrations are disabled",