From 59cdd81aecdc783d39543732736c7aac7f2c12a6 Mon Sep 17 00:00:00 2001 From: Vitor Pamplona Date: Wed, 15 Mar 2023 17:02:13 -0400 Subject: [PATCH] Shows LongForm Texts on Global --- .../amethyst/ui/dal/GlobalFeedFilter.kt | 20 +++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/com/vitorpamplona/amethyst/ui/dal/GlobalFeedFilter.kt b/app/src/main/java/com/vitorpamplona/amethyst/ui/dal/GlobalFeedFilter.kt index be7e83f5e..e2ad47575 100644 --- a/app/src/main/java/com/vitorpamplona/amethyst/ui/dal/GlobalFeedFilter.kt +++ b/app/src/main/java/com/vitorpamplona/amethyst/ui/dal/GlobalFeedFilter.kt @@ -14,7 +14,7 @@ object GlobalFeedFilter : FeedFilter() { val followChannels = account.followingChannels() val followUsers = account.followingKeySet() - return LocalCache.notes.values + val notes = LocalCache.notes.values .asSequence() .filter { (it.event is TextNoteEvent || it.event is LongTextNoteEvent || it.event is ChannelMessageEvent) && @@ -27,8 +27,24 @@ object GlobalFeedFilter : FeedFilter() { (it.author?.pubkeyHex !in followUsers) } .filter { account.isAcceptable(it) } - .sortedBy { it.createdAt() } .toList() + + val longFormNotes = LocalCache.addressables.values + .asSequence() + .filter { + (it.event is LongTextNoteEvent) && it.replyTo.isNullOrEmpty() + } + .filter { + // does not show events already in the public chat list + (it.channel() == null || it.channel() !in followChannels) && + // does not show people the user already follows + (it.author?.pubkeyHex !in followUsers) + } + .filter { account.isAcceptable(it) } + .toList() + + return (notes + longFormNotes) + .sortedBy { it.createdAt() } .reversed() } }