|
@@ -332,16 +332,11 @@ class NCNetworking: NSObject, NKCommonDelegate {
|
|
self.downloadRequest.removeValue(forKey: fileNameLocalPath)
|
|
self.downloadRequest.removeValue(forKey: fileNameLocalPath)
|
|
|
|
|
|
var sessionTaskFailedCode = 0
|
|
var sessionTaskFailedCode = 0
|
|
- if let afError = afError?.asAFError {
|
|
|
|
- switch afError {
|
|
|
|
- case .sessionTaskFailed(let sessionError):
|
|
|
|
- let nsError = sessionError as NSError
|
|
|
|
- sessionTaskFailedCode = nsError.code
|
|
|
|
- default: break
|
|
|
|
- }
|
|
|
|
|
|
+ if let error = NextcloudKit.shared.nkCommonInstance.getSessionErrorFromAFError(afError) {
|
|
|
|
+ sessionTaskFailedCode = error.code
|
|
}
|
|
}
|
|
|
|
|
|
- if afError?.isExplicitlyCancelledError ?? false || sessionTaskFailedCode == -999 {
|
|
|
|
|
|
+ if afError?.isExplicitlyCancelledError ?? false || sessionTaskFailedCode == NCGlobal.shared.errorExplicitlyCancelled {
|
|
|
|
|
|
NCManageDatabase.shared.setMetadataSession(ocId: metadata.ocId, session: "", sessionError: "", sessionSelector: selector, sessionTaskIdentifier: 0, status: NCGlobal.shared.metadataStatusNormal, errorCode: 0)
|
|
NCManageDatabase.shared.setMetadataSession(ocId: metadata.ocId, session: "", sessionError: "", sessionSelector: selector, sessionTaskIdentifier: 0, status: NCGlobal.shared.metadataStatusNormal, errorCode: 0)
|
|
NotificationCenter.default.postOnMainThread(name: NCGlobal.shared.notificationCenterDownloadCancelFile, userInfo: ["ocId": metadata.ocId, "serverUrl": metadata.serverUrl, "account": metadata.account])
|
|
NotificationCenter.default.postOnMainThread(name: NCGlobal.shared.notificationCenterDownloadCancelFile, userInfo: ["ocId": metadata.ocId, "serverUrl": metadata.serverUrl, "account": metadata.account])
|
|
@@ -552,11 +547,15 @@ class NCNetworking: NSObject, NKCommonDelegate {
|
|
|
|
|
|
} completion: { account, _, file, afError, error in
|
|
} completion: { account, _, file, afError, error in
|
|
|
|
|
|
|
|
+ var sessionTaskFailedCode = 0
|
|
self.uploadRequest.removeValue(forKey: fileNameLocalPath)
|
|
self.uploadRequest.removeValue(forKey: fileNameLocalPath)
|
|
|
|
|
|
if error == .success {
|
|
if error == .success {
|
|
NCManageDatabase.shared.deleteChunks(account: account, ocId: metadata.ocId, directory: directory)
|
|
NCManageDatabase.shared.deleteChunks(account: account, ocId: metadata.ocId, directory: directory)
|
|
}
|
|
}
|
|
|
|
+ if let error = NextcloudKit.shared.nkCommonInstance.getSessionErrorFromAFError(afError) {
|
|
|
|
+ sessionTaskFailedCode = error.code
|
|
|
|
+ }
|
|
|
|
|
|
switch error.errorCode {
|
|
switch error.errorCode {
|
|
case NKError.chunkResourceNotFound:
|
|
case NKError.chunkResourceNotFound:
|
|
@@ -569,11 +568,15 @@ class NCNetworking: NSObject, NKCommonDelegate {
|
|
case NKError.chunkFilesNull:
|
|
case NKError.chunkFilesNull:
|
|
NCManageDatabase.shared.deleteChunks(account: account, ocId: metadata.ocId, directory: directory)
|
|
NCManageDatabase.shared.deleteChunks(account: account, ocId: metadata.ocId, directory: directory)
|
|
NCContentPresenter().messageNotification("_chunk_files_null_", error: error, delay: NCGlobal.shared.dismissAfterSecond, type: .error)
|
|
NCContentPresenter().messageNotification("_chunk_files_null_", error: error, delay: NCGlobal.shared.dismissAfterSecond, type: .error)
|
|
- case NKError.chunkFileNull: // (cancel)
|
|
|
|
|
|
+ case NKError.chunkFileNull: // (fileSize == 0)
|
|
NCManageDatabase.shared.deleteChunks(account: account, ocId: metadata.ocId, directory: directory)
|
|
NCManageDatabase.shared.deleteChunks(account: account, ocId: metadata.ocId, directory: directory)
|
|
case NKError.chunkFileUpload:
|
|
case NKError.chunkFileUpload:
|
|
- if let afError, !afError.isExplicitlyCancelledError {
|
|
|
|
- NCContentPresenter().messageNotification("_error_", error: error, delay: NCGlobal.shared.dismissAfterSecond, type: .error)
|
|
|
|
|
|
+ if let afError {
|
|
|
|
+ if afError.isExplicitlyCancelledError || sessionTaskFailedCode == NCGlobal.shared.errorExplicitlyCancelled {
|
|
|
|
+ NCManageDatabase.shared.deleteChunks(account: account, ocId: metadata.ocId, directory: directory)
|
|
|
|
+ } else {
|
|
|
|
+ NCContentPresenter().messageNotification("_error_", error: error, delay: NCGlobal.shared.dismissAfterSecond, type: .error)
|
|
|
|
+ }
|
|
}
|
|
}
|
|
case NKError.chunkMoveFile:
|
|
case NKError.chunkMoveFile:
|
|
NCManageDatabase.shared.deleteChunks(account: account, ocId: metadata.ocId, directory: directory)
|
|
NCManageDatabase.shared.deleteChunks(account: account, ocId: metadata.ocId, directory: directory)
|