a bunch more usability improvements

Signed-off-by: William Casarin <jb55@jb55.com>
This commit is contained in:
William Casarin
2022-04-23 18:21:45 -07:00
parent 090385d3da
commit cb463c6da9
7 changed files with 89 additions and 22 deletions

View File

@@ -36,11 +36,35 @@ class ThreadModel: ObservableObject {
self.replies.replies.removeAll()
}
func should_resubscribe(_ ev_b: NostrEvent) -> Bool {
if self.events.count == 0 {
return true
}
guard let ev_a = self.event else {
return true
}
if ev_b.is_root_event() {
return false
}
// rough heuristic to save us from resubscribing all the time
return ev_b.count_ids() != ev_a.count_ids()
}
func set_active_event(_ ev: NostrEvent) {
unsubscribe()
self.event = ev
add_event(ev)
subscribe(ev)
if should_resubscribe(ev) {
unsubscribe()
self.event = ev
add_event(ev)
subscribe(ev)
} else {
self.event = ev
if events.count == 0 {
add_event(ev)
}
}
}
private func subscribe(_ ev: NostrEvent) {