From c43a37d2d343786768e635afc5121a65e73d9b14 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20D=E2=80=99Aquino?= Date: Mon, 1 Sep 2025 15:13:05 -0700 Subject: [PATCH] Fix forever-loading quote repost view MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Daniel D’Aquino --- damus/Features/Events/Models/EventsModel.swift | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/damus/Features/Events/Models/EventsModel.swift b/damus/Features/Events/Models/EventsModel.swift index 4c586895..f9f47739 100644 --- a/damus/Features/Events/Models/EventsModel.swift +++ b/damus/Features/Events/Models/EventsModel.swift @@ -70,7 +70,8 @@ class EventsModel: ObservableObject { func subscribe() { loadingTask?.cancel() loadingTask = Task { - for await item in state.nostrNetwork.reader.subscribe(filters: [get_filter()]) { + DispatchQueue.main.async { self.loading = true } + outerLoop: for await item in state.nostrNetwork.reader.subscribe(filters: [get_filter()]) { switch item { case .event(let borrow): var event: NostrEvent? = nil @@ -84,10 +85,11 @@ class EventsModel: ObservableObject { } } case .eose: - break + DispatchQueue.main.async { self.loading = false } + break outerLoop } } - self.loading = false + DispatchQueue.main.async { self.loading = false } guard let txn = NdbTxn(ndb: self.state.ndb) else { return } load_profiles(context: "events_model", load: .from_events(events.all_events), damus_state: state, txn: txn) }