Use structured concurrency instead of Task.detached in GatewayDiscoveryModel

This commit is contained in:
abhijeet117 2026-01-28 21:05:51 +05:30
parent 01e0d3a320
commit 806c285481

View File

@ -114,7 +114,8 @@ public final class GatewayDiscoveryModel {
public func refreshWideAreaFallbackNow(timeoutSeconds: TimeInterval = 5.0) { public func refreshWideAreaFallbackNow(timeoutSeconds: TimeInterval = 5.0) {
let domain = MoltbotBonjour.wideAreaGatewayServiceDomain let domain = MoltbotBonjour.wideAreaGatewayServiceDomain
Task.detached(priority: .utility) { [weak self] in Task(priority: .utility) { [weak self] in
guard let self else { return } guard let self else { return }
let beacons = WideAreaGatewayDiscovery.discover(timeoutSeconds: timeoutSeconds) let beacons = WideAreaGatewayDiscovery.discover(timeoutSeconds: timeoutSeconds)
await MainActor.run { [weak self] in await MainActor.run { [weak self] in
@ -246,7 +247,8 @@ public final class GatewayDiscoveryModel {
let domain = MoltbotBonjour.wideAreaGatewayServiceDomain let domain = MoltbotBonjour.wideAreaGatewayServiceDomain
if Self.isRunningTests { return } if Self.isRunningTests { return }
guard self.wideAreaFallbackTask == nil else { return } guard self.wideAreaFallbackTask == nil else { return }
self.wideAreaFallbackTask = Task.detached(priority: .utility) { [weak self] in self.wideAreaFallbackTask = Task(priority: .utility) { [weak self] in
guard let self else { return } guard let self else { return }
var attempt = 0 var attempt = 0
let startedAt = Date() let startedAt = Date()
@ -513,7 +515,7 @@ public final class GatewayDiscoveryModel {
private func refreshLocalIdentity() { private func refreshLocalIdentity() {
let fastIdentity = self.localIdentity let fastIdentity = self.localIdentity
let displayName = self.localDisplayName let displayName = self.localDisplayName
Task.detached(priority: .utility) { Task(priority: .utility) {
let slowIdentity = Self.buildLocalIdentitySlow(displayName: displayName) let slowIdentity = Self.buildLocalIdentitySlow(displayName: displayName)
let merged = Self.mergeLocalIdentity(fast: fastIdentity, slow: slowIdentity) let merged = Self.mergeLocalIdentity(fast: fastIdentity, slow: slowIdentity)
await MainActor.run { [weak self] in await MainActor.run { [weak self] in