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 0ad1f177b48c725eee0fc68c64608a8d20ef453c..9c7ac0f47c69c25250bbf2b4292a4057fbc75884 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); } }