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 getSubscriptionFiltersOrNull(subId: String): List<TypedFilter>? = activeSubscriptions.getSubscriptionFiltersOrNull(subId)
|
||||
|
||||
fun connectedRelays() = relayPool.connectedRelays()
|
||||
|
||||
fun relayStatusFlow() = relayPool.statusFlow
|
||||
|
||||
@@ -39,6 +39,8 @@ class MutableSubscriptionManager : SubscriptionManager {
|
||||
override fun allSubscriptions(): Map<String, List<TypedFilter>> = subscriptions
|
||||
|
||||
override fun getSubscriptionFilters(subId: String): List<TypedFilter> = subscriptions[subId] ?: emptyList()
|
||||
|
||||
override fun getSubscriptionFiltersOrNull(subId: String): List<TypedFilter>? = subscriptions[subId]
|
||||
}
|
||||
|
||||
interface SubscriptionManager {
|
||||
@@ -47,4 +49,6 @@ interface SubscriptionManager {
|
||||
fun allSubscriptions(): Map<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
|
||||
val activeSubscriptions = subscriptions.actives()
|
||||
// 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
|
||||
updateSubscriptions()
|
||||
|
||||
Reference in New Issue
Block a user