From 036b385f38199d1a1d3b94711b815003b9ae2a28 Mon Sep 17 00:00:00 2001 From: Vitor Pamplona Date: Wed, 6 Aug 2025 18:02:26 -0400 Subject: [PATCH] Adds a check for deletion before processing inner posts --- .../amethyst/model/LocalCache.kt | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/amethyst/src/main/java/com/vitorpamplona/amethyst/model/LocalCache.kt b/amethyst/src/main/java/com/vitorpamplona/amethyst/model/LocalCache.kt index 84dae9417..67e3fc4e3 100644 --- a/amethyst/src/main/java/com/vitorpamplona/amethyst/model/LocalCache.kt +++ b/amethyst/src/main/java/com/vitorpamplona/amethyst/model/LocalCache.kt @@ -1375,7 +1375,7 @@ object LocalCache : ILocalCache { repliesTo.forEach { it.addBoost(note) } event.containedPost()?.let { - justConsumeAndUpdateIndexes(it, relay, false) + checkDeletionAndConsume(it, relay, false) } refreshNewNoteObservers(note) @@ -1405,7 +1405,7 @@ object LocalCache : ILocalCache { repliesTo.forEach { it.addBoost(note) } event.containedPost()?.let { - justConsumeAndUpdateIndexes(it, relay, false) + checkDeletionAndConsume(it, relay, false) } refreshNewNoteObservers(note) @@ -1440,7 +1440,7 @@ object LocalCache : ILocalCache { repliesTo.forEach { it.addBoost(note) } event.containedPost()?.let { - justConsumeAndUpdateIndexes(it, relay, false) + checkDeletionAndConsume(it, relay, false) } refreshNewNoteObservers(note) @@ -1683,7 +1683,7 @@ object LocalCache : ILocalCache { if (existingZapRequest == null || existingZapRequest.event == null) { // tries to add it event.zapRequest?.let { - justConsumeAndUpdateIndexes(it, relay, false) + checkDeletionAndConsume(it, relay, false) } } @@ -2634,6 +2634,17 @@ object LocalCache : ILocalCache { return justConsumeAndUpdateIndexes(event, relay?.url, wasVerified) } + private fun checkDeletionAndConsume( + event: Event, + relay: NormalizedRelayUrl?, + wasVerified: Boolean, + ): Boolean = + if (!deletionIndex.hasBeenDeleted(event)) { + justConsumeAndUpdateIndexes(event, relay, wasVerified) + } else { + false + } + private fun justConsumeAndUpdateIndexes( event: Event, relay: NormalizedRelayUrl?,