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))
)
fun createMessagesFromMeFilter() = JsonFilter( return if (myPeer != null) {
kinds = listOf(PrivateDmEvent.kind), JsonFilter(
authors = listOf(account.userProfile().pubkeyHex), kinds = listOf(PrivateDmEvent.kind),
tags = withUser?.let { mapOf("p" to listOf(it.pubkeyHex)) } authors = listOf(myPeer.pubkeyHex) ,
) tags = mapOf("p" to listOf(account.userProfile().pubkeyHex))
)
} else {
null
}
}
fun createMessagesFromMeFilter(): JsonFilter? {
val myPeer = withUser
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 }
} }
} }