Browse Source

fix reply tags

Signed-off-by: William Casarin <jb55@jb55.com>
profiles-everywhere
William Casarin 3 years ago
parent
commit
844146e547
  1. 11
      damus/ContentView.swift
  2. 22
      damus/Views/PostView.swift

11
damus/ContentView.swift

@ -119,16 +119,7 @@ struct ContentView: View {
let post = obj.object as! NostrPost
print("post \(post.content)")
let privkey = ""
let new_ev = NostrEvent(content: post.content, pubkey: pubkey)
for id in post.references {
var tag = [id.key, id.ref_id]
if let relay_id = id.relay_id {
tag.append(relay_id)
}
new_ev.tags.append(tag)
}
new_ev.calculate_id()
new_ev.sign(privkey: privkey)
let new_ev = post.to_event(privkey: privkey, pubkey: pubkey)
self.pool?.send(.event(new_ev))
}
}

22
damus/Views/PostView.swift

@ -16,6 +16,28 @@ extension Notification.Name {
struct NostrPost {
let content: String
let references: [ReferencedId]
public func to_event(privkey: String, pubkey: String) -> NostrEvent {
let new_ev = NostrEvent(content: content, pubkey: pubkey)
for id in references {
var tag = [id.key, id.ref_id]
if let relay_id = id.relay_id {
tag.append(relay_id)
}
new_ev.tags.append(tag)
// filter our pubkeys
new_ev.tags = new_ev.tags.filter {
if $0[0] == "p" {
return $0[1] != pubkey
} else {
return true
}
}
}
new_ev.calculate_id()
new_ev.sign(privkey: privkey)
return new_ev
}
}

Loading…
Cancel
Save