Browse Source

Fix profile and event loading in global view

Changelog-Fixed: Fix profile and event loading in global view
post-button-style
William Casarin 2 years ago
parent
commit
f8dc9f42dd
  1. 15
      damus/Nostr/RelayPool.swift
  2. 2
      damus/Views/SearchHomeView.swift

15
damus/Nostr/RelayPool.swift

@ -41,12 +41,19 @@ class RelayPool {
} }
func remove_handler(sub_id: String) { func remove_handler(sub_id: String) {
handlers = handlers.filter { $0.sub_id != sub_id } self.handlers = handlers.filter { $0.sub_id != sub_id }
print("removing \(sub_id) handler, current: \(handlers.count)")
} }
func register_handler(sub_id: String, handler: @escaping (String, NostrConnectionEvent) -> ()) { func register_handler(sub_id: String, handler: @escaping (String, NostrConnectionEvent) -> ()) {
for handler in handlers {
// don't add duplicate handlers
if handler.sub_id == sub_id {
return
}
}
self.handlers.append(RelayHandler(sub_id: sub_id, callback: handler)) self.handlers.append(RelayHandler(sub_id: sub_id, callback: handler))
print("registering \(sub_id) handler, current: \(self.handlers.count)")
} }
func remove_relay(_ relay_id: String) { func remove_relay(_ relay_id: String) {
@ -125,8 +132,10 @@ class RelayPool {
} }
func unsubscribe(sub_id: String, to: [String]? = nil) { func unsubscribe(sub_id: String, to: [String]? = nil) {
if to == nil {
self.remove_handler(sub_id: sub_id) self.remove_handler(sub_id: sub_id)
self.send(.unsubscribe(sub_id)) }
self.send(.unsubscribe(sub_id), to: to)
} }
func subscribe(sub_id: String, filters: [NostrFilter], handler: @escaping (String, NostrConnectionEvent) -> ()) { func subscribe(sub_id: String, filters: [NostrFilter], handler: @escaping (String, NostrConnectionEvent) -> ()) {

2
damus/Views/SearchHomeView.swift

@ -85,8 +85,6 @@ struct SearchHomeView: View {
print("search change 1") print("search change 1")
} }
.onAppear { .onAppear {
// TODO: This will always be empty when switching between tabs
// We'll need to store these in
if model.events.isEmpty { if model.events.isEmpty {
model.subscribe() model.subscribe()
} }

Loading…
Cancel
Save