Fix UI not updating for delivery status changes

- Use message ID instead of index for ForEach to trigger proper updates
- Add explicit objectWillChange.send() when updating delivery status
- Fix scroll-to-bottom logic to use message IDs
- This should make blue checkmarks appear when read receipts are received
This commit is contained in:
jack
2025-07-06 22:22:13 +02:00
parent d162a89ac2
commit c9a594d0b5
2 changed files with 15 additions and 5 deletions
+10
View File
@@ -2142,6 +2142,11 @@ extension ChatViewModel: BitchatDelegate {
chatMessages[index] = updatedMessage
privateChats[peerID] = chatMessages
print("[Delivery] Updated message in private chat with \(peerID)")
// Force UI update by triggering objectWillChange
DispatchQueue.main.async { [weak self] in
self?.objectWillChange.send()
}
}
}
@@ -2152,6 +2157,11 @@ extension ChatViewModel: BitchatDelegate {
updatedMessage.deliveryStatus = status
roomMsgs[index] = updatedMessage
roomMessages[room] = roomMsgs
// Force UI update
DispatchQueue.main.async { [weak self] in
self?.objectWillChange.send()
}
}
}
}