Skip to content

Commit 8cb7090

Browse files
authored
fix up actually removing self from peer addresses (#188)
1 parent e1eec1d commit 8cb7090

File tree

3 files changed

+18
-14
lines changed

3 files changed

+18
-14
lines changed

library/src/androidTest/java/org/xmtp/android/library/GroupTest.kt

+10-4
Original file line numberDiff line numberDiff line change
@@ -150,6 +150,14 @@ class GroupTest {
150150
bo.walletAddress.lowercase()
151151
).sorted()
152152
)
153+
154+
assertEquals(
155+
Conversation.Group(group).peerAddresses.sorted(),
156+
listOf(
157+
caro.walletAddress.lowercase(),
158+
alix.walletAddress.lowercase(),
159+
).sorted()
160+
)
153161
}
154162

155163
@Test
@@ -430,8 +438,7 @@ class GroupTest {
430438
)
431439

432440
var result = boClient.contacts.isGroupAllowed(group.id)
433-
434-
assert(!result)
441+
assert(result)
435442

436443
boClient.contacts.allowGroup(listOf(group.id))
437444

@@ -448,8 +455,7 @@ class GroupTest {
448455
)
449456
)
450457
var result = boClient.contacts.isGroupAllowed(group.id)
451-
452-
assert(!result)
458+
assert(result)
453459

454460
boClient.contacts.denyGroup(listOf(group.id))
455461

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

+2-10
Original file line numberDiff line numberDiff line change
@@ -55,11 +55,7 @@ sealed class Conversation {
5555
return when (this) {
5656
is V1 -> conversationV1.peerAddress
5757
is V2 -> conversationV2.peerAddress
58-
is Group -> {
59-
val addresses = group.memberAddresses().toMutableList()
60-
addresses.remove(clientAddress)
61-
addresses.joinToString(",")
62-
}
58+
is Group -> group.peerAddresses().joinToString(",")
6359
}
6460
}
6561

@@ -68,11 +64,7 @@ sealed class Conversation {
6864
return when (this) {
6965
is V1 -> listOf(conversationV1.peerAddress)
7066
is V2 -> listOf(conversationV2.peerAddress)
71-
is Group -> {
72-
val addresses = group.memberAddresses().toMutableList()
73-
addresses.remove(clientAddress)
74-
addresses
75-
}
67+
is Group -> group.peerAddresses()
7668
}
7769
}
7870

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

+6
Original file line numberDiff line numberDiff line change
@@ -165,6 +165,12 @@ class Group(val client: Client, private val libXMTPGroup: FfiGroup) {
165165
}
166166
}
167167

168+
fun peerAddresses(): List<String> {
169+
val addresses = memberAddresses().map { it.lowercase() }.toMutableList()
170+
addresses.remove(client.address.lowercase())
171+
return addresses
172+
}
173+
168174
fun streamMessages(): Flow<DecodedMessage> = callbackFlow {
169175
val messageCallback = object : FfiMessageCallback {
170176
override fun onMessage(message: FfiMessage) {

0 commit comments

Comments
 (0)