Fixing the use of filters that didn't discriminate the relay type setup
This commit is contained in:
@@ -353,9 +353,14 @@ class Relay(
|
|||||||
if (read) {
|
if (read) {
|
||||||
if (isConnected()) {
|
if (isConnected()) {
|
||||||
if (isReady) {
|
if (isReady) {
|
||||||
if (filters.isNotEmpty()) {
|
val relayFilters =
|
||||||
|
filters.filter { filter ->
|
||||||
|
activeTypes.any { it in filter.types }
|
||||||
|
}
|
||||||
|
|
||||||
|
if (relayFilters.isNotEmpty()) {
|
||||||
val request =
|
val request =
|
||||||
filters.joinToStringLimited(
|
relayFilters.joinToStringLimited(
|
||||||
separator = ",",
|
separator = ",",
|
||||||
limit = 20,
|
limit = 20,
|
||||||
prefix = """["REQ","$requestId",""",
|
prefix = """["REQ","$requestId",""",
|
||||||
@@ -423,12 +428,7 @@ class Relay(
|
|||||||
fun renewFilters() {
|
fun renewFilters() {
|
||||||
// Force update all filters after AUTH.
|
// Force update all filters after AUTH.
|
||||||
Client.allSubscriptions().forEach {
|
Client.allSubscriptions().forEach {
|
||||||
val filters =
|
sendFilter(requestId = it.key, it.value)
|
||||||
it.value.filter { filter ->
|
|
||||||
activeTypes.any { it in filter.types }
|
|
||||||
}
|
|
||||||
|
|
||||||
sendFilter(requestId = it.key, filters)
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -81,7 +81,9 @@ object RelayPool : Relay.Listener {
|
|||||||
subscriptionId: String,
|
subscriptionId: String,
|
||||||
filters: List<TypedFilter>,
|
filters: List<TypedFilter>,
|
||||||
) {
|
) {
|
||||||
relays.forEach { it.sendFilter(subscriptionId, filters) }
|
relays.forEach { relay ->
|
||||||
|
relay.sendFilter(subscriptionId, filters)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fun connectAndSendFiltersIfDisconnected() {
|
fun connectAndSendFiltersIfDisconnected() {
|
||||||
|
|||||||
Reference in New Issue
Block a user