mirror of
https://github.com/permissionlesstech/bitchat.git
synced 2026-07-25 19:45:22 +00:00
Fix read receipts and improve UI
- Changed back to bold blue double checkmarks for read status - Send read receipts for both 'sent' and 'delivered' status messages - Added onChange handler to send read receipts whenever switching to a private chat - Made markPrivateMessagesAsRead public so it can be called from views - This ensures read receipts are sent when opening a chat from notifications or any other way
This commit is contained in:
@@ -895,7 +895,7 @@ class ChatViewModel: ObservableObject {
|
||||
selectedPrivateChatPeer = nil
|
||||
}
|
||||
|
||||
private func markPrivateMessagesAsRead(from peerID: String) {
|
||||
func markPrivateMessagesAsRead(from peerID: String) {
|
||||
guard let messages = privateChats[peerID] else {
|
||||
print("[Delivery] No messages found for peer \(peerID)")
|
||||
return
|
||||
@@ -912,8 +912,8 @@ class ChatViewModel: ObservableObject {
|
||||
if message.senderPeerID == peerID {
|
||||
if let status = message.deliveryStatus {
|
||||
switch status {
|
||||
case .delivered:
|
||||
// Create and send read receipt
|
||||
case .sent, .delivered:
|
||||
// Create and send read receipt for sent or delivered messages
|
||||
// Use the senderPeerID from the message to ensure it goes to the right peer
|
||||
if let messageSenderID = message.senderPeerID {
|
||||
let receipt = ReadReceipt(
|
||||
|
||||
Reference in New Issue
Block a user