From 196e1a4f66715d13290c075a930417ccbba610e2 Mon Sep 17 00:00:00 2001 From: Luke Barnard Date: Fri, 8 Dec 2017 15:25:14 +0000 Subject: [PATCH 1/3] Fix one variant of a scroll jump that occurs when decrypting an m.text --- src/components/views/rooms/EventTile.js | 1 + 1 file changed, 1 insertion(+) diff --git a/src/components/views/rooms/EventTile.js b/src/components/views/rooms/EventTile.js index 3407ea159d6..450c5eb7608 100644 --- a/src/components/views/rooms/EventTile.js +++ b/src/components/views/rooms/EventTile.js @@ -215,6 +215,7 @@ module.exports = withMatrixClient(React.createClass({ this.setState({ verified: verified, }); + this.props.onWidgetLoad(); }, _propsEqual: function(objA, objB) { From a516c18cc54a2d68075cc3b9d0c33f0692d68449 Mon Sep 17 00:00:00 2001 From: Luke Barnard Date: Fri, 15 Dec 2017 13:58:58 +0000 Subject: [PATCH 2/3] Indicate event tile resize after rendering --- src/components/views/rooms/EventTile.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/components/views/rooms/EventTile.js b/src/components/views/rooms/EventTile.js index 450c5eb7608..f0cd0ee7bfa 100644 --- a/src/components/views/rooms/EventTile.js +++ b/src/components/views/rooms/EventTile.js @@ -214,8 +214,10 @@ module.exports = withMatrixClient(React.createClass({ const verified = await this.props.matrixClient.isEventSenderVerified(mxEvent); this.setState({ verified: verified, + }, () => { + // Decryption may have caused a change in size + this.props.onWidgetLoad(); }); - this.props.onWidgetLoad(); }, _propsEqual: function(objA, objB) { From 7f551f517bbce13fbe90874e0c39dbbf0f8c7e0a Mon Sep 17 00:00:00 2001 From: Luke Barnard Date: Fri, 15 Dec 2017 14:01:07 +0000 Subject: [PATCH 3/3] Add comments to _onDecrypted --- src/components/views/rooms/EventTile.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/components/views/rooms/EventTile.js b/src/components/views/rooms/EventTile.js index f0cd0ee7bfa..0b55c3aa2ac 100644 --- a/src/components/views/rooms/EventTile.js +++ b/src/components/views/rooms/EventTile.js @@ -196,6 +196,8 @@ module.exports = withMatrixClient(React.createClass({ */ _onDecrypted: function() { // we need to re-verify the sending device. + // (we call onWidgetLoad in _verifyEvent to handle the case where decryption + // has caused a change in size of the event tile) this._verifyEvent(this.props.mxEvent); this.forceUpdate(); },