From 7eb54cc83c995001e288f69eabc099bd038fec94 Mon Sep 17 00:00:00 2001 From: Will Hunt Date: Fri, 23 Oct 2020 17:16:09 +0100 Subject: [PATCH] Also only download images after clicking on them --- src/components/views/messages/MImageBody.js | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/src/components/views/messages/MImageBody.js b/src/components/views/messages/MImageBody.js index c92ae475bf..a8cdc17abf 100644 --- a/src/components/views/messages/MImageBody.js +++ b/src/components/views/messages/MImageBody.js @@ -85,6 +85,7 @@ export default class MImageBody extends React.Component { showImage() { localStorage.setItem("mx_ShowImage_" + this.props.mxEvent.getId(), "true"); this.setState({showImage: true}); + this._downloadImage(); } onClick(ev) { @@ -253,10 +254,7 @@ export default class MImageBody extends React.Component { } } - componentDidMount() { - this.unmounted = false; - this.context.on('sync', this.onClientSync); - + _downloadImage() { const content = this.props.mxEvent.getContent(); if (content.file !== undefined && this.state.decryptedUrl === null) { let thumbnailPromise = Promise.resolve(null); @@ -289,9 +287,18 @@ export default class MImageBody extends React.Component { }); }); } + } - // Remember that the user wanted to show this particular image - if (!this.state.showImage && localStorage.getItem("mx_ShowImage_" + this.props.mxEvent.getId()) === "true") { + componentDidMount() { + this.unmounted = false; + this.context.on('sync', this.onClientSync); + + const showImage = this.state.showImage || + localStorage.getItem("mx_ShowImage_" + this.props.mxEvent.getId()) === "true"; + + if (showImage) { + // Don't download anything becaue we don't want to display anything. + this._downloadImage(); this.setState({showImage: true}); }