From 7e98ea79d2051c5d8aca2f3e9613b0c471c36e44 Mon Sep 17 00:00:00 2001 From: Zoe Date: Thu, 30 Jan 2020 15:31:20 +0000 Subject: [PATCH] Fix verification toast timeouts to not stick at 0 Fixes: https://github.com/vector-im/riot-web/issues/12038 --- .../views/toasts/VerificationRequestToast.js | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/src/components/views/toasts/VerificationRequestToast.js b/src/components/views/toasts/VerificationRequestToast.js index d7b2880b92..fce239f655 100644 --- a/src/components/views/toasts/VerificationRequestToast.js +++ b/src/components/views/toasts/VerificationRequestToast.js @@ -33,11 +33,13 @@ export default class VerificationRequestToast extends React.PureComponent { componentDidMount() { const {request} = this.props; - this._intervalHandle = setInterval(() => { - let {counter} = this.state; - counter = Math.max(0, counter - 1); - this.setState({counter}); - }, 1000); + if (request.timeout && request.timeout > 0) { + this._intervalHandle = setInterval(() => { + let {counter} = this.state; + counter = Math.max(0, counter - 1); + this.setState({counter}); + }, 1000); + } request.on("change", this._checkRequestIsPending); // We should probably have a separate class managing the active verification toasts, // rather than monitoring this in the toast component itself, since we'll get problems @@ -120,10 +122,11 @@ export default class VerificationRequestToast extends React.PureComponent { nameLabel = _t("%(name)s (%(userId)s)", {name: user.displayName, userId}); } } + const declineLabel = this.state.counter == 0 ? _t("Decline") : _t("Decline (%(counter)s)", {counter: this.state.counter}); return (
{nameLabel}
- +
);