From 413a149b4713feded25cc23f912200871c456188 Mon Sep 17 00:00:00 2001 From: Bruno Windels Date: Sun, 2 Feb 2020 10:47:15 +0100 Subject: [PATCH 1/2] disable "Accept"/"Decline" buttons on verif tile after clicking to avoid sending double events --- src/components/views/messages/MKeyVerificationRequest.js | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/components/views/messages/MKeyVerificationRequest.js b/src/components/views/messages/MKeyVerificationRequest.js index ab02b2e5ad..9a48858bc7 100644 --- a/src/components/views/messages/MKeyVerificationRequest.js +++ b/src/components/views/messages/MKeyVerificationRequest.js @@ -27,6 +27,7 @@ import {RIGHT_PANEL_PHASES} from "../../../stores/RightPanelStorePhases"; export default class MKeyVerificationRequest extends React.Component { constructor(props) { super(props); + this.state = {}; } componentDidMount() { @@ -58,6 +59,7 @@ export default class MKeyVerificationRequest extends React.Component { }; _onAcceptClicked = async () => { + this.setState({acceptOrCancelClicked: true}); const request = this.props.mxEvent.verificationRequest; if (request) { try { @@ -70,6 +72,7 @@ export default class MKeyVerificationRequest extends React.Component { }; _onRejectClicked = async () => { + this.setState({acceptOrCancelClicked: true}); const request = this.props.mxEvent.verificationRequest; if (request) { try { @@ -135,9 +138,10 @@ export default class MKeyVerificationRequest extends React.Component { subtitle = (
{ userLabelForEventRoom(request.requestingUserId, mxEvent.getRoomId())}
); if (request.requested && !request.observeOnly) { + const disabled = this.state.acceptOrCancelClicked; stateNode = (
- - + +
); } } else { // request sent by us From 577121e88d43513f66b8803257b186ca23d44f90 Mon Sep 17 00:00:00 2001 From: Bruno Windels Date: Sun, 2 Feb 2020 10:48:02 +0100 Subject: [PATCH 2/2] disable "verify by emoji" after clicking it --- src/components/views/right_panel/VerificationPanel.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/components/views/right_panel/VerificationPanel.js b/src/components/views/right_panel/VerificationPanel.js index 3527747a66..f925508be6 100644 --- a/src/components/views/right_panel/VerificationPanel.js +++ b/src/components/views/right_panel/VerificationPanel.js @@ -62,8 +62,9 @@ export default class VerificationPanel extends React.PureComponent { if (pending) { button = ; } else { + const disabled = this.state.emojiButtonClicked; button = ( - + {_t("Verify by emoji")} ); @@ -196,6 +197,7 @@ export default class VerificationPanel extends React.PureComponent { } _startSAS = async () => { + this.setState({emojiButtonClicked: true}); const verifier = this.props.request.beginKeyVerification(verificationMethods.SAS); try { await verifier.verify();