From bfe5fcf0b14f4b6ae1f7d5c4a2e21f36b1468a0e Mon Sep 17 00:00:00 2001 From: greenart7c3 Date: Mon, 30 Jun 2025 08:11:10 -0300 Subject: [PATCH] - Propagate Auth event to `sendAndWaitForResponse` - Pass feed types to `sendSingle` when sending signed event --- .../vitorpamplona/ammolite/relays/NostrClient.kt | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/ammolite/src/main/java/com/vitorpamplona/ammolite/relays/NostrClient.kt b/ammolite/src/main/java/com/vitorpamplona/ammolite/relays/NostrClient.kt index 9fb98f556..14b05d3ed 100644 --- a/ammolite/src/main/java/com/vitorpamplona/ammolite/relays/NostrClient.kt +++ b/ammolite/src/main/java/com/vitorpamplona/ammolite/relays/NostrClient.kt @@ -152,6 +152,7 @@ class NostrClient( onDone: (() -> Unit)? = null, additionalListener: Listener? = null, timeoutInSeconds: Long = 15, + onAuth: ((Relay, String) -> Unit)? = null, ): Boolean { checkNotInMainThread() @@ -164,6 +165,16 @@ class NostrClient( val subscription = object : Listener { + override fun onAuth( + relay: Relay, + challenge: String, + ) { + onAuth?.let { + it(relay, challenge) + } + Log.d("sendAndWaitForResponse", "onAuth Auth from relay ${relay.url} count: ${latch.count} challenge: $challenge") + } + override fun onError( error: Error, subscriptionId: String, @@ -225,7 +236,7 @@ class NostrClient( } else if (relay == null) { send(signedEvent) } else { - sendSingle(signedEvent, RelaySetupInfoToConnect(relay, forceProxy, true, true, emptySet()), onDone ?: {}) + sendSingle(signedEvent, RelaySetupInfoToConnect(relay, forceProxy, true, true, feedTypes ?: emptySet()), onDone ?: {}) } } job.join()