From 7006c173bbaea674a9922cac6f827bbb606106a7 Mon Sep 17 00:00:00 2001 From: Austin Smith Date: Tue, 11 Aug 2026 23:33:20 -0700 Subject: [PATCH] mark refresh outcome methods as discardable result refreshNow, performFullRefresh, and the binding-based load/loadIfIdle wrappers exist primarily for their side effects and surface errors internally, so most call sites ignore the returned RefreshOutcome. annotating them silences six unused-result warnings while callers that want the outcome (ios pull-to-refresh haptics, tests) still receive it. --- BitDream/TransmissionStore.swift | 4 +++- .../Shared/TorrentDetailSupplementalStore+Bindings.swift | 2 ++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/BitDream/TransmissionStore.swift b/BitDream/TransmissionStore.swift index 6656f66..8e68d8e 100644 --- a/BitDream/TransmissionStore.swift +++ b/BitDream/TransmissionStore.swift @@ -680,10 +680,11 @@ extension TransmissionStore { func requestRefresh() { Task { @MainActor [weak self] in guard let self else { return } - _ = await self.refreshNow() + await self.refreshNow() } } + @discardableResult func refreshNow() async -> RefreshOutcome { guard let activeConnection else { return .unavailable } @@ -775,6 +776,7 @@ extension TransmissionStore { } } + @discardableResult private func performFullRefresh(for connectionState: ActiveConnection) async -> RefreshOutcome { do { let snapshot = try await connectionState.connection.fetchAppRefreshSnapshot() diff --git a/BitDream/Views/Shared/TorrentDetailSupplementalStore+Bindings.swift b/BitDream/Views/Shared/TorrentDetailSupplementalStore+Bindings.swift index c961495..ee5fdbe 100644 --- a/BitDream/Views/Shared/TorrentDetailSupplementalStore+Bindings.swift +++ b/BitDream/Views/Shared/TorrentDetailSupplementalStore+Bindings.swift @@ -2,6 +2,7 @@ import SwiftUI @MainActor extension TorrentDetailSupplementalStore { + @discardableResult func load( for identity: TorrentDetailIdentity, using store: TransmissionStore, @@ -66,6 +67,7 @@ extension TorrentDetailSupplementalStore { ) } + @discardableResult func loadIfIdle( for identity: TorrentDetailIdentity, using store: TransmissionStore,