Event Preloading

Changelog-Added: Added event preloading when scrolling
Changelog-Added: Preload images so they don't pop in
Changelog-Fixed: Fixed preview elements popping in
Changelog-Changed: Cached various UI elements so its not as laggy
Changelog-Fixed: Fixed glitchy preview
This commit is contained in:
William Casarin
2023-04-30 19:31:14 -07:00
parent c87f19b479
commit 1ca0519e25
11 changed files with 532 additions and 192 deletions

View File

@@ -115,6 +115,18 @@ class Profile: Codable {
}
}
func cache_lnurl() {
guard self._lnurl == nil else {
return
}
guard let addr = lud16 ?? lud06 else {
return
}
self._lnurl = lnaddress_to_lnurl(addr)
}
private var _lnurl: String? = nil
var lnurl: String? {
if let _lnurl {

View File

@@ -127,18 +127,11 @@ final class RelayConnection {
private func receive(message: URLSessionWebSocketTask.Message) {
switch message {
case .string(let messageString):
if messageString.utf8.count > 2000 {
DispatchQueue.global(qos: .default).async {
if let ev = decode_nostr_event(txt: messageString) {
DispatchQueue.main.async {
self.handleEvent(.nostr_event(ev))
}
return
}
}
} else {
DispatchQueue.global(qos: .default).async {
if let ev = decode_nostr_event(txt: messageString) {
handleEvent(.nostr_event(ev))
DispatchQueue.main.async {
self.handleEvent(.nostr_event(ev))
}
return
}
}