From 49c131a5cd73a96be7d69f7ab6f4a02278c525bc Mon Sep 17 00:00:00 2001 From: Vitor Pamplona Date: Mon, 5 May 2025 19:11:54 -0400 Subject: [PATCH] Adding more constraints to the channel filter --- .../channel/ChannelFinderFilterAssembler.kt | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/amethyst/src/main/java/com/vitorpamplona/amethyst/service/relayClient/reqCommand/channel/ChannelFinderFilterAssembler.kt b/amethyst/src/main/java/com/vitorpamplona/amethyst/service/relayClient/reqCommand/channel/ChannelFinderFilterAssembler.kt index c61389b95..0d1aca866 100644 --- a/amethyst/src/main/java/com/vitorpamplona/amethyst/service/relayClient/reqCommand/channel/ChannelFinderFilterAssembler.kt +++ b/amethyst/src/main/java/com/vitorpamplona/amethyst/service/relayClient/reqCommand/channel/ChannelFinderFilterAssembler.kt @@ -54,15 +54,20 @@ class ChannelFinderFilterAssembler( SincePerRelayFilter( kinds = listOf(ChannelMetadataEvent.KIND), tags = mapOf("e" to reactionsToWatch), + limit = 3, ), ) } fun createLoadEventsIfNotLoadedFilter(keys: Set): TypedFilter? { - val directEventsToLoad = - keys.filter { it.channel.notes.isEmpty() && it.channel is PublicChatChannel } - - val interestedEvents = (directEventsToLoad).map { it.channel.idHex }.toSet() + val interestedEvents = + keys.mapNotNullTo(mutableSetOf()) { + if (it.channel is PublicChatChannel && it.channel.event == null) { + it.channel.idHex + } else { + null + } + } if (interestedEvents.isEmpty()) { return null