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 {