From b5b6fead551960a3c1347cde613b03ad607c90fa Mon Sep 17 00:00:00 2001 From: Garth Vander Houwen Date: Sun, 9 Jan 2022 08:59:14 -0800 Subject: [PATCH] Fix scroll to bottom when a new message is received --- MeshtasticClient/Views/Messages/UserMessageList.swift | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/MeshtasticClient/Views/Messages/UserMessageList.swift b/MeshtasticClient/Views/Messages/UserMessageList.swift index 6e101cd4..8312afce 100644 --- a/MeshtasticClient/Views/Messages/UserMessageList.swift +++ b/MeshtasticClient/Views/Messages/UserMessageList.swift @@ -316,14 +316,16 @@ struct UserMessageList: View { scrollView.scrollTo(allMessages.firstIndex(of: allMessages.last! ), anchor: .bottom) } }) - .onChange(of: user, perform: { newValue in + .onChange(of: allMessages.count, perform: { count in self.context.refresh(user, mergeChanges: true) - messageCount = ((user.sentMessages?.count ?? 0) + (user.receivedMessages?.count ?? 0)) - if messageCount > 0 { + let index = count - 1 + + if index > 2 { + + scrollView.scrollTo(index, anchor: .bottom) - scrollView.scrollTo(allMessages.firstIndex(of: allMessages.last! ), anchor: .bottom) } }) }