Skip to content

Commit fc482a9

Browse files
committed
filter the stream all as well
1 parent 95c8205 commit fc482a9

File tree

1 file changed

+10
-2
lines changed

1 file changed

+10
-2
lines changed

library/src/main/java/org/xmtp/android/library/Conversations.kt

+10-2
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ import org.xmtp.android.library.messages.DecryptedMessage
1717
import org.xmtp.android.library.messages.Envelope
1818
import org.xmtp.android.library.messages.EnvelopeBuilder
1919
import org.xmtp.android.library.messages.InvitationV1
20+
import org.xmtp.android.library.messages.MessageKind
2021
import org.xmtp.android.library.messages.MessageV1Builder
2122
import org.xmtp.android.library.messages.Pagination
2223
import org.xmtp.android.library.messages.SealedInvitation
@@ -46,6 +47,7 @@ import uniffi.xmtpv3.FfiListConversationsOptions
4647
import uniffi.xmtpv3.FfiMessage
4748
import uniffi.xmtpv3.FfiMessageCallback
4849
import uniffi.xmtpv3.GroupPermissions
50+
import uniffi.xmtpv3.org.xmtp.android.library.codecs.ContentTypeGroupMembershipChange
4951
import java.util.Date
5052
import kotlin.time.Duration.Companion.nanoseconds
5153
import kotlin.time.DurationUnit
@@ -576,7 +578,10 @@ data class Conversations(
576578
fun streamAllGroupMessages(): Flow<DecodedMessage> = callbackFlow {
577579
val messageCallback = object : FfiMessageCallback {
578580
override fun onMessage(message: FfiMessage) {
579-
trySend(MessageV3(client, message).decode())
581+
val decodedMessage = MessageV3(client, message).decode()
582+
if (!(decodedMessage.encodedContent.type == ContentTypeGroupMembershipChange && decodedMessage.kind != MessageKind.MEMBERSHIP_CHANGE)) {
583+
trySend(decodedMessage)
584+
}
580585
}
581586
}
582587
val stream = libXMTPConversations?.streamAllMessages(messageCallback)
@@ -587,7 +592,10 @@ data class Conversations(
587592
fun streamAllGroupDecryptedMessages(): Flow<DecryptedMessage> = callbackFlow {
588593
val messageCallback = object : FfiMessageCallback {
589594
override fun onMessage(message: FfiMessage) {
590-
trySend(MessageV3(client, message).decrypt())
595+
val decryptedMessage = MessageV3(client, message).decrypt()
596+
if (!(decryptedMessage.encodedContent.type == ContentTypeGroupMembershipChange && decryptedMessage.kind != MessageKind.MEMBERSHIP_CHANGE)) {
597+
trySend(decryptedMessage)
598+
}
591599
}
592600
}
593601
val stream = libXMTPConversations?.streamAllMessages(messageCallback)

0 commit comments

Comments
 (0)