Optimize json processing and preloading

- Preload events when added to the EventHolder queue
- Remove relative time formatting from preloader. Just do it when event appears
- Process incoming json in a background queue by default

Changelog-Fixed: Fix wrong relative times on events
Changelog-Changed: Preload events when they are queued
This commit is contained in:
William Casarin
2023-05-03 09:18:09 -07:00
parent 3b541f2ec1
commit 39a324fd1e
10 changed files with 191 additions and 90 deletions

View File

@@ -10,7 +10,7 @@ import Foundation
class SearchModel: ObservableObject {
let state: DamusState
var events: EventHolder = EventHolder()
var events: EventHolder
@Published var loading: Bool = false
@Published var channel_name: String? = nil
@@ -22,6 +22,9 @@ class SearchModel: ObservableObject {
init(state: DamusState, search: NostrFilter) {
self.state = state
self.search = search
self.events = EventHolder(on_queue: { ev in
preload_events(state: state, events: [ev])
})
}
func filter_muted() {