As the DOM element is not in reality contained inside "the parent",
it may overflow the area if the parent gets partially hidden by
scrolling etc.
To make the effect visually less annoying, emulate this by clipping to
the element wrapper. This is not a full general-purpose fix, but
improves the current situation.
Signed-off-by: Pauli Virtanen <pav@iki.fi>
For https://github.com/vector-im/riot-web/issues/12877
Original error:
```
Warning: Render methods should be a pure function of props and state; triggering nested component updates from render is not allowed. If necessary, trigger nested updates in componentDidUpdate.
Check the render method of PersistedElement.
in PersistedElement (created by AppTile)
in div (created by AppTile)
in div (created by AppTile)
in AppTile (created by AppsDrawer)
in div (created by AppsDrawer)
in div (created by AppsDrawer)
in AppsDrawer (created by AuxPanel)
in div (created by AutoHideScrollbar)
in AutoHideScrollbar (created by AuxPanel)
in AuxPanel (created by RoomView)
in div (created by RoomView)
in div (created by MainSplit)
in MainSplit (created by RoomView)
in ErrorBoundary (created by RoomView)
in main (created by RoomView)
in RoomView (created by LoggedInView)
in div (created by LoggedInView)
in DragDropContext (created by LoggedInView)
in div (created by LoggedInView)
in LoggedInView (created by MatrixChat)
in ErrorBoundary (created by MatrixChat)
in MatrixChat
```
As per https://github.com/matrix-org/matrix-doc/issues/1354
This is whitelisted to only jitsi widgets for now as per comment,
mostly because any widget that we may make always-on-screen we need
to preemptively put in a PersistedElement container, which is
unnecessary for any other widget.
Apologies that this does a bunch of refactoring which could have
been split out separately: I only discovered what needed to be
refactored in the process of doing this.
Fixes https://github.com/vector-im/riot-web/issues/6984