Improve loading speeds for home timeline and universe view
Signed-off-by: Daniel D’Aquino <daniel@daquino.me>
This commit is contained in:
@@ -744,7 +744,7 @@ struct ContentView: View {
|
|||||||
}
|
}
|
||||||
damus_state.nostrNetwork.connect()
|
damus_state.nostrNetwork.connect()
|
||||||
// TODO: Move this to a better spot. Not sure what is the best signal to listen to for sending initial filters
|
// TODO: Move this to a better spot. Not sure what is the best signal to listen to for sending initial filters
|
||||||
DispatchQueue.main.asyncAfter(deadline: .now() + 3, execute: {
|
DispatchQueue.main.asyncAfter(deadline: .now() + 0.25, execute: {
|
||||||
self.home.send_initial_filters()
|
self.home.send_initial_filters()
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -62,16 +62,22 @@ class SearchHomeModel: ObservableObject {
|
|||||||
var follow_list_filter = NostrFilter(kinds: [.follow_list])
|
var follow_list_filter = NostrFilter(kinds: [.follow_list])
|
||||||
follow_list_filter.until = UInt32(Date.now.timeIntervalSince1970)
|
follow_list_filter.until = UInt32(Date.now.timeIntervalSince1970)
|
||||||
|
|
||||||
for await noteLender in damus_state.nostrNetwork.reader.streamExistingEvents(filters: [follow_list_filter], to: to_relays) {
|
for await item in damus_state.nostrNetwork.reader.advancedStream(filters: [get_base_filter(), follow_list_filter], to: to_relays) {
|
||||||
await noteLender.justUseACopy({ await self.handleFollowPackEvent($0) })
|
switch item {
|
||||||
}
|
case .event(lender: let lender):
|
||||||
|
await lender.justUseACopy({ event in
|
||||||
for await noteLender in damus_state.nostrNetwork.reader.streamExistingEvents(filters: [get_base_filter()], to: to_relays) {
|
await self.handleFollowPackEvent(event)
|
||||||
await noteLender.justUseACopy({ await self.handleEvent($0) })
|
await self.handleEvent(event)
|
||||||
}
|
})
|
||||||
|
case .eose:
|
||||||
DispatchQueue.main.async {
|
break
|
||||||
self.loading = false
|
case .ndbEose:
|
||||||
|
DispatchQueue.main.async {
|
||||||
|
self.loading = false
|
||||||
|
}
|
||||||
|
case .networkEose:
|
||||||
|
break
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user