Merge pull request #4048 from matrix-org/bwindels/toasttuning

Verification toast fixes
pull/21833/head
Bruno Windels 2020-02-11 15:34:26 +00:00 committed by GitHub
commit 703f52be33
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 7 additions and 11 deletions

View File

@ -58,10 +58,7 @@ export default class VerificationRequestToast extends React.PureComponent {
_checkRequestIsPending = () => { _checkRequestIsPending = () => {
const {request} = this.props; const {request} = this.props;
const isPendingInRoomRequest = request.channel.roomId && if (request.ready || request.done || request.cancelled || request.observeOnly) {
!(request.ready || request.started || request.done || request.cancelled || request.observeOnly);
const isPendingDeviceRequest = request.channel.deviceId && request.started;
if (!isPendingInRoomRequest && !isPendingDeviceRequest) {
ToastStore.sharedInstance().dismissToast(this.props.toastKey); ToastStore.sharedInstance().dismissToast(this.props.toastKey);
} }
}; };
@ -79,15 +76,15 @@ export default class VerificationRequestToast extends React.PureComponent {
ToastStore.sharedInstance().dismissToast(this.props.toastKey); ToastStore.sharedInstance().dismissToast(this.props.toastKey);
const {request} = this.props; const {request} = this.props;
// no room id for to_device requests // no room id for to_device requests
const cli = MatrixClientPeg.get();
try { try {
await request.accept();
if (request.channel.roomId) { if (request.channel.roomId) {
dis.dispatch({ dis.dispatch({
action: 'view_room', action: 'view_room',
room_id: request.channel.roomId, room_id: request.channel.roomId,
should_peek: false, should_peek: false,
}); });
await request.accept();
const cli = MatrixClientPeg.get();
dis.dispatch({ dis.dispatch({
action: "set_right_panel_phase", action: "set_right_panel_phase",
phase: RIGHT_PANEL_PHASES.EncryptionPanel, phase: RIGHT_PANEL_PHASES.EncryptionPanel,
@ -96,11 +93,10 @@ export default class VerificationRequestToast extends React.PureComponent {
member: cli.getUser(request.otherUserId), member: cli.getUser(request.otherUserId),
}, },
}); });
} else if (request.channel.deviceId && request.verifier) { } else {
// show to_device verifications in dialog still const VerificationRequestDialog = sdk.getComponent("views.dialogs.VerificationRequestDialog");
const IncomingSasDialog = sdk.getComponent("views.dialogs.IncomingSasDialog"); Modal.createTrackedDialog('Incoming Verification', '', VerificationRequestDialog, {
Modal.createTrackedDialog('Incoming Verification', '', IncomingSasDialog, { verificationRequest: request,
verifier: request.verifier,
}, null, /* priority = */ false, /* static = */ true); }, null, /* priority = */ false, /* static = */ true);
} }
} catch (err) { } catch (err) {