Reducing the chance of a bug when loading chatroom without a user

This commit is contained in:
Vitor Pamplona
2023-02-02 20:17:53 -05:00
parent 299cf1aabb
commit 8e02f67052

View File

@ -16,17 +16,33 @@ object NostrChatRoomDataSource: NostrDataSource<Note>("ChatroomFeed") {
withUser = LocalCache.users[userId] withUser = LocalCache.users[userId]
} }
fun createMessagesToMeFilter() = JsonFilter( fun createMessagesToMeFilter(): JsonFilter? {
kinds = listOf(PrivateDmEvent.kind), val myPeer = withUser
authors = withUser?.let { listOf(it.pubkeyHex) },
tags = mapOf("p" to listOf(account.userProfile().pubkeyHex)) return if (myPeer != null) {
) JsonFilter(
kinds = listOf(PrivateDmEvent.kind),
authors = listOf(myPeer.pubkeyHex) ,
tags = mapOf("p" to listOf(account.userProfile().pubkeyHex))
)
} else {
null
}
}
fun createMessagesFromMeFilter() = JsonFilter( fun createMessagesFromMeFilter(): JsonFilter? {
kinds = listOf(PrivateDmEvent.kind), val myPeer = withUser
authors = listOf(account.userProfile().pubkeyHex),
tags = withUser?.let { mapOf("p" to listOf(it.pubkeyHex)) } return if (myPeer != null) {
) JsonFilter(
kinds = listOf(PrivateDmEvent.kind),
authors = listOf(account.userProfile().pubkeyHex),
tags = mapOf("p" to listOf(myPeer.pubkeyHex))
)
} else {
null
}
}
val inandoutChannel = requestNewChannel() val inandoutChannel = requestNewChannel()
@ -42,6 +58,6 @@ object NostrChatRoomDataSource: NostrDataSource<Note>("ChatroomFeed") {
} }
override fun updateChannelFilters() { override fun updateChannelFilters() {
inandoutChannel.filter = listOf(createMessagesToMeFilter(), createMessagesFromMeFilter()).ifEmpty { null } inandoutChannel.filter = listOfNotNull(createMessagesToMeFilter(), createMessagesFromMeFilter()).ifEmpty { null }
} }
} }