From 4722b2a6172a8d706d0f8aafc9af6344520a8608 Mon Sep 17 00:00:00 2001 From: Vitor Pamplona Date: Wed, 10 Apr 2024 11:05:21 -0400 Subject: [PATCH] Fixes missing Zaps and some DMs on startup --- .../amethyst/service/NostrAccountDataSource.kt | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/app/src/main/java/com/vitorpamplona/amethyst/service/NostrAccountDataSource.kt b/app/src/main/java/com/vitorpamplona/amethyst/service/NostrAccountDataSource.kt index 62beb62a0..97c6ba0db 100644 --- a/app/src/main/java/com/vitorpamplona/amethyst/service/NostrAccountDataSource.kt +++ b/app/src/main/java/com/vitorpamplona/amethyst/service/NostrAccountDataSource.kt @@ -269,7 +269,7 @@ object NostrAccountDataSource : NostrDataSource("AccountData") { if (!event.isDeleted()) { val note = LocalCache.getNoteIfExists(event.id) - if (note != null && relay.brief in note.relays) return + if (note?.event != null && relay.brief in note.relays) return // decrypts event.cachedDraft(account.signer) {} @@ -281,30 +281,36 @@ object NostrAccountDataSource : NostrDataSource("AccountData") { is GiftWrapEvent -> { // Avoid decrypting over and over again if the event already exist. val note = LocalCache.getNoteIfExists(event.id) - if (note != null && relay.brief in note.relays) return + if (note?.event != null && relay.brief in note.relays) return event.cachedGift(account.signer) { this.consume(it, relay) } + + LocalCache.justConsume(event, relay) } is SealedGossipEvent -> { // Avoid decrypting over and over again if the event already exist. val note = LocalCache.getNoteIfExists(event.id) - if (note != null && relay.brief in note.relays) return + if (note?.event != null && relay.brief in note.relays) return event.cachedGossip(account.signer) { LocalCache.justConsume(it, relay) } + + LocalCache.justConsume(event, relay) } is LnZapEvent -> { // Avoid decrypting over and over again if the event already exist. - val note = LocalCache.getNoteIfExists(event.id) - if (note != null && relay.brief in note.relays) return + + if (note?.event != null && relay.brief in note.relays) return event.zapRequest?.let { if (it.isPrivateZap()) { it.decryptPrivateZap(account.signer) {} } } + + LocalCache.justConsume(event, relay) } else -> {