Adds idHex to the date sorting in replies and comments to make sure the order is correct when 2 posts are placed within the same second.

This commit is contained in:
Vitor Pamplona
2023-09-01 14:25:48 -04:00
parent b5b8b62a16
commit bcca4d4bcc
@@ -151,7 +151,7 @@ open class Note(val idHex: String) {
val replyTo = replyTo val replyTo = replyTo
if (event is RepostEvent || event is GenericRepostEvent || replyTo == null || replyTo.isEmpty()) { if (event is RepostEvent || event is GenericRepostEvent || replyTo == null || replyTo.isEmpty()) {
return LevelSignature( return LevelSignature(
signature = "/" + formattedDateTime(createdAt() ?: 0) + ";", signature = "/" + formattedDateTime(createdAt() ?: 0) + idHex.substring(0, 8) + ";",
createdAt = createdAt(), createdAt = createdAt(),
author = author author = author
) )
@@ -176,13 +176,13 @@ open class Note(val idHex: String) {
val threadOrder = if (parent?.author == author && createdAt() != null) { val threadOrder = if (parent?.author == author && createdAt() != null) {
// author of the thread first, in **ascending** order // author of the thread first, in **ascending** order
"9" + formattedDateTime((parent?.createdAt ?: 0) + (now - (createdAt() ?: 0))) "9" + formattedDateTime((parent?.createdAt ?: 0) + (now - (createdAt() ?: 0))) + idHex.substring(0, 8)
} else if (author?.pubkeyHex == account.pubkeyHex) { } else if (author?.pubkeyHex == account.pubkeyHex) {
"8" + formattedDateTime(createdAt() ?: 0) // my replies "8" + formattedDateTime(createdAt() ?: 0) + idHex.substring(0, 8) // my replies
} else if (author?.pubkeyHex in accountFollowingSet) { } else if (author?.pubkeyHex in accountFollowingSet) {
"7" + formattedDateTime(createdAt() ?: 0) // my follows replies. "7" + formattedDateTime(createdAt() ?: 0) + idHex.substring(0, 8) // my follows replies.
} else { } else {
"0" + formattedDateTime(createdAt() ?: 0) // everyone else. "0" + formattedDateTime(createdAt() ?: 0) + idHex.substring(0, 8) // everyone else.
} }
val mySignature = LevelSignature( val mySignature = LevelSignature(