fix: Make add/remove member events support multiple p tags and add NIP-43 to NoteMaster
Changes memberPubKey() to memberPubKeys() returning a list of all p tags in RelayAddMemberEvent and RelayRemoveMemberEvent. Updates renderers to display multiple members. Adds NIP-43 event rendering to ThreadFeedView (NoteMaster) alongside NoteCompose. https://claude.ai/code/session_01PRqe4bBCb9u62oPh8u9sHx
This commit is contained in:
+3
-3
@@ -39,20 +39,20 @@ class RelayAddMemberEvent(
|
||||
content: String,
|
||||
sig: HexKey,
|
||||
) : Event(id, pubKey, createdAt, KIND, tags, content, sig) {
|
||||
fun memberPubKey() = tags.firstNotNullOfOrNull(PTag::parseKey)
|
||||
fun memberPubKeys() = tags.mapNotNull(PTag::parseKey)
|
||||
|
||||
companion object {
|
||||
const val KIND = 8000
|
||||
const val ALT_DESCRIPTION = "Relay member added"
|
||||
|
||||
fun build(
|
||||
memberPubKey: HexKey,
|
||||
memberPubKeys: List<HexKey>,
|
||||
createdAt: Long = TimeUtils.now(),
|
||||
initializer: TagArrayBuilder<RelayAddMemberEvent>.() -> Unit = {},
|
||||
) = eventTemplate(KIND, "", createdAt) {
|
||||
alt(ALT_DESCRIPTION)
|
||||
protect()
|
||||
add(PTag.assemble(memberPubKey, null))
|
||||
memberPubKeys.forEach { add(PTag.assemble(it, null)) }
|
||||
initializer()
|
||||
}
|
||||
}
|
||||
|
||||
+3
-3
@@ -39,20 +39,20 @@ class RelayRemoveMemberEvent(
|
||||
content: String,
|
||||
sig: HexKey,
|
||||
) : Event(id, pubKey, createdAt, KIND, tags, content, sig) {
|
||||
fun memberPubKey() = tags.firstNotNullOfOrNull(PTag::parseKey)
|
||||
fun memberPubKeys() = tags.mapNotNull(PTag::parseKey)
|
||||
|
||||
companion object {
|
||||
const val KIND = 8001
|
||||
const val ALT_DESCRIPTION = "Relay member removed"
|
||||
|
||||
fun build(
|
||||
memberPubKey: HexKey,
|
||||
memberPubKeys: List<HexKey>,
|
||||
createdAt: Long = TimeUtils.now(),
|
||||
initializer: TagArrayBuilder<RelayRemoveMemberEvent>.() -> Unit = {},
|
||||
) = eventTemplate(KIND, "", createdAt) {
|
||||
alt(ALT_DESCRIPTION)
|
||||
protect()
|
||||
add(PTag.assemble(memberPubKey, null))
|
||||
memberPubKeys.forEach { add(PTag.assemble(it, null)) }
|
||||
initializer()
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user