feat: Implement read receipt handling and mark all outgoing messages as read

This commit is contained in:
k1ngsterr1
2026-01-13 04:10:07 +05:00
parent cdb3d7ab9e
commit e44bed4fa8
5 changed files with 59 additions and 27 deletions

View File

@@ -221,6 +221,16 @@ interface MessageDao {
*/
@Query("SELECT EXISTS(SELECT 1 FROM messages WHERE account = :account AND message_id = :messageId)")
suspend fun messageExists(account: String, messageId: String): Boolean
/**
* Отметить все исходящие сообщения к собеседнику как прочитанные (delivered=3)
* Используется когда приходит PacketRead от собеседника
*/
@Query("""
UPDATE messages SET delivered = 3
WHERE account = :account AND to_public_key = :opponent AND from_me = 1 AND delivered < 3
""")
suspend fun markAllAsRead(account: String, opponent: String)
}
/**