Fixing the use of filters that didn't discriminate the relay type setup

pull/824/head
Vitor Pamplona 2024-04-04 15:24:04 -04:00
rodzic 7fd37367fc
commit 719b950272
2 zmienionych plików z 11 dodań i 9 usunięć

Wyświetl plik

@ -353,9 +353,14 @@ class Relay(
if (read) {
if (isConnected()) {
if (isReady) {
if (filters.isNotEmpty()) {
val relayFilters =
filters.filter { filter ->
activeTypes.any { it in filter.types }
}
if (relayFilters.isNotEmpty()) {
val request =
filters.joinToStringLimited(
relayFilters.joinToStringLimited(
separator = ",",
limit = 20,
prefix = """["REQ","$requestId",""",
@ -423,12 +428,7 @@ class Relay(
fun renewFilters() {
// Force update all filters after AUTH.
Client.allSubscriptions().forEach {
val filters =
it.value.filter { filter ->
activeTypes.any { it in filter.types }
}
sendFilter(requestId = it.key, filters)
sendFilter(requestId = it.key, it.value)
}
}

Wyświetl plik

@ -81,7 +81,9 @@ object RelayPool : Relay.Listener {
subscriptionId: String,
filters: List<TypedFilter>,
) {
relays.forEach { it.sendFilter(subscriptionId, filters) }
relays.forEach { relay ->
relay.sendFilter(subscriptionId, filters)
}
}
fun connectAndSendFiltersIfDisconnected() {