diff --git a/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/browser/BrowserScreen.kt b/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/browser/BrowserScreen.kt index 4e0f47f509..0090803983 100644 --- a/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/browser/BrowserScreen.kt +++ b/amethyst/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/browser/BrowserScreen.kt @@ -619,6 +619,10 @@ private fun List.toDiscoverApps( matchAuthor(author) }.mapNotNull { it.toDiscoverNostrApp() } .filter { it.app.coordinate !in excludeCoordinates } + // The observed store can surface the same addressable manifest twice (a replaceable note whose + // new version mutates its sort key inside the backing set), so collapse by coordinate to keep the + // grid keys unique — otherwise LazyVerticalGrid throws on the duplicate "ns:"/"np:" key. + .distinctBy { it.app.coordinate } .take(DISCOVER_NOSTR_LIMIT) .toList()