Skip to content

Commit af29c91

Browse files
committed
chore(fc): sort messages by ID not dateMillis
Signed-off-by: Brandon McAnsh <[email protected]>
1 parent da1d5ee commit af29c91

File tree

1 file changed

+2
-19
lines changed

1 file changed

+2
-19
lines changed

services/flipchat/chat/src/main/kotlin/xyz/flipchat/services/internal/db/ConversationMessageDao.kt

Lines changed: 2 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -97,7 +97,8 @@ interface ConversationMessageDao {
9797
LEFT JOIN tips ON messages.idBase58 = tips.messageIdBase58
9898
WHERE messages.conversationIdBase58 = :id AND type IN (1, 4, 8)
9999
GROUP BY messages.idBase58
100-
ORDER BY messages.dateMillis DESC
100+
-- ID is a base58 encoded v7 UUID which is guaranteed lexigraphically in order --
101+
ORDER BY messages.idBase58 DESC
101102
LIMIT :limit OFFSET :offset
102103
""")
103104
suspend fun getPagedMessages(id: String, limit: Int, offset: Int): List<ConversationMessageWithMemberAndReply>
@@ -111,24 +112,6 @@ interface ConversationMessageDao {
111112
return getMemberInternal(memberId.base58)
112113
}
113114

114-
@Query("""
115-
SELECT COUNT(*) AS absoluteIndex
116-
FROM messages
117-
WHERE conversationIdBase58 = :conversationId
118-
AND type IN (1, 4, 8)
119-
AND dateMillis > ( -- DESC SORT BUT REVERSE LIST SO > INSTEAD OF < --
120-
SELECT dateMillis
121-
FROM messages
122-
WHERE idBase58 = :messageId
123-
AND conversationIdBase58 = :conversationId
124-
LIMIT 1
125-
)
126-
""")
127-
fun getPositionOfMessage(conversationId: String, messageId: String): Int?
128-
fun getPositionOfMessage(conversationId: ID, messageId: ID): Int? {
129-
return getPositionOfMessage(conversationId.base58, messageId.base58)
130-
}
131-
132115
suspend fun getPagedMessagesWithDetails(id: ID, limit: Int, offset: Int, selfId: ID?): List<InflatedConversationMessage> {
133116
val messages = getPagedMessages(id.base58, limit, offset)
134117

0 commit comments

Comments
 (0)