Эх сурвалжийг харах

Fix handling read receipts where target is unknown

Tulir Asokan 3 жил өмнө
parent
commit
c55cad980d
1 өөрчлөгдсөн 5 нэмэгдсэн , 1 устгасан
  1. 5 1
      user.go

+ 5 - 1
user.go

@@ -748,7 +748,11 @@ func (user *User) handleReceipt(receipt *events.Receipt) {
 		}
 	}
 	if receipt.Sender.User == user.JID.User {
-		user.SetLastReadTS(portal.Key, markAsRead[0].Timestamp)
+		if len(markAsRead) > 0 {
+			user.SetLastReadTS(portal.Key, markAsRead[0].Timestamp)
+		} else {
+			user.SetLastReadTS(portal.Key, receipt.Timestamp)
+		}
 	}
 	intent := user.bridge.GetPuppetByJID(receipt.Sender).IntentFor(portal)
 	for _, msg := range markAsRead {