diff --git a/app/src/main/java/com/vitorpamplona/amethyst/service/NostrThreadDataSource.kt b/app/src/main/java/com/vitorpamplona/amethyst/service/NostrThreadDataSource.kt index 81cd6bb03..5447b7458 100644 --- a/app/src/main/java/com/vitorpamplona/amethyst/service/NostrThreadDataSource.kt +++ b/app/src/main/java/com/vitorpamplona/amethyst/service/NostrThreadDataSource.kt @@ -25,8 +25,11 @@ object NostrThreadDataSource: NostrDataSource("SingleThreadFeed") { } fun createLoadEventsIfNotLoadedFilter(): JsonFilter? { - val eventsToLoad = eventsToWatch - .map { LocalCache.notes[it] } + val nodes = synchronized(eventsToWatch) { + eventsToWatch.map { LocalCache.notes[it] } + } + + val eventsToLoad = nodes .filterNotNull() .filter { it.event == null } .map { it.idHex.substring(0, 8) } @@ -85,7 +88,9 @@ object NostrThreadDataSource: NostrDataSource("SingleThreadFeed") { thread.add(note) threadSet.add(note) - note.replies.forEach { + synchronized(note.replies) { + note.replies.toList() + }.forEach { loadDown(it, thread, threadSet) } } diff --git a/app/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/HomeScreen.kt b/app/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/HomeScreen.kt index 632a3fcb2..4401126c2 100644 --- a/app/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/HomeScreen.kt +++ b/app/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/HomeScreen.kt @@ -79,8 +79,6 @@ fun HomeScreen(accountViewModel: AccountViewModel, navController: NavController) 1 -> FeedView(feedViewModelReplies, accountViewModel, navController) } } - - } } } \ No newline at end of file