rewindLastReadMessage
abstract suspend fun rewindLastReadMessage(contact: String, messageUuid: Long?, lastReadTimestamp: Long?)(source)
Unconditional watermark rewind, for marking a conversation unread again.
updateLastReadMessageIfNewer refuses to move the watermark backwards, which is right for the read path but would strand a mark-unread: the packet's read flag would be 0 while the watermark still claimed everything was read, and the message screen's clear path — which no-ops unless the incoming timestamp is newer — could never clear the badge again.