From dfd1f6c78c99acf07aa2f26a1bf9a90edf480fc9 Mon Sep 17 00:00:00 2001 From: Nicolas Vengeon <nicolas.vengeon@savoirfairelinux.com> Date: Tue, 14 Feb 2023 11:50:56 -0500 Subject: [PATCH] MessageListView: wrong new message sequence GitLab: #983 Change-Id: Ida7b6e84768aac69113af8d29b96a4627ae6c9f4 --- src/app/mainview/components/MessageListView.qml | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/src/app/mainview/components/MessageListView.qml b/src/app/mainview/components/MessageListView.qml index 115bed20e..2e79c2f25 100644 --- a/src/app/mainview/components/MessageListView.qml +++ b/src/app/mainview/components/MessageListView.qml @@ -63,6 +63,7 @@ JamiListView { var pItemIndex = itemIndex - 1 var nItem = root.itemAtIndex(itemIndex + 1) var nItemIndex = itemIndex + 1 + // middle insertion if (pItem && nItem) { computeTimestampVisibility(item, itemIndex, nItem, nItemIndex) @@ -80,10 +81,17 @@ JamiListView { } // index 0 insertion = new message if (itemIndex === 0) { - if (!nItem && !CurrentConversation.allMessagesLoaded) - Qt.callLater(computeChatview, item, itemIndex) - else - computeSequencing( null, item, root.itemAtIndex(itemIndex + 1)) + // Compute the timestamp visibility when a new message is received/sent. + // This needs to be done in a delayed fashion because the new message is inserted + // at the top of the list and the list is not yet updated. + Qt.callLater(() => { + var fItem = root.itemAtIndex(1) + if (fItem) { + computeTimestampVisibility(item, 0, fItem, 1) + computeSequencing(null, item, fItem) + computeSequencing(item, fItem, root.itemAtIndex(2)) + } + }) } // top element if(itemIndex === root.count - 1 && CurrentConversation.allMessagesLoaded) { -- GitLab