From 0be9447bee3cd4856f9d345c4c46bc3a5f539bc2 Mon Sep 17 00:00:00 2001 From: Vitor Pamplona Date: Tue, 8 Jul 2025 15:22:09 -0400 Subject: [PATCH] Reusing the parsed event to reuse cache when computing relay hints. --- .../com/vitorpamplona/amethyst/model/LocalCache.kt | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) 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 3b4dc9fd3..550c86fc8 100644 --- a/amethyst/src/main/java/com/vitorpamplona/amethyst/model/LocalCache.kt +++ b/amethyst/src/main/java/com/vitorpamplona/amethyst/model/LocalCache.kt @@ -2997,7 +2997,17 @@ object LocalCache : ILocalCache { } if (relay != null) { - addIncomingRelayAsHintToAllRelatedEvents(event, relay) + // uses the internal event to avoid reprocessing cached items. + val note = + if (event is AddressableEvent) { + getAddressableNoteIfExists(event.address()) + } else { + getNoteIfExists(event.id) + } + + note?.event?.let { consumedEvent -> + addIncomingRelayAsHintToAllRelatedEvents(consumedEvent, relay) + } } return wasNew