@@ -218,29 +218,25 @@ final class TunnelManager: StorePaymentObserver, @unchecked Sendable {
218
218
}
219
219
220
220
func startTunnel( completionHandler: ( ( Error ? ) -> Void ) ? = nil ) {
221
- nonisolated ( unsafe) let nonisolatedCompletionHandler = completionHandler
222
-
223
221
let operation = StartTunnelOperation (
224
222
dispatchQueue: internalQueue,
225
223
interactor: TunnelInteractorProxy ( self ) ,
226
224
completionHandler: { [ weak self] result in
227
225
guard let self else { return }
228
- DispatchQueue . main. async {
229
- if let error = result. error {
230
- self . logger. error (
231
- error: error,
232
- message: " Failed to start the tunnel. "
233
- )
234
-
235
- let tunnelError = StartTunnelError ( underlyingError: error)
236
-
237
- self . observerList. notify { observer in
238
- observer. tunnelManager ( self , didFailWithError: tunnelError)
239
- }
240
- }
226
+ if let error = result. error {
227
+ self . logger. error (
228
+ error: error,
229
+ message: " Failed to start the tunnel. "
230
+ )
231
+
232
+ let tunnelError = StartTunnelError ( underlyingError: error)
241
233
242
- nonisolatedCompletionHandler ? ( result. error)
234
+ self . observerList. notify { observer in
235
+ observer. tunnelManager ( self , didFailWithError: tunnelError)
236
+ }
243
237
}
238
+
239
+ completionHandler ? ( result. error)
244
240
}
245
241
)
246
242
@@ -255,29 +251,26 @@ final class TunnelManager: StorePaymentObserver, @unchecked Sendable {
255
251
}
256
252
257
253
func stopTunnel( completionHandler: ( ( Error ? ) -> Void ) ? = nil ) {
258
- nonisolated ( unsafe) let nonisolatedCompletionHandler = completionHandler
259
254
let operation = StopTunnelOperation (
260
255
dispatchQueue: internalQueue,
261
256
interactor: TunnelInteractorProxy ( self )
262
257
) { [ weak self] result in
263
258
guard let self else { return }
264
259
265
- DispatchQueue . main. async {
266
- if let error = result. error {
267
- self . logger. error (
268
- error: error,
269
- message: " Failed to stop the tunnel. "
270
- )
260
+ if let error = result. error {
261
+ self . logger. error (
262
+ error: error,
263
+ message: " Failed to stop the tunnel. "
264
+ )
271
265
272
- let tunnelError = StopTunnelError ( underlyingError: error)
266
+ let tunnelError = StopTunnelError ( underlyingError: error)
273
267
274
- self . observerList. notify { observer in
275
- observer. tunnelManager ( self , didFailWithError: tunnelError)
276
- }
268
+ self . observerList. notify { observer in
269
+ observer. tunnelManager ( self , didFailWithError: tunnelError)
277
270
}
278
-
279
- nonisolatedCompletionHandler ? ( result. error)
280
271
}
272
+
273
+ completionHandler ? ( result. error)
281
274
}
282
275
283
276
operation. addObserver ( BackgroundObserver (
@@ -482,7 +475,7 @@ final class TunnelManager: StorePaymentObserver, @unchecked Sendable {
482
475
operationQueue. addOperation ( operation)
483
476
}
484
477
485
- func rotatePrivateKey( completionHandler: @escaping @Sendable ( Error ? ) -> Void ) -> Cancellable {
478
+ func rotatePrivateKey( completionHandler: @MainActor @ escaping @Sendable ( Error ? ) -> Void ) -> Cancellable {
486
479
let operation = RotateKeyOperation (
487
480
dispatchQueue: internalQueue,
488
481
interactor: TunnelInteractorProxy ( self ) ,
@@ -499,8 +492,6 @@ final class TunnelManager: StorePaymentObserver, @unchecked Sendable {
499
492
if let error {
500
493
handleRestError ( error)
501
494
}
502
-
503
- completionHandler ( error)
504
495
}
505
496
506
497
operation. addObserver (
0 commit comments