From 17c320c83193e895432a7c459956814b4d2dce89 Mon Sep 17 00:00:00 2001 From: Dominik Csapak Date: Tue, 22 Jun 2021 11:57:25 +0200 Subject: [PATCH] panel/JournalView: fix flickering in journal livemode it seems that something changed in extjs 7 which does not quite restore the correct scroll position when the identical content is set on a component. this means that sometimes, we update the text with the identical one, but the scroll position is now off, only to scroll back to the bottom this causes a flickering everytime we do the api call. instead, only update the component when the content really changed. Signed-off-by: Dominik Csapak --- src/panel/JournalView.js | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/panel/JournalView.js b/src/panel/JournalView.js index 692f241..f672be1 100644 --- a/src/panel/JournalView.js +++ b/src/panel/JournalView.js @@ -77,6 +77,8 @@ Ext.define('Proxmox.panel.JournalView', { let num = lines.length; let text = lines.map(Ext.htmlEncode).join('
'); + let contentChanged = true; + if (!livemode) { if (num) { view.content = text; @@ -89,6 +91,8 @@ Ext.define('Proxmox.panel.JournalView', { view.content = view.content ? text + '
' + view.content : text; } else if (!top && num) { view.content = view.content ? view.content + '
' + text : text; + } else { + contentChanged = false; } // update cursors @@ -101,7 +105,9 @@ Ext.define('Proxmox.panel.JournalView', { } } - contentEl.update(view.content); + if (contentChanged) { + contentEl.update(view.content); + } me.updateScroll(livemode, num, scrollPos, scrollPosTop); },