From 78d92036b41c95cc993029e07409dbee637bbfde Mon Sep 17 00:00:00 2001 From: Jamil Date: Wed, 8 Jan 2025 10:02:34 -0800 Subject: [PATCH] refactor(apple/ios): Remove incorrect use of Task {} (#7700) This code doesn't make sense: - In the Adapter, we are not running on the main UI thread - In this callback, we are running on the `workQueue` anyway - `Task` is not how to spawn a new thread in Swift strictly speaking --- .../FirezoneNetworkExtension/Adapter.swift | 25 ++++++++----------- 1 file changed, 11 insertions(+), 14 deletions(-) diff --git a/swift/apple/FirezoneNetworkExtension/Adapter.swift b/swift/apple/FirezoneNetworkExtension/Adapter.swift index dfa666083..3247a2c1f 100644 --- a/swift/apple/FirezoneNetworkExtension/Adapter.swift +++ b/swift/apple/FirezoneNetworkExtension/Adapter.swift @@ -313,23 +313,20 @@ extension Adapter { } if shouldFetchSystemResolvers(path: path) { - // Spawn a new thread to avoid blocking the UI on iOS - Task { - let resolvers = getSystemDefaultResolvers( - interfaceName: path.availableInterfaces.first?.name) + let resolvers = getSystemDefaultResolvers( + interfaceName: path.availableInterfaces.first?.name) - if lastFetchedResolvers != resolvers, - let jsonResolvers = try? String( - decoding: JSONEncoder().encode(resolvers), as: UTF8.self - ).intoRustString() - { + if lastFetchedResolvers != resolvers, + let jsonResolvers = try? String( + decoding: JSONEncoder().encode(resolvers), as: UTF8.self + ).intoRustString() + { - // Update connlib DNS - session.setDns(jsonResolvers) + // Update connlib DNS + session.setDns(jsonResolvers) - // Update our state tracker - lastFetchedResolvers = resolvers - } + // Update our state tracker + lastFetchedResolvers = resolvers } }