Browse Source

don't show replies to non-friends in timeline

Changelog-Fixed: Don't show replies to non-friends in timeline
Signed-off-by: William Casarin <jb55@jb55.com>
profiles-everywhere
William Casarin 3 years ago
parent
commit
7437199ef6
  1. 12
      damus/Models/Contacts.swift
  2. 4
      damus/Models/HomeModel.swift

12
damus/Models/Contacts.swift

@ -214,9 +214,17 @@ func is_friend_event(_ ev: NostrEvent, our_pubkey: String, contacts: Contacts) -
return true
}
let pks = ev.referenced_pubkeys
// allow reply-to-self-or-friend case
if pks.count == 1 && contacts.is_friend(pks[0].ref_id) {
return true
}
// show our replies?
for pk in ev.referenced_pubkeys {
if contacts.is_friend(pk.ref_id) {
for pk in pks {
// don't count self mentions here
if pk.ref_id != ev.pubkey && contacts.is_friend(pk.ref_id) {
return true
}
}

4
damus/Models/HomeModel.swift

@ -289,7 +289,9 @@ class HomeModel: ObservableObject {
}
if sub_id == home_subid {
let _ = insert_home_event(ev)
if is_friend_event(ev, our_pubkey: damus_state.pubkey, contacts: damus_state.contacts) {
let _ = insert_home_event(ev)
}
} else if sub_id == notifications_subid {
handle_notification(ev: ev)
}

Loading…
Cancel
Save