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.experimental.zapPolls.PollNoteEvent
import com.vitorpamplona.quartz.nip01Core.core.HexKey import com.vitorpamplona.quartz.nip01Core.core.HexKey
import com.vitorpamplona.quartz.nip01Core.metadata.MetadataEvent 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.ErrorDebugMessage
import com.vitorpamplona.quartz.nip01Core.relay.client.stats.IRelayDebugMessage import com.vitorpamplona.quartz.nip01Core.relay.client.stats.IRelayDebugMessage
import com.vitorpamplona.quartz.nip01Core.relay.client.stats.NoticeDebugMessage import com.vitorpamplona.quartz.nip01Core.relay.client.stats.NoticeDebugMessage
@@ -345,10 +344,9 @@ fun RelayInformationBody(
accountViewModel: AccountViewModel, accountViewModel: AccountViewModel,
nav: INav, nav: INav,
) { ) {
val nostrClient = remember { Amethyst.instance.client as? NostrClient } val activeReqs = remember(relay) { accountViewModel.account.client.activeRequests(relay) }
val activeReqs = remember(relay) { nostrClient?.activeRequests(relay) ?: emptyMap() } val activeCounts = remember(relay) { accountViewModel.account.client.activeCounts(relay) }
val activeCounts = remember(relay) { nostrClient?.activeCounts(relay) ?: emptyMap() } val activeOutbox = remember(relay) { accountViewModel.account.client.activeOutboxCache(relay) }
val activeOutbox = remember(relay) { nostrClient?.activeOutboxCache(relay) ?: emptySet() }
val usedBy = val usedBy =
remember(relay) { remember(relay) {
@@ -21,6 +21,7 @@
package com.vitorpamplona.quartz.nip01Core.relay.client package com.vitorpamplona.quartz.nip01Core.relay.client
import com.vitorpamplona.quartz.nip01Core.core.Event 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.listeners.IRelayClientListener
import com.vitorpamplona.quartz.nip01Core.relay.client.reqs.IRequestListener import com.vitorpamplona.quartz.nip01Core.relay.client.reqs.IRequestListener
import com.vitorpamplona.quartz.nip01Core.relay.client.single.IRelayClient import com.vitorpamplona.quartz.nip01Core.relay.client.single.IRelayClient
@@ -78,6 +79,12 @@ interface INostrClient {
fun getReqFiltersOrNull(subId: String): Map<NormalizedRelayUrl, List<Filter>>? fun getReqFiltersOrNull(subId: String): Map<NormalizedRelayUrl, List<Filter>>?
fun getCountFiltersOrNull(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 { object EmptyNostrClient : INostrClient {
@@ -123,4 +130,10 @@ object EmptyNostrClient : INostrClient {
override fun getReqFiltersOrNull(subId: String): Map<NormalizedRelayUrl, List<Filter>>? = null override fun getReqFiltersOrNull(subId: String): Map<NormalizedRelayUrl, List<Filter>>? = null
override fun getCountFiltersOrNull(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) 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) override fun getReqFiltersOrNull(subId: String): Map<NormalizedRelayUrl, List<Filter>>? = activeRequests.getSubscriptionFiltersOrNull(subId)