From 0581a3e83663f86fc6253674e890eeb34edcf052 Mon Sep 17 00:00:00 2001 From: Vitor Pamplona Date: Fri, 1 Nov 2024 10:05:25 -0400 Subject: [PATCH] Fixes reply level calculation caching. --- .../amethyst/model/ThreadLevelCalculator.kt | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/amethyst/src/main/java/com/vitorpamplona/amethyst/model/ThreadLevelCalculator.kt b/amethyst/src/main/java/com/vitorpamplona/amethyst/model/ThreadLevelCalculator.kt index 3c86c6e97..209b50cec 100644 --- a/amethyst/src/main/java/com/vitorpamplona/amethyst/model/ThreadLevelCalculator.kt +++ b/amethyst/src/main/java/com/vitorpamplona/amethyst/model/ThreadLevelCalculator.kt @@ -118,11 +118,17 @@ object ThreadLevelCalculator { if ( note.event is RepostEvent || note.event is GenericRepostEvent || replyTo == null || replyTo.isEmpty() ) { + cachedLevels[note] = 0 return 0 } - return replyTo.maxOf { - cachedLevels[it] ?: replyLevel(it, cachedLevels).apply { cachedLevels.put(it, this) } - } + 1 + val thisLevel = + replyTo.maxOf { + cachedLevels[it] ?: replyLevel(it, cachedLevels) + } + 1 + + cachedLevels[note] = thisLevel + + return thisLevel } }