Fix scroll to bottom when a new message is received

This commit is contained in:
Garth Vander Houwen 2022-01-09 08:59:14 -08:00
parent 19a14496a2
commit b5b6fead55

View file

@ -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)
}
})
}