@@ -85,7 +85,7 @@ public final class RemoteChangeObserver: NSObject, @unchecked Sendable {
8585 webSocketAuthenticationFailCount = 0
8686
8787 Task {
88- await reconnectWebSocket ( )
88+ reconnectWebSocket ( )
8989 }
9090 }
9191
@@ -95,13 +95,10 @@ public final class RemoteChangeObserver: NSObject, @unchecked Sendable {
9595 return
9696 }
9797
98- Task {
98+ Task { @ MainActor in
9999 pollingTimer = Timer . scheduledTimer ( withTimeInterval: pollInterval, repeats: true ) { [ weak self] _ in
100100 self ? . logger. info ( " Polling timer timeout, notifying change. " )
101-
102- Task {
103- await self ? . startWorkingSetCheck ( )
104- }
101+ self ? . startWorkingSetCheck ( )
105102 }
106103
107104 logger. info ( " Starting polling timer. " )
@@ -254,7 +251,7 @@ public final class RemoteChangeObserver: NSObject, @unchecked Sendable {
254251 }
255252
256253 Task {
257- await self . pingWebSocket ( )
254+ self . pingWebSocket ( )
258255 }
259256 }
260257 }
@@ -281,20 +278,20 @@ public final class RemoteChangeObserver: NSObject, @unchecked Sendable {
281278
282279 guard error == nil else {
283280 self . logger. error ( " Websocket ping failed. " , [ . error: error] )
284- await self . incrementWebSocketPingFailCount ( )
281+ self . incrementWebSocketPingFailCount ( )
285282
286- if await self . webSocketPingFailCount > self . webSocketPingFailLimit {
283+ if self . webSocketPingFailCount > self . webSocketPingFailLimit {
287284 Task . detached ( priority: . medium) {
288- await self . reconnectWebSocket ( )
285+ self . reconnectWebSocket ( )
289286 }
290287 } else {
291- await startNewWebSocketPingTask ( )
288+ startNewWebSocketPingTask ( )
292289 }
293290
294291 return
295292 }
296293
297- await startNewWebSocketPingTask ( )
294+ startNewWebSocketPingTask ( )
298295 }
299296 }
300297 }
@@ -312,20 +309,20 @@ public final class RemoteChangeObserver: NSObject, @unchecked Sendable {
312309
313310 switch result {
314311 case . failure:
315- let accountId = await self . accountId
312+ let accountId = self . accountId
316313 self . logger. debug ( " Failed to read websocket. " , [ . account: accountId] )
317314 // Do not reconnect here, delegate methods will handle reconnecting
318315 case let . success( message) :
319316 switch message {
320317 case let . data( data) :
321- await self . processWebsocket ( data: data)
318+ self . processWebsocket ( data: data)
322319 case let . string( string) :
323- await self . processWebsocket ( string: string)
320+ self . processWebsocket ( string: string)
324321 @unknown default :
325322 self . logger. error ( " Unknown case encountered while reading websocket! " )
326323 }
327324
328- await self . readWebSocket ( )
325+ self . readWebSocket ( )
329326 }
330327 }
331328 }
@@ -383,30 +380,30 @@ public final class RemoteChangeObserver: NSObject, @unchecked Sendable {
383380extension RemoteChangeObserver : URLSessionWebSocketDelegate {
384381 nonisolated public func urlSession( _: URLSession , webSocketTask _: URLSessionWebSocketTask , didOpenWithProtocol _: String ? ) {
385382 Task {
386- guard await invalidated == false else {
383+ guard invalidated == false else {
387384 return
388385 }
389386
390- logger. debug ( " Websocket connected sending auth details " , [ . account: await accountId] )
387+ logger. debug ( " Websocket connected sending auth details " , [ . account: accountId] )
391388 await authenticateWebSocket ( )
392389 }
393390 }
394391
395392 nonisolated public func urlSession( _: URLSession , webSocketTask: URLSessionWebSocketTask , didCloseWith _: URLSessionWebSocketTask . CloseCode , reason: Data ? ) {
396393 Task {
397- guard await invalidated == false else {
394+ guard invalidated == false else {
398395 return
399396 }
400397
401398 // If the task that closed is not the current active task, it means we have
402399 // already initiated a reset and this is a stale callback. Ignore it.
403- guard await webSocketTask === self . webSocketTask else {
400+ guard webSocketTask === self . webSocketTask else {
404401 logger. debug ( " An old websocket task closed, ignoring. " )
405402 return
406403 }
407404
408- logger. debug ( " Socket connection closed: \( String ( data: reason ?? Data ( ) , encoding: . utf8) ?? " unknown reason " ) . Retrying websocket connection. " , [ . account: await accountId] )
409- await reconnectWebSocket ( )
405+ logger. debug ( " Socket connection closed: \( String ( data: reason ?? Data ( ) , encoding: . utf8) ?? " unknown reason " ) . Retrying websocket connection. " , [ . account: accountId] )
406+ reconnectWebSocket ( )
410407 }
411408 }
412409
@@ -422,15 +419,15 @@ extension RemoteChangeObserver: NextcloudKitDelegate {
422419 return
423420 }
424421
425- guard await !invalidated else {
422+ guard !invalidated else {
426423 return
427424 }
428425
429426 let authMethod = challenge. protectionSpace. authenticationMethod
430427 logger. debug ( " Received auth challenge with method: \( authMethod) " )
431428
432429 if authMethod == NSURLAuthenticationMethodHTTPBasic {
433- let credential = await URLCredential ( user: account. username, password: account. password, persistence: . forSession)
430+ let credential = URLCredential ( user: account. username, password: account. password, persistence: . forSession)
434431 completionHandler ( . useCredential, credential)
435432 } else if authMethod == NSURLAuthenticationMethodServerTrust {
436433 // TODO: Validate the server trust
@@ -456,7 +453,7 @@ extension RemoteChangeObserver: NextcloudKitDelegate {
456453 return
457454 }
458455
459- await self . setNetworkReachability ( typeReachability)
456+ self . setNetworkReachability ( typeReachability)
460457 }
461458 }
462459
@@ -518,6 +515,7 @@ extension RemoteChangeObserver: NextcloudKitDelegate {
518515 ///
519516 func startWorkingSetCheck( completionHandler: ( @Sendable ( ) -> Void ) ? = nil ) {
520517 guard !workingSetCheckOngoing, !invalidated else {
518+ logger. error ( " Cancelling dispatch of working set check because it either is already ongoing or this is invalidated! " )
521519 return
522520 }
523521
@@ -528,9 +526,11 @@ extension RemoteChangeObserver: NextcloudKitDelegate {
528526 }
529527
530528 private func checkWorkingSet( ) async {
529+ logger. debug ( " Checking working set... " )
531530 workingSetCheckOngoing = true
532531
533532 defer {
533+ logger. debug ( " Working set check no longer ongoing. " )
534534 workingSetCheckOngoing = false
535535 }
536536
0 commit comments