Fixes the clearing of the mapping function between users and subscription ids when subscriptions end

This commit is contained in:
Vitor Pamplona
2025-07-03 10:29:17 -04:00
parent 69db9bdcd5
commit 1f4ad32d23
3 changed files with 11 additions and 14 deletions
@@ -70,6 +70,7 @@ abstract class PerUniqueIdEoseManager<T>(
subId: String,
) {
orchestrator.dismissSubscription(subId)
userSubscriptionMap.remove(key)
}
fun findOrCreateSubFor(key: T): Subscription {
@@ -94,12 +95,10 @@ abstract class PerUniqueIdEoseManager<T>(
updated.add(mainKey)
}
userSubscriptionMap.forEach {
if (it.key !in updated) {
userSubscriptionMap.filter { it.key !in updated }.forEach {
endSub(it.key, it.value)
}
}
}
abstract fun updateFilter(
key: T,
@@ -68,6 +68,7 @@ abstract class PerUserAndFollowListEoseManager<T>(
subId: String,
) {
orchestrator.dismissSubscription(subId)
userSubscriptionMap.remove(key)
}
fun findOrCreateSubFor(key: T): Subscription {
@@ -87,17 +88,15 @@ abstract class PerUserAndFollowListEoseManager<T>(
uniqueSubscribedAccounts.forEach {
val user = user(it)
findOrCreateSubFor(it).relayBasedFilters = updateFilter(it, since(it))?.ifEmpty { null }
val sub = findOrCreateSubFor(it)
sub.relayBasedFilters = updateFilter(it, since(it))?.ifEmpty { null }
updated.add(user)
}
userSubscriptionMap.forEach {
if (it.key !in updated) {
userSubscriptionMap.filter { it.key !in updated }.forEach {
endSub(it.key, it.value)
}
}
}
abstract fun updateFilter(
key: T,
@@ -67,6 +67,7 @@ abstract class PerUserEoseManager<T>(
subId: String,
) {
orchestrator.dismissSubscription(subId)
userSubscriptionMap.remove(key)
}
fun findOrCreateSubFor(key: T): Subscription {
@@ -91,12 +92,10 @@ abstract class PerUserEoseManager<T>(
updated.add(user)
}
userSubscriptionMap.forEach {
if (it.key !in updated) {
userSubscriptionMap.filter { it.key !in updated }.forEach {
endSub(it.key, it.value)
}
}
}
abstract fun updateFilter(
key: T,