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 c2473ad474..58cdad1fc9 100644 --- a/amethyst/src/main/java/com/vitorpamplona/amethyst/model/LocalCache.kt +++ b/amethyst/src/main/java/com/vitorpamplona/amethyst/model/LocalCache.kt @@ -1466,6 +1466,11 @@ object LocalCache : ILocalCache, ICacheProvider { ): Boolean { val note = getOrCreateNote(event.id) + if (relay != null) { + getOrCreateUser(event.pubKey).addRelayBeingUsed(relay, event.createdAt) + note.addRelay(relay) + } + // Already processed this event. if (note.event != null) return false @@ -1496,6 +1501,11 @@ object LocalCache : ILocalCache, ICacheProvider { ): Boolean { val note = getOrCreateNote(event.id) + if (relay != null) { + getOrCreateUser(event.pubKey).addRelayBeingUsed(relay, event.createdAt) + note.addRelay(relay) + } + // Already processed this event. if (note.event != null) return false @@ -1527,6 +1537,14 @@ object LocalCache : ILocalCache, ICacheProvider { ): Boolean { val note = getOrCreateNote(event.id) + // Approval notes are badge-rendered directly in community feeds + // (BadgeBox has no repost-style indirection for them), so without + // this attribution their relay list stays empty forever. + if (relay != null) { + getOrCreateUser(event.pubKey).addRelayBeingUsed(relay, event.createdAt) + note.addRelay(relay) + } + // Already processed this event. if (note.event != null) return false