diff --git a/app/src/main/java/com/vitorpamplona/amethyst/ui/dal/DiscoverNIP89FeedFilter.kt b/app/src/main/java/com/vitorpamplona/amethyst/ui/dal/DiscoverNIP89FeedFilter.kt index f8a133cdd..d090e4e95 100644 --- a/app/src/main/java/com/vitorpamplona/amethyst/ui/dal/DiscoverNIP89FeedFilter.kt +++ b/app/src/main/java/com/vitorpamplona/amethyst/ui/dal/DiscoverNIP89FeedFilter.kt @@ -53,7 +53,7 @@ open class DiscoverNIP89FeedFilter( val notes = LocalCache.addressables.filterIntoSet { _, it -> val noteEvent = it.event - noteEvent is AppDefinitionEvent && filterParams.match(noteEvent) && noteEvent.supportedKinds().contains(5300) && noteEvent.createdAt > TimeUtils.now() - lastAnnounced // && params.match(noteEvent) + noteEvent is AppDefinitionEvent && filterParams.match(noteEvent) && noteEvent.includeKind("5300") && noteEvent.createdAt > TimeUtils.now() - lastAnnounced // && params.match(noteEvent) } return sort(notes) @@ -77,7 +77,7 @@ open class DiscoverNIP89FeedFilter( return collection.filterTo(HashSet()) { val noteEvent = it.event - noteEvent is AppDefinitionEvent && filterParams.match(noteEvent) && noteEvent.supportedKinds().contains(5300) && noteEvent.createdAt > TimeUtils.now() - lastAnnounced // && params.match(noteEvent) + noteEvent is AppDefinitionEvent && filterParams.match(noteEvent) && noteEvent.includeKind("5300") && noteEvent.createdAt > TimeUtils.now() - lastAnnounced // && params.match(noteEvent) } } diff --git a/quartz/src/main/java/com/vitorpamplona/quartz/events/AppDefinitionEvent.kt b/quartz/src/main/java/com/vitorpamplona/quartz/events/AppDefinitionEvent.kt index f0cf4a7c3..dacc186b9 100644 --- a/quartz/src/main/java/com/vitorpamplona/quartz/events/AppDefinitionEvent.kt +++ b/quartz/src/main/java/com/vitorpamplona/quartz/events/AppDefinitionEvent.kt @@ -147,6 +147,8 @@ class AppDefinitionEvent( .filter { it.size > 1 && it[0] == "k" } .mapNotNull { runCatching { it[1].toInt() }.getOrNull() } + fun includeKind(kind: String) = tags.any { it.size > 1 && it[0] == "k" && it[1] == kind } + fun publishedAt() = tags.firstOrNull { it.size > 1 && it[0] == "published_at" }?.get(1) companion object {