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 0eb2d6a47..3b4dc9fd3 100644 --- a/amethyst/src/main/java/com/vitorpamplona/amethyst/model/LocalCache.kt +++ b/amethyst/src/main/java/com/vitorpamplona/amethyst/model/LocalCache.kt @@ -2971,7 +2971,11 @@ object LocalCache : ILocalCache { getAddressableNoteIfExists(event.address())?.let { note -> note.event?.let { existingEvent -> if (existingEvent.createdAt > event.createdAt && !note.hasRelay(relay.url)) { - Log.d("LocalCache", "Updating ${relay.url.url} with a new version of ${event.toJson()} to ${existingEvent.toJson()}") + Log.d("LocalCache", "Updating ${relay.url.url} with a new version of ${event.kind} ${event.id} to ${existingEvent.id}") + + // only send once. + note.addRelay(relay.url) + relay.send(existingEvent) } } diff --git a/amethyst/src/main/java/com/vitorpamplona/amethyst/model/Note.kt b/amethyst/src/main/java/com/vitorpamplona/amethyst/model/Note.kt index 3cb637329..eb2bb4f64 100644 --- a/amethyst/src/main/java/com/vitorpamplona/amethyst/model/Note.kt +++ b/amethyst/src/main/java/com/vitorpamplona/amethyst/model/Note.kt @@ -464,7 +464,7 @@ open class Note( } } - fun hasRelay(relay: NormalizedRelayUrl) = relay !in relays + fun hasRelay(relay: NormalizedRelayUrl) = relay in relays fun addRelay(relay: NormalizedRelayUrl) { if (relay !in relays) { diff --git a/quartz/src/main/java/com/vitorpamplona/quartz/nip01Core/relay/client/single/basic/BasicRelayClient.kt b/quartz/src/main/java/com/vitorpamplona/quartz/nip01Core/relay/client/single/basic/BasicRelayClient.kt index 80bb399f4..fcfac8e72 100644 --- a/quartz/src/main/java/com/vitorpamplona/quartz/nip01Core/relay/client/single/basic/BasicRelayClient.kt +++ b/quartz/src/main/java/com/vitorpamplona/quartz/nip01Core/relay/client/single/basic/BasicRelayClient.kt @@ -263,7 +263,7 @@ open class BasicRelayClient( msg: OkMessage, onConnected: () -> Unit, ) { - // Log.w(logTag, "OK: ${msg.eventId} ${msg.success} ${msg.message}") + Log.w(logTag, "OK: ${msg.eventId} ${msg.success} ${msg.message}") // if this is the OK of an auth event, renew all subscriptions and resend all outgoing events. if (authResponseWatcher.containsKey(msg.eventId)) {