Migrates the Subscription controller to use filters from the NostrClient instead of the past version in the controller to avoid out of sync comparisons
This commit is contained in:
@@ -408,6 +408,8 @@ class NostrClient(
|
|||||||
|
|
||||||
fun getSubscriptionFilters(subId: String): List<TypedFilter> = activeSubscriptions.getSubscriptionFilters(subId)
|
fun getSubscriptionFilters(subId: String): List<TypedFilter> = activeSubscriptions.getSubscriptionFilters(subId)
|
||||||
|
|
||||||
|
fun getSubscriptionFiltersOrNull(subId: String): List<TypedFilter>? = activeSubscriptions.getSubscriptionFiltersOrNull(subId)
|
||||||
|
|
||||||
fun connectedRelays() = relayPool.connectedRelays()
|
fun connectedRelays() = relayPool.connectedRelays()
|
||||||
|
|
||||||
fun relayStatusFlow() = relayPool.statusFlow
|
fun relayStatusFlow() = relayPool.statusFlow
|
||||||
|
|||||||
@@ -39,6 +39,8 @@ class MutableSubscriptionManager : SubscriptionManager {
|
|||||||
override fun allSubscriptions(): Map<String, List<TypedFilter>> = subscriptions
|
override fun allSubscriptions(): Map<String, List<TypedFilter>> = subscriptions
|
||||||
|
|
||||||
override fun getSubscriptionFilters(subId: String): List<TypedFilter> = subscriptions[subId] ?: emptyList()
|
override fun getSubscriptionFilters(subId: String): List<TypedFilter> = subscriptions[subId] ?: emptyList()
|
||||||
|
|
||||||
|
override fun getSubscriptionFiltersOrNull(subId: String): List<TypedFilter>? = subscriptions[subId]
|
||||||
}
|
}
|
||||||
|
|
||||||
interface SubscriptionManager {
|
interface SubscriptionManager {
|
||||||
@@ -47,4 +49,6 @@ interface SubscriptionManager {
|
|||||||
fun allSubscriptions(): Map<String, List<TypedFilter>>
|
fun allSubscriptions(): Map<String, List<TypedFilter>>
|
||||||
|
|
||||||
fun getSubscriptionFilters(subId: String): List<TypedFilter>
|
fun getSubscriptionFilters(subId: String): List<TypedFilter>
|
||||||
|
|
||||||
|
fun getSubscriptionFiltersOrNull(subId: String): List<TypedFilter>
|
||||||
}
|
}
|
||||||
|
|||||||
+1
-1
@@ -155,7 +155,7 @@ class SubscriptionController(
|
|||||||
// saves the channels that are currently active
|
// saves the channels that are currently active
|
||||||
val activeSubscriptions = subscriptions.actives()
|
val activeSubscriptions = subscriptions.actives()
|
||||||
// saves the current content to only update if it changes
|
// saves the current content to only update if it changes
|
||||||
val currentFilters = activeSubscriptions.associate { it.id to it.typedFilters }
|
val currentFilters = activeSubscriptions.associate { it.id to client.getSubscriptionFiltersOrNull(it.id) }
|
||||||
|
|
||||||
// updates all filters
|
// updates all filters
|
||||||
updateSubscriptions()
|
updateSubscriptions()
|
||||||
|
|||||||
Reference in New Issue
Block a user