From 5040350be5ff659d0682f859741061c6e5a224b8 Mon Sep 17 00:00:00 2001 From: Vitor Pamplona Date: Wed, 17 May 2023 13:54:20 -0400 Subject: [PATCH] Fixes Auth for NIP-42 sporadic connections. --- .../java/com/vitorpamplona/amethyst/service/relays/Client.kt | 4 ++-- .../com/vitorpamplona/amethyst/service/relays/RelayPool.kt | 4 ++++ 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/com/vitorpamplona/amethyst/service/relays/Client.kt b/app/src/main/java/com/vitorpamplona/amethyst/service/relays/Client.kt index 3fb91722f..33a02c40e 100644 --- a/app/src/main/java/com/vitorpamplona/amethyst/service/relays/Client.kt +++ b/app/src/main/java/com/vitorpamplona/amethyst/service/relays/Client.kt @@ -70,7 +70,7 @@ object Client : RelayPool.Listener { if (relay == null) { RelayPool.send(signedEvent) } else { - val useConnectedRelayIfPresent = relays.filter { it.url == relay } + val useConnectedRelayIfPresent = RelayPool.getRelays(relay) if (useConnectedRelayIfPresent.isNotEmpty()) { useConnectedRelayIfPresent.forEach { @@ -103,7 +103,7 @@ object Client : RelayPool.Listener { onConnected(relay) GlobalScope.launch(Dispatchers.IO) { - delay(10000) // waits for a reply + delay(60000) // waits for a reply relay.disconnect() RelayPool.removeRelay(relay) diff --git a/app/src/main/java/com/vitorpamplona/amethyst/service/relays/RelayPool.kt b/app/src/main/java/com/vitorpamplona/amethyst/service/relays/RelayPool.kt index 702bdc1b2..23f2c4a25 100644 --- a/app/src/main/java/com/vitorpamplona/amethyst/service/relays/RelayPool.kt +++ b/app/src/main/java/com/vitorpamplona/amethyst/service/relays/RelayPool.kt @@ -30,6 +30,10 @@ object RelayPool : Relay.Listener { return relays.firstOrNull() { it.url == url } } + fun getRelays(url: String): List { + return relays.filter { it.url == url } + } + fun loadRelays(relayList: List) { if (!relayList.isNullOrEmpty()) { relayList.forEach { addRelay(it) }