From 4c3c7e7cba207d2f3418a5af3ff8b7a1f1d84bea Mon Sep 17 00:00:00 2001 From: Vitor Pamplona Date: Mon, 24 Jun 2024 19:22:15 -0400 Subject: [PATCH] Fixes not showing relay icons when sending messages with Amber. --- .../service/NostrAccountDataSource.kt | 25 ++++++++++--------- 1 file changed, 13 insertions(+), 12 deletions(-) diff --git a/amethyst/src/main/java/com/vitorpamplona/amethyst/service/NostrAccountDataSource.kt b/amethyst/src/main/java/com/vitorpamplona/amethyst/service/NostrAccountDataSource.kt index d844308a69..103dcd6c1f 100644 --- a/amethyst/src/main/java/com/vitorpamplona/amethyst/service/NostrAccountDataSource.kt +++ b/amethyst/src/main/java/com/vitorpamplona/amethyst/service/NostrAccountDataSource.kt @@ -316,15 +316,17 @@ object NostrAccountDataSource : AmethystNostrDataSource("AccountData") { val noteEvent = note?.event as? GiftWrapEvent if (noteEvent != null) { if (relay.brief !in note.relays) { - LocalCache.justConsume(noteEvent, relay) noteEvent.cachedGift(account.signer) { + LocalCache.justConsume(noteEvent, relay) this.consume(it, relay) } } } else { // new event - event.cachedGift(account.signer) { this.consume(it, relay) } - LocalCache.justConsume(event, relay) + event.cachedGift(account.signer) { + LocalCache.justConsume(event, relay) + this.consume(it, relay) + } } } @@ -335,15 +337,17 @@ object NostrAccountDataSource : AmethystNostrDataSource("AccountData") { if (noteEvent != null) { if (relay.brief !in note.relays) { // adds the relay to seal and inner chat - LocalCache.consume(noteEvent, relay) noteEvent.cachedGossip(account.signer) { + LocalCache.consume(noteEvent, relay) LocalCache.justConsume(it, relay) } } } else { // new event - event.cachedGossip(account.signer) { LocalCache.justConsume(it, relay) } - LocalCache.justConsume(event, relay) + event.cachedGossip(account.signer) { + LocalCache.justConsume(event, relay) + LocalCache.justConsume(it, relay) + } } } @@ -377,24 +381,21 @@ object NostrAccountDataSource : AmethystNostrDataSource("AccountData") { super.markAsSeenOnRelay(eventId, relay) val note = LocalCache.getNoteIfExists(eventId) ?: return - val privKey = account.keyPair.privKey ?: return - val noteEvent = note.event ?: return - markInnerAsSeenOnRelay(noteEvent, privKey, relay) + markInnerAsSeenOnRelay(noteEvent, relay) } private fun markInnerAsSeenOnRelay( noteEvent: EventInterface, - privKey: ByteArray, relay: Relay, ) { LocalCache.getNoteIfExists(noteEvent.id())?.addRelay(relay) if (noteEvent is GiftWrapEvent) { - noteEvent.cachedGift(account.signer) { gift -> markInnerAsSeenOnRelay(gift, privKey, relay) } + noteEvent.cachedGift(account.signer) { gift -> markInnerAsSeenOnRelay(gift, relay) } } else if (noteEvent is SealedGossipEvent) { noteEvent.cachedGossip(account.signer) { rumor -> - markInnerAsSeenOnRelay(rumor, privKey, relay) + markInnerAsSeenOnRelay(rumor, relay) } } }