Fixes bug when showing multiple versions of replaceable videos in the gallery.

This commit is contained in:
Vitor Pamplona
2026-02-23 19:21:58 -05:00
parent 2f1eeea77b
commit 6c12476902
@@ -21,9 +21,11 @@
package com.vitorpamplona.amethyst.ui.screen.loggedIn.profile.gallery.dal package com.vitorpamplona.amethyst.ui.screen.loggedIn.profile.gallery.dal
import com.vitorpamplona.amethyst.model.Account import com.vitorpamplona.amethyst.model.Account
import com.vitorpamplona.amethyst.model.AddressableNote
import com.vitorpamplona.amethyst.model.LocalCache import com.vitorpamplona.amethyst.model.LocalCache
import com.vitorpamplona.amethyst.model.Note import com.vitorpamplona.amethyst.model.Note
import com.vitorpamplona.amethyst.model.User import com.vitorpamplona.amethyst.model.User
import com.vitorpamplona.amethyst.model.filter
import com.vitorpamplona.amethyst.ui.dal.AdditiveFeedFilter import com.vitorpamplona.amethyst.ui.dal.AdditiveFeedFilter
import com.vitorpamplona.amethyst.ui.dal.DefaultFeedOrder import com.vitorpamplona.amethyst.ui.dal.DefaultFeedOrder
import com.vitorpamplona.amethyst.ui.dal.FilterByListParams import com.vitorpamplona.amethyst.ui.dal.FilterByListParams
@@ -31,7 +33,9 @@ import com.vitorpamplona.quartz.experimental.profileGallery.ProfileGalleryEntryE
import com.vitorpamplona.quartz.nip51Lists.muteList.MuteListEvent import com.vitorpamplona.quartz.nip51Lists.muteList.MuteListEvent
import com.vitorpamplona.quartz.nip51Lists.peopleList.PeopleListEvent import com.vitorpamplona.quartz.nip51Lists.peopleList.PeopleListEvent
import com.vitorpamplona.quartz.nip68Picture.PictureEvent import com.vitorpamplona.quartz.nip68Picture.PictureEvent
import com.vitorpamplona.quartz.nip71Video.VideoEvent import com.vitorpamplona.quartz.nip71Video.RegularVideoEvent
import com.vitorpamplona.quartz.nip71Video.ReplaceableVideoEvent
import com.vitorpamplona.quartz.nip71Video.VideoVerticalEvent
class UserProfileGalleryFeedFilter( class UserProfileGalleryFeedFilter(
val user: User, val user: User,
@@ -51,6 +55,12 @@ class UserProfileGalleryFeedFilter(
acceptableEvent(it, params, user) acceptableEvent(it, params, user)
} }
val addressableNotes =
LocalCache.addressables.filter(
listOf(VideoVerticalEvent.KIND, VideoVerticalEvent.KIND),
user.pubkeyHex,
)
return sort(notes).toList() return sort(notes).toList()
} }
@@ -72,7 +82,8 @@ class UserProfileGalleryFeedFilter(
( (
it.event?.pubKey == user.pubkeyHex && ( it.event?.pubKey == user.pubkeyHex && (
noteEvent is PictureEvent || noteEvent is PictureEvent ||
noteEvent is VideoEvent || noteEvent is RegularVideoEvent ||
(noteEvent is ReplaceableVideoEvent && it is AddressableNote) ||
(noteEvent is ProfileGalleryEntryEvent && noteEvent.hasUrl() && noteEvent.hasFromEvent()) (noteEvent is ProfileGalleryEntryEvent && noteEvent.hasUrl() && noteEvent.hasFromEvent())
) )
) // && noteEvent.isOneOf(SUPPORTED_VIDEO_FEED_MIME_TYPES_SET)) ) // && noteEvent.isOneOf(SUPPORTED_VIDEO_FEED_MIME_TYPES_SET))