diff --git a/amethyst/src/main/java/com/vitorpamplona/amethyst/service/relayClient/reqCommand/account/follows/AccountFollowsLoaderSubAssembler.kt b/amethyst/src/main/java/com/vitorpamplona/amethyst/service/relayClient/reqCommand/account/follows/AccountFollowsLoaderSubAssembler.kt index 8192abf20..5e70dfedd 100644 --- a/amethyst/src/main/java/com/vitorpamplona/amethyst/service/relayClient/reqCommand/account/follows/AccountFollowsLoaderSubAssembler.kt +++ b/amethyst/src/main/java/com/vitorpamplona/amethyst/service/relayClient/reqCommand/account/follows/AccountFollowsLoaderSubAssembler.kt @@ -24,6 +24,7 @@ import com.vitorpamplona.amethyst.commons.relayClient.eoseManagers.IEoseManager import com.vitorpamplona.amethyst.isDebug import com.vitorpamplona.amethyst.model.Account import com.vitorpamplona.amethyst.model.LocalCache +import com.vitorpamplona.amethyst.model.LocalCache.users import com.vitorpamplona.amethyst.model.User import com.vitorpamplona.amethyst.service.BundledUpdate import com.vitorpamplona.amethyst.service.relayClient.reqCommand.account.AccountQueryState @@ -150,7 +151,10 @@ class AccountFollowsLoaderSubAssembler( } } - if (users.isEmpty()) return null + if (users.isEmpty()) { + hasTried.removeEveryoneBut(emptySet()) + return null + } val connectedRelays = client.connectedRelaysFlow().value diff --git a/amethyst/src/main/java/com/vitorpamplona/amethyst/service/relayClient/reqCommand/account/follows/FilterFindFollowMetadataForKey.kt b/amethyst/src/main/java/com/vitorpamplona/amethyst/service/relayClient/reqCommand/account/follows/FilterFindFollowMetadataForKey.kt index 4db9ea1e5..fb3457ef6 100644 --- a/amethyst/src/main/java/com/vitorpamplona/amethyst/service/relayClient/reqCommand/account/follows/FilterFindFollowMetadataForKey.kt +++ b/amethyst/src/main/java/com/vitorpamplona/amethyst/service/relayClient/reqCommand/account/follows/FilterFindFollowMetadataForKey.kt @@ -73,6 +73,7 @@ fun pickRelaysToLoadUsers( searchRelays - cannotConnectRelays, connected, commonRelays - cannotConnectRelays, + cannotConnectRelays, hasTried, ) } @@ -84,11 +85,12 @@ fun pickRelaysToLoadUsers( searchRelays: Set, connected: Set, commonRelays: Set, + cannotConnectRelays: Set, hasTried: EOSEAccountFast, ): Map> = mapOfSet { users.forEachIndexed { idx, key -> - val tried = hasTried.since(key)?.keys ?: emptySet() + val tried = (hasTried.since(key)?.keys ?: emptySet()) + cannotConnectRelays val outbox = key.authorRelayList()?.writeRelaysNorm()