From 2483337e8993463f87be946b078ffa08a6f514ca Mon Sep 17 00:00:00 2001 From: Bruno Windels Date: Fri, 24 Jan 2020 11:57:57 +0100 Subject: [PATCH] don't use removed .event property anymore on verification request --- .../messages/MKeyVerificationConclusion.js | 2 +- .../views/messages/MKeyVerificationRequest.js | 10 +++--- .../views/toasts/VerificationRequestToast.js | 33 +++++++++---------- src/utils/KeyVerificationStateObserver.js | 7 ++-- 4 files changed, 25 insertions(+), 27 deletions(-) diff --git a/src/components/views/messages/MKeyVerificationConclusion.js b/src/components/views/messages/MKeyVerificationConclusion.js index f51b97786b..a17dcd8ab0 100644 --- a/src/components/views/messages/MKeyVerificationConclusion.js +++ b/src/components/views/messages/MKeyVerificationConclusion.js @@ -93,7 +93,7 @@ export default class MKeyVerificationConclusion extends React.Component { } if (title) { - const subtitle = userLabelForEventRoom(request.otherUserId, mxEvent); + const subtitle = userLabelForEventRoom(request.otherUserId, mxEvent.getRoomId()); const classes = classNames("mx_EventTile_bubble", "mx_KeyVerification", "mx_KeyVerification_icon", { mx_KeyVerification_icon_verified: request.done, }); diff --git a/src/components/views/messages/MKeyVerificationRequest.js b/src/components/views/messages/MKeyVerificationRequest.js index ae793556d8..8caff322aa 100644 --- a/src/components/views/messages/MKeyVerificationRequest.js +++ b/src/components/views/messages/MKeyVerificationRequest.js @@ -85,7 +85,7 @@ export default class MKeyVerificationRequest extends React.Component { if (userId === myUserId) { return _t("You accepted"); } else { - return _t("%(name)s accepted", {name: getNameForEventRoom(userId, this.props.mxEvent)}); + return _t("%(name)s accepted", {name: getNameForEventRoom(userId, this.props.mxEvent.getRoomId())}); } } @@ -95,7 +95,7 @@ export default class MKeyVerificationRequest extends React.Component { if (userId === myUserId) { return _t("You cancelled"); } else { - return _t("%(name)s cancelled", {name: getNameForEventRoom(userId, this.props.mxEvent)}); + return _t("%(name)s cancelled", {name: getNameForEventRoom(userId, this.props.mxEvent.getRoomId())}); } } @@ -129,9 +129,9 @@ export default class MKeyVerificationRequest extends React.Component { if (!request.initiatedByMe) { title = (
{ - _t("%(name)s wants to verify", {name: getNameForEventRoom(request.requestingUserId, mxEvent)})}
); + _t("%(name)s wants to verify", {name: getNameForEventRoom(request.requestingUserId, mxEvent.getRoomId())})}); subtitle = (
{ - userLabelForEventRoom(request.requestingUserId, mxEvent)}
); + userLabelForEventRoom(request.requestingUserId, mxEvent.getRoomId())}); if (request.requested && !request.observeOnly) { stateNode = (
@@ -142,7 +142,7 @@ export default class MKeyVerificationRequest extends React.Component { title = (
{ _t("You sent a verification request")}
); subtitle = (
{ - userLabelForEventRoom(request.receivingUserId, mxEvent)}
); + userLabelForEventRoom(request.receivingUserId, mxEvent.getRoomId())}
); } if (title) { diff --git a/src/components/views/toasts/VerificationRequestToast.js b/src/components/views/toasts/VerificationRequestToast.js index 479a3e3f93..274085c0fd 100644 --- a/src/components/views/toasts/VerificationRequestToast.js +++ b/src/components/views/toasts/VerificationRequestToast.js @@ -65,22 +65,21 @@ export default class VerificationRequestToast extends React.PureComponent { accept = async () => { ToastStore.sharedInstance().dismissToast(this.props.toastKey); const {request} = this.props; - const {event} = request; // no room id for to_device requests - if (event.getRoomId()) { - dis.dispatch({ - action: 'view_room', - room_id: event.getRoomId(), - should_peek: false, - }); - } try { - await request.accept(); - dis.dispatch({ - action: "set_right_panel_phase", - phase: RIGHT_PANEL_PHASES.EncryptionPanel, - refireParams: {verificationRequest: request}, - }); + if (request.channel.roomId) { + dis.dispatch({ + action: 'view_room', + room_id: request.channel.roomId, + should_peek: false, + }); + await request.accept(); + dis.dispatch({ + action: "set_right_panel_phase", + phase: RIGHT_PANEL_PHASES.EncryptionPanel, + refireParams: {verificationRequest: request}, + }); + } } catch (err) { console.error(err.message); } @@ -89,13 +88,13 @@ export default class VerificationRequestToast extends React.PureComponent { render() { const FormButton = sdk.getComponent("elements.FormButton"); const {request} = this.props; - const {event} = request; const userId = request.otherUserId; - let nameLabel = event.getRoomId() ? userLabelForEventRoom(userId, event) : userId; + const roomId = request.channel.roomId; + let nameLabel = roomId ? userLabelForEventRoom(userId, roomId) : userId; // for legacy to_device verification requests if (nameLabel === userId) { const client = MatrixClientPeg.get(); - const user = client.getUser(event.getSender()); + const user = client.getUser(userId); if (user && user.displayName) { nameLabel = _t("%(name)s (%(userId)s)", {name: user.displayName, userId}); } diff --git a/src/utils/KeyVerificationStateObserver.js b/src/utils/KeyVerificationStateObserver.js index 1a35319186..7da532109c 100644 --- a/src/utils/KeyVerificationStateObserver.js +++ b/src/utils/KeyVerificationStateObserver.js @@ -17,16 +17,15 @@ limitations under the License. import {MatrixClientPeg} from '../MatrixClientPeg'; import { _t } from '../languageHandler'; -export function getNameForEventRoom(userId, mxEvent) { - const roomId = mxEvent.getRoomId(); +export function getNameForEventRoom(userId, roomId) { const client = MatrixClientPeg.get(); const room = client.getRoom(roomId); const member = room.getMember(userId); return member ? member.name : userId; } -export function userLabelForEventRoom(userId, mxEvent) { - const name = getNameForEventRoom(userId, mxEvent); +export function userLabelForEventRoom(userId, roomId) { + const name = getNameForEventRoom(userId, roomId); if (name !== userId) { return _t("%(name)s (%(userId)s)", {name, userId}); } else {