Fix loading bug when opening boosted posts
Changelog-Fixed: Fixed thread loading issue when clicking on boosts Signed-off-by: William Casarin <jb55@jb55.com>
This commit is contained in:
@@ -101,9 +101,13 @@ class NostrEvent: Codable, Identifiable, CustomStringConvertible, Equatable {
|
||||
}
|
||||
|
||||
lazy var inner_event: NostrEvent? = {
|
||||
return event_from_json(dat: self.content)
|
||||
// don't try to deserialize an inner event if we know there won't be one
|
||||
if self.known_kind == .boost {
|
||||
return event_from_json(dat: self.content)
|
||||
}
|
||||
return nil
|
||||
}()
|
||||
|
||||
|
||||
private var _event_refs: [EventRef]? = nil
|
||||
func event_refs(_ privkey: String?) -> [EventRef] {
|
||||
if let rs = _event_refs {
|
||||
@@ -739,3 +743,12 @@ func validate_event(ev: NostrEvent) -> ValidationResult {
|
||||
ok = secp256k1_schnorrsig_verify(ctx, &sig64, &raw_id_bytes, raw_id.count, &xonly_pubkey) > 0
|
||||
return ok ? .ok : .bad_sig
|
||||
}
|
||||
|
||||
|
||||
func inner_event_or_self(ev: NostrEvent) -> NostrEvent {
|
||||
guard let inner_ev = ev.inner_event else {
|
||||
return ev
|
||||
}
|
||||
|
||||
return inner_ev
|
||||
}
|
||||
|
||||
@@ -20,7 +20,9 @@ struct InnerTimelineView: View {
|
||||
var body: some View {
|
||||
LazyVStack {
|
||||
ForEach(events, id: \.id) { (ev: NostrEvent) in
|
||||
let tv = ThreadView(thread: ThreadModel(event: ev, pool: damus.pool, privkey: damus.keypair.privkey), damus: damus, is_chatroom: has_hashtag(ev.tags, hashtag: "chat"))
|
||||
let tm = ThreadModel(event: inner_event_or_self(ev: ev), pool: damus.pool, privkey: damus.keypair.privkey)
|
||||
let is_chatroom = has_hashtag(ev.tags, hashtag: "chat")
|
||||
let tv = ThreadView(thread: tm, damus: damus, is_chatroom: is_chatroom)
|
||||
|
||||
NavigationLink(destination: tv) {
|
||||
EventView(event: ev, highlight: .none, has_action_bar: true, damus: damus, show_friend_icon: show_friend_icon)
|
||||
@@ -80,3 +82,4 @@ struct NavigationLazyView<Content: View>: View {
|
||||
build()
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user