From 3af2cb52cc028a35a5f36bf15d1984b851057b35 Mon Sep 17 00:00:00 2001 From: Vitor Pamplona Date: Tue, 13 Aug 2024 15:11:15 -0400 Subject: [PATCH] adds a prune for giftwrapped messages --- .../amethyst/model/LocalCache.kt | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) 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 2c10bb3dc..eb8c745ce 100644 --- a/amethyst/src/main/java/com/vitorpamplona/amethyst/model/LocalCache.kt +++ b/amethyst/src/main/java/com/vitorpamplona/amethyst/model/LocalCache.kt @@ -2178,6 +2178,8 @@ object LocalCache { val childrenToBeRemoved = mutableListOf() toBeRemoved.forEach { + // TODO: NEED TO TEST IF WRAPS COME BACK WHEN NEEDED BEFORE ACTIVATING + // childrenToBeRemoved.addAll(removeIfWrap(it)) removeFromCache(it) childrenToBeRemoved.addAll(it.removeAllChildNotes()) @@ -2194,6 +2196,24 @@ object LocalCache { } } + fun removeIfWrap(note: Note): List { + val noteEvent = note.event + + val children = + if (noteEvent is WrappedEvent) { + noteEvent.host?.id?.let { + getNoteIfExists(it)?.let { + removeFromCache(it) + it.removeAllChildNotes() + } + } + } else { + null + } + + return children ?: emptyList() + } + fun prunePastVersionsOfReplaceables() { val toBeRemoved = notes.filter { _, note ->