Code view:

A painting is a person's account of this edit as text, recorded independently of the node mapping - a rendering often has several equally defensible answers where the mapping has one. Deletions and insertions carry no position on the opposite side in a painting, so that panel draws no caret for them.

Before

…lines 1–140 unchanged (140 lines)
141 selector: "",
142 status: self.global.metadataStatusNormal)
143 }
144
145 return(error)
146 }
147
148 // MARK: -
149
150 func downloadSuccessMetadataItems(_ metadataItems: [MetadataItem]) async -> [String] {
151 guard !metadataItems.isEmpty else {
152 return []
153 }
154 let ocIds = Array(Set(metadataItems.compactMap { $0.ocId }))
…lines 155–216 unchanged (62 lines)
217 etag: etag,
218 date: date,
219 dateLastModified: dateLastModified,
220 length: length,
221 task: task,
222 error: error)
223 return
224 #endif
225
226 if error == .success {
227 nkLog(success: "Downloaded file: " + fileName)
228 await NCMetadataStore.shared.setDownloadCompleted(fileName: fileName, serverUrl: serverUrl, taskIdentifier: task.taskIdentifier, etag: etag)
229 } else {
230 await NCMetadataStore.shared.removeItem(fileName: fileName, serverUrl: serverUrl, taskIdentifier: task.taskIdentifier)
231
232 guard let metadata = await NCManageDatabase.shared.getMetadataAsync(predicate: NSPredicate(format: "serverUrl == %@ AND fileName == %@", serverUrl, fileName)) else {
233 return
234 }
235 await NextcloudKit.shared.nkCommonInstance.appendServerErrorAccount(metadata.account, errorCode: error.errorCode)
236
…lines 237–327 unchanged (91 lines)

After

…lines 1–140 unchanged (140 lines)
141 selector: "",
142 status: self.global.metadataStatusNormal)
143 }
144
145 return(error)
146 }
147
148 // MARK: - DOWNLOAD SUCCESS
149
150 func downloadSuccessMetadataItems(_ metadataItems: [MetadataItem]) async -> [String] {
151 guard !metadataItems.isEmpty else {
152 return []
153 }
154 let ocIds = Array(Set(metadataItems.compactMap { $0.ocId }))
…lines 155–216 unchanged (62 lines)
217 etag: etag,
218 date: date,
219 dateLastModified: dateLastModified,
220 length: length,
221 task: task,
222 error: error)
223 #else
224 if error == .success {
225 nkLog(success: "Downloaded file: " + fileName)
226 await NCMetadataStore.shared.setDownloadCompleted(fileName: fileName, serverUrl: serverUrl, taskIdentifier: task.taskIdentifier, etag: etag)
227 } else {
228 // Remove Item on MetadataStore
229 await NCMetadataStore.shared.removeItem(fileName: fileName, serverUrl: serverUrl, taskIdentifier: task.taskIdentifier)
230
231 guard let metadata = await NCManageDatabase.shared.getMetadataAsync(predicate: NSPredicate(format: "serverUrl == %@ AND fileName == %@", serverUrl, fileName)) else {
232 return
233 }
234 await NextcloudKit.shared.nkCommonInstance.appendServerErrorAccount(metadata.account, errorCode: error.errorCode)
…lines 235–265 unchanged (31 lines)
266 metadata: metadata,
267 error: error)
268 }
269 }
270 }
271 }
272 #endif
273 }
274 }
275
276 func downloadingFinish(_ session: URLSession, downloadTask: URLSessionDownloadTask, didFinishDownloadingTo location: URL) {
277 if let httpResponse = (downloadTask.response as? HTTPURLResponse) {
278 if httpResponse.statusCode >= 200 && httpResponse.statusCode < 300,
…lines 279–327 unchanged (49 lines)

Before

source_file
comment "// SPDX-FileCopyrightText: Nextcloud GmbH"
comment "// SPDX-FileCopyrightText: 2024 Marino Faggiana"
comment "// SPDX-License-Identifier: GPL-3.0-or-later"
import_declaration
import "import"
identifier
simple_identifier "UIKit"
import_declaration
import "import"
identifier
simple_identifier "NextcloudKit"
import_declaration
import "import"
identifier
simple_identifier "Alamofire"
import_declaration
import "import"
identifier
simple_identifier "Queuer"
import_declaration
import "import"
identifier
simple_identifier "RealmSwift"
class_declaration
extension "extension"
user_type
type_identifier "NCNetworking"
class_body
{ "{"
comment "// MARK: - Download file in foreground"
function_declaration (+1110 nodes collapsed)
comment "// MARK: - Download file in background"
function_declaration (+516 nodes collapsed)
comment "// MARK: -"
function_declaration (+555 nodes collapsed)
comment "// MARK: - Download NextcloudKitDelegate"
function_declaration
func "func"
simple_identifier "downloadComplete"
( "("
parameter
simple_identifier "fileName"
: ":"
user_type
type_identifier "String"
, ","
parameter
simple_identifier "serverUrl"
: ":"
user_type
type_identifier "String"
, ","
parameter
simple_identifier "etag"
: ":"
optional_type
user_type
type_identifier "String"
?
? "?"
, ","
parameter
simple_identifier "date"
: ":"
optional_type
user_type
type_identifier "Date"
?
? "?"
, ","
parameter
simple_identifier "dateLastModified"
: ":"
optional_type
user_type
type_identifier "Date"
?
? "?"
, ","
parameter
simple_identifier "length"
: ":"
user_type
type_identifier "Int64"
, ","
parameter
simple_identifier "task"
: ":"
user_type
type_identifier "URLSessionTask"
, ","
parameter
simple_identifier "error"
: ":"
user_type
type_identifier "NKError"
) ")"
function_body
{ "{"
statements
call_expression
simple_identifier "Task"
call_suffix
lambda_literal
{ "{"
statements
await_expression (+26 nodes collapsed)
directive
#if "#if"
simple_identifier "EXTENSION_FILE_PROVIDER_EXTENSION"
await_expression (+63 nodes collapsed)
control_transfer_statement
return "return"
directive
#endif "#endif"
if_statement
if "if"
equality_expression
simple_identifier "error"
== "=="
prefix_expression
. "."
simple_identifier "success"
{ "{"
statements (+61 nodes collapsed)
} "}"
else "else"
{ "{"
statements (+606 nodes collapsed)
} "}"
} "}"
} "}"
function_declaration (+369 nodes collapsed)
function_declaration (+267 nodes collapsed)
} "}"

After

source_file
comment "// SPDX-FileCopyrightText: Nextcloud GmbH"
comment "// SPDX-FileCopyrightText: 2024 Marino Faggiana"
comment "// SPDX-License-Identifier: GPL-3.0-or-later"
import_declaration
import "import"
identifier
simple_identifier "UIKit"
import_declaration
import "import"
identifier
simple_identifier "NextcloudKit"
import_declaration
import "import"
identifier
simple_identifier "Alamofire"
import_declaration
import "import"
identifier
simple_identifier "Queuer"
import_declaration
import "import"
identifier
simple_identifier "RealmSwift"
class_declaration
extension "extension"
user_type
type_identifier "NCNetworking"
class_body
{ "{"
comment "// MARK: - Download file in foreground"
function_declaration (+1110 nodes collapsed)
comment "// MARK: - Download file in background"
function_declaration (+516 nodes collapsed)
comment "// MARK: - DOWNLOAD SUCCESS"
function_declaration (+555 nodes collapsed)
comment "// MARK: - Download NextcloudKitDelegate"
function_declaration
func "func"
simple_identifier "downloadComplete"
( "("
parameter
simple_identifier "fileName"
: ":"
user_type
type_identifier "String"
, ","
parameter
simple_identifier "serverUrl"
: ":"
user_type
type_identifier "String"
, ","
parameter
simple_identifier "etag"
: ":"
optional_type
user_type
type_identifier "String"
?
? "?"
, ","
parameter
simple_identifier "date"
: ":"
optional_type
user_type
type_identifier "Date"
?
? "?"
, ","
parameter
simple_identifier "dateLastModified"
: ":"
optional_type
user_type
type_identifier "Date"
?
? "?"
, ","
parameter
simple_identifier "length"
: ":"
user_type
type_identifier "Int64"
, ","
parameter
simple_identifier "task"
: ":"
user_type
type_identifier "URLSessionTask"
, ","
parameter
simple_identifier "error"
: ":"
user_type
type_identifier "NKError"
) ")"
function_body
{ "{"
statements
call_expression
simple_identifier "Task"
call_suffix
lambda_literal
{ "{"
statements
await_expression (+26 nodes collapsed)
directive
#if "#if"
simple_identifier "EXTENSION_FILE_PROVIDER_EXTENSION"
await_expression (+63 nodes collapsed)
directive
#else "#else"
if_statement
if "if"
equality_expression
simple_identifier "error"
== "=="
prefix_expression
. "."
simple_identifier "success"
{ "{"
statements (+61 nodes collapsed)
} "}"
else "else"
{ "{"
comment "// Remove Item on MetadataStore"
statements (+606 nodes collapsed)
} "}"
directive
#endif "#endif"
} "}"
} "}"
function_declaration (+369 nodes collapsed)
function_declaration (+267 nodes collapsed)
} "}"