Fixes preview of relay information screen

This commit is contained in:
Vitor Pamplona
2026-03-10 08:50:51 -04:00
parent 741a2e13b5
commit 50a578cfdc
3 changed files with 19 additions and 8 deletions
@@ -145,7 +145,6 @@ import com.vitorpamplona.quartz.experimental.trustedAssertions.list.TrustProvide
import com.vitorpamplona.quartz.experimental.zapPolls.PollNoteEvent
import com.vitorpamplona.quartz.nip01Core.core.HexKey
import com.vitorpamplona.quartz.nip01Core.metadata.MetadataEvent
import com.vitorpamplona.quartz.nip01Core.relay.client.NostrClient
import com.vitorpamplona.quartz.nip01Core.relay.client.stats.ErrorDebugMessage
import com.vitorpamplona.quartz.nip01Core.relay.client.stats.IRelayDebugMessage
import com.vitorpamplona.quartz.nip01Core.relay.client.stats.NoticeDebugMessage
@@ -345,10 +344,9 @@ fun RelayInformationBody(
accountViewModel: AccountViewModel,
nav: INav,
) {
val nostrClient = remember { Amethyst.instance.client as? NostrClient }
val activeReqs = remember(relay) { nostrClient?.activeRequests(relay) ?: emptyMap() }
val activeCounts = remember(relay) { nostrClient?.activeCounts(relay) ?: emptyMap() }
val activeOutbox = remember(relay) { nostrClient?.activeOutboxCache(relay) ?: emptySet() }
val activeReqs = remember(relay) { accountViewModel.account.client.activeRequests(relay) }
val activeCounts = remember(relay) { accountViewModel.account.client.activeCounts(relay) }
val activeOutbox = remember(relay) { accountViewModel.account.client.activeOutboxCache(relay) }
val usedBy =
remember(relay) {
@@ -21,6 +21,7 @@
package com.vitorpamplona.quartz.nip01Core.relay.client
import com.vitorpamplona.quartz.nip01Core.core.Event
import com.vitorpamplona.quartz.nip01Core.core.HexKey
import com.vitorpamplona.quartz.nip01Core.relay.client.listeners.IRelayClientListener
import com.vitorpamplona.quartz.nip01Core.relay.client.reqs.IRequestListener
import com.vitorpamplona.quartz.nip01Core.relay.client.single.IRelayClient
@@ -78,6 +79,12 @@ interface INostrClient {
fun getReqFiltersOrNull(subId: String): Map<NormalizedRelayUrl, List<Filter>>?
fun getCountFiltersOrNull(subId: String): Map<NormalizedRelayUrl, List<Filter>>?
fun activeRequests(url: NormalizedRelayUrl): Map<String, List<Filter>>
fun activeCounts(url: NormalizedRelayUrl): Map<String, List<Filter>>
fun activeOutboxCache(url: NormalizedRelayUrl): Set<HexKey>
}
object EmptyNostrClient : INostrClient {
@@ -123,4 +130,10 @@ object EmptyNostrClient : INostrClient {
override fun getReqFiltersOrNull(subId: String): Map<NormalizedRelayUrl, List<Filter>>? = null
override fun getCountFiltersOrNull(subId: String): Map<NormalizedRelayUrl, List<Filter>>? = null
override fun activeRequests(url: NormalizedRelayUrl): Map<String, List<Filter>> = emptyMap()
override fun activeCounts(url: NormalizedRelayUrl): Map<String, List<Filter>> = emptyMap()
override fun activeOutboxCache(url: NormalizedRelayUrl): Set<HexKey> = emptySet()
}
@@ -313,11 +313,11 @@ class NostrClient(
listeners = listeners.minus(listener)
}
fun activeRequests(url: NormalizedRelayUrl): Map<String, List<Filter>> = activeRequests.activeFiltersFor(url)
override fun activeRequests(url: NormalizedRelayUrl): Map<String, List<Filter>> = activeRequests.activeFiltersFor(url)
fun activeCounts(url: NormalizedRelayUrl): Map<String, List<Filter>> = activeCounts.activeFiltersFor(url)
override fun activeCounts(url: NormalizedRelayUrl): Map<String, List<Filter>> = activeCounts.activeFiltersFor(url)
fun activeOutboxCache(url: NormalizedRelayUrl): Set<HexKey> = eventOutbox.activeOutboxCacheFor(url)
override fun activeOutboxCache(url: NormalizedRelayUrl): Set<HexKey> = eventOutbox.activeOutboxCacheFor(url)
override fun getReqFiltersOrNull(subId: String): Map<NormalizedRelayUrl, List<Filter>>? = activeRequests.getSubscriptionFiltersOrNull(subId)