Browse Source

fix: compose reply tags

proposal revisions are tagged as root when replied to,
or in a revision reply chain

user doesnt tag themselves

user doesnt tag people twice
master
DanConwayDev 2 years ago
parent
commit
9730750d5f
No known key found for this signature in database
GPG Key ID: 68E15486D73F75E1
  1. 19
      src/lib/wrappers/ComposeReply.svelte

19
src/lib/wrappers/ComposeReply.svelte

@ -34,6 +34,15 @@ @@ -34,6 +34,15 @@
selected_proposal_or_issue.summary.id.length > 0 &&
!submitted
}
/** to get the proposal revision id rather than the root proposal */
const getRootId = (event: NDKEvent): string | undefined => {
// exclude 'a' references to repo events
return event.tags.find(
(t) => t[0] === 'e' && t.length === 4 && t[3] === 'root'
) || event.tags.some((t) => t[0] === 't' && t[1] === 'root')
? event.id
: undefined
}
async function sendReply(content: string) {
if (!$logged_in_user) return
@ -41,14 +50,14 @@ @@ -41,14 +50,14 @@
new_event.kind = reply_kind
new_event.tags.push([
'e',
selected_proposal_or_issue.summary.id,
getRootId(event) || selected_proposal_or_issue.summary.id,
$selected_repo_event.relays[0] || '',
'root',
])
if (new_event.id.length > 0) {
new_event.tags.push([
if (event.id.length > 0) {
event.tags.push([
'e',
new_event.id,
event.id,
$selected_repo_event.relays[0] || '',
'reply',
])
@ -64,6 +73,7 @@ @@ -64,6 +73,7 @@
? get(user_relays[event.pubkey]).ndk_relays?.writeRelayUrls[0]
: undefined
if (event.pubkey !== $logged_in_user?.hexpubkey)
new_event.tags.push(
parent_event_user_relay
? ['p', event.pubkey, parent_event_user_relay]
@ -72,6 +82,7 @@ @@ -72,6 +82,7 @@
new_event.tags
.filter((tag) => tag[0] === 'p')
.forEach((tag) => {
if (tag[1] !== event.pubkey && tag[1] !== $logged_in_user?.hexpubkey)
new_event.tags.push(tag)
})
new_event.content = content

Loading…
Cancel
Save