Improves performance by precaching signatures before sorting them

Fixes out of order crash when the same signature came back.
This commit is contained in:
Vitor Pamplona
2026-01-12 15:29:33 -05:00
parent e561492705
commit e9210872bd
@@ -64,9 +64,8 @@ class ThreadFeedFilter(
val eventsInHex = filteredThreadInfo.allNotes.map { it.idHex }.toSet()
val now = TimeUtils.now()
// Currently orders by date of each event, descending, at each level of the reply stack
val order =
compareByDescending<Note> {
val signatures =
filteredThreadInfo.allNotes.associateWith {
ThreadLevelCalculator
.replyLevelSignature(
it,
@@ -78,6 +77,11 @@ class ThreadFeedFilter(
).signature
}
// Currently orders by date of each event, descending, at each level of the reply stack
val order =
compareByDescending<Note> { signatures[it] }
.thenBy { it.idHex }
return filteredThreadInfo.allNotes.sortedWith(order)
}
}