From 0a968eb1913837596342c775fd07592c16b4f410 Mon Sep 17 00:00:00 2001 From: Alek Michelson Date: Fri, 10 Apr 2026 00:50:10 -0400 Subject: [PATCH] poll subscriptions more reactively --- ntfy/Views/SubscriptionListView.swift | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/ntfy/Views/SubscriptionListView.swift b/ntfy/Views/SubscriptionListView.swift index c948c86..10881af 100644 --- a/ntfy/Views/SubscriptionListView.swift +++ b/ntfy/Views/SubscriptionListView.swift @@ -19,18 +19,14 @@ struct SubscriptionListView: View { if #available(iOS 15.0, *) { subscriptionList .refreshable { - subscriptionsModel.subscriptions.forEach { subscription in - subscriptionManager.poll(subscription) - } + pollSubscriptions() } } else { subscriptionList .toolbar { ToolbarItem(placement: .navigationBarLeading) { Button { - subscriptionsModel.subscriptions.forEach { subscription in - subscriptionManager.poll(subscription) - } + pollSubscriptions() } label: { Image(systemName: "arrow.clockwise") } @@ -81,6 +77,16 @@ struct SubscriptionListView: View { .sheet(isPresented: $showingAddDialog) { SubscriptionAddView(isShowing: $showingAddDialog) } + .onAppear { + // Ensures subscription count stays up to date, so a pull to refresh isn't required + pollSubscriptions() + } + } + + private func pollSubscriptions() { + subscriptionsModel.subscriptions.forEach { subscription in + subscriptionManager.poll(subscription) + } } }