From f7eb8d44da7585f8e6b0f9939ad78ebde15a391e Mon Sep 17 00:00:00 2001 From: Ramon Souza <contato@ramonsouza.com> Date: Tue, 27 Apr 2021 08:23:42 -0300 Subject: [PATCH] recompute heights multiple times when switching between public and private chats --- .../chat/time-window-list/component.jsx | 22 +++++++++++-------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/bigbluebutton-html5/imports/ui/components/chat/time-window-list/component.jsx b/bigbluebutton-html5/imports/ui/components/chat/time-window-list/component.jsx index 0ad1f177b4..9c7ac0f47c 100644 --- a/bigbluebutton-html5/imports/ui/components/chat/time-window-list/component.jsx +++ b/bigbluebutton-html5/imports/ui/components/chat/time-window-list/component.jsx @@ -133,7 +133,7 @@ class TimeWindowList extends PureComponent { ) { if (chatId !== prevChatId){ this.systemMessageIndexes.forEach(index => { - this.listRef.recomputeRowHeights(index); + this.clearAndRecompute(index); }); } this.listRef.forceUpdateGrid(); @@ -160,6 +160,17 @@ class TimeWindowList extends PureComponent { handleScrollUpdate(position || 1); } + clearAndRecompute(index) { + [500, 1000, 2000, 3000, 4000, 5000].forEach((i)=>{ + setTimeout(() => { + if (this.listRef) { + this.cache.clear(index); + this.listRef.recomputeRowHeights(index); + } + }, i); + }) + } + scrollTo(position = null) { if (position) { setTimeout(() => this.setState({ @@ -193,14 +204,7 @@ class TimeWindowList extends PureComponent { if (needResizeMessages.includes(message.key)) { if (!this.systemMessageIndexes.includes(index)) { this.systemMessageIndexes.push(index); - [500, 1000, 2000, 3000, 4000, 5000].forEach((i)=>{ - setTimeout(() => { - if (this.listRef) { - this.cache.clear(index); - this.listRef.recomputeRowHeights(index); - } - }, i); - }) + this.clearAndRecompute(index); } } -- GitLab