From 59dc3cfb97c21833a99a0ede22dcc312a1d3911d Mon Sep 17 00:00:00 2001 From: Bruno Windels Date: Wed, 29 Jan 2020 15:23:13 +0100 Subject: [PATCH] update immediately, don't wait until verification is done this can deadlock, as you can't finish the verification without the UI --- src/components/views/right_panel/VerificationPanel.js | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/components/views/right_panel/VerificationPanel.js b/src/components/views/right_panel/VerificationPanel.js index 18a9024310..a34dfbfdd0 100644 --- a/src/components/views/right_panel/VerificationPanel.js +++ b/src/components/views/right_panel/VerificationPanel.js @@ -217,9 +217,12 @@ export default class VerificationPanel extends React.PureComponent { }; _onRequestChange = async () => { + this.forceUpdate(); const {request} = this.props; - if (!this._hasVerifier && !!request.verifier) { - request.verifier.on('show_sas', this._onVerifierShowSas); + const hadVerifier = this._hasVerifier; + this._hasVerifier = !!request.verifier; + if (!hadVerifier && this._hasVerifier) { + request.verifier.once('show_sas', this._onVerifierShowSas); try { // on the requester side, this is also awaited in _startSAS, // but that's ok as verify should return the same promise. @@ -227,10 +230,7 @@ export default class VerificationPanel extends React.PureComponent { } catch (err) { console.error("error verify", err); } - } else if (this._hasVerifier && !request.verifier) { - request.verifier.removeListener('show_sas', this._onVerifierShowSas); } - this._hasVerifier = !!request.verifier; }; componentDidMount() {