From 80f1df6d954eeb2ed666d302c485d15dc6773fd1 Mon Sep 17 00:00:00 2001 From: Travis Ralston Date: Thu, 26 Nov 2020 15:09:08 -0700 Subject: [PATCH] Don't needlessly persist user widgets Fixes https://github.com/vector-im/element-web/issues/15842 We don't have a concept of a stickerpicker staying on screen, so don't make it a thing yet. --- src/components/views/elements/AppTile.js | 23 +++++++++++++---------- 1 file changed, 13 insertions(+), 10 deletions(-) diff --git a/src/components/views/elements/AppTile.js b/src/components/views/elements/AppTile.js index b862a1e912..7e0ae965bb 100644 --- a/src/components/views/elements/AppTile.js +++ b/src/components/views/elements/AppTile.js @@ -375,17 +375,20 @@ export default class AppTile extends React.Component { ); - // all widgets can theoretically be allowed to remain on screen, so we wrap - // them all in a PersistedElement from the get-go. If we wait, the iframe will - // be re-mounted later, which means the widget has to start over, which is bad. + if (!this.props.userWidget) { + // All room widgets can theoretically be allowed to remain on screen, so we + // wrap them all in a PersistedElement from the get-go. If we wait, the iframe + // will be re-mounted later, which means the widget has to start over, which is + // bad. - // Also wrap the PersistedElement in a div to fix the height, otherwise - // AppTile's border is in the wrong place - appTileBody =
- - {appTileBody} - -
; + // Also wrap the PersistedElement in a div to fix the height, otherwise + // AppTile's border is in the wrong place + appTileBody =
+ + {appTileBody} + +
; + } } }