Make event subscriptions conditional when needed

pull/21833/head
Michael Telatynski 2020-08-14 13:30:27 +01:00
parent f982c7b334
commit de9816574f
1 changed files with 9 additions and 5 deletions

View File

@ -114,15 +114,19 @@ export default class MessageActionBar extends React.PureComponent {
static contextType = RoomContext;
componentDidMount() {
this.props.mxEvent.on("Event.decrypted", this.onDecrypted);
if (this.props.mxEvent.isBeingDecrypted()) {
this.props.mxEvent.once("Event.decrypted", this.onDecrypted);
}
this.props.mxEvent.on("Event.beforeRedaction", this.onBeforeRedaction);
this.props.mxEvent.on("Event.localEventIdReplaced", this.onEcho);
if (this.props.mxEvent.getId()[0] !== "!") {
this.props.mxEvent.once("Event.localEventIdReplaced", this.onEcho);
}
}
componentWillUnmount() {
this.props.mxEvent.removeListener("Event.decrypted", this.onDecrypted);
this.props.mxEvent.removeListener("Event.beforeRedaction", this.onBeforeRedaction);
this.props.mxEvent.removeListener("Event.localEventIdReplaced", this.onEcho);
this.props.mxEvent.off("Event.decrypted", this.onDecrypted);
this.props.mxEvent.off("Event.beforeRedaction", this.onBeforeRedaction);
this.props.mxEvent.off("Event.localEventIdReplaced", this.onEcho);
}
onDecrypted = () => {