From 837d86d9bdacb8dc50da2eecaa06d597f3d738bc Mon Sep 17 00:00:00 2001 From: Iva Horn Date: Thu, 16 Oct 2025 10:04:37 +0200 Subject: [PATCH] feat(logging): Added support for NSFileProviderRequest. Signed-off-by: Iva Horn --- .../NextcloudFileProviderKit/Log/FileProviderLog.swift | 2 ++ .../Log/FileProviderLogDetail.swift | 8 +++++++- .../Log/FileProviderLogDetailKey.swift | 5 +++++ 3 files changed, 14 insertions(+), 1 deletion(-) diff --git a/Sources/NextcloudFileProviderKit/Log/FileProviderLog.swift b/Sources/NextcloudFileProviderKit/Log/FileProviderLog.swift index cf7815f4..2fe1d70c 100644 --- a/Sources/NextcloudFileProviderKit/Log/FileProviderLog.swift +++ b/Sources/NextcloudFileProviderKit/Log/FileProviderLog.swift @@ -238,6 +238,8 @@ public actor FileProviderLog: FileProviderLogging { valueDescription = url.absoluteString case let text as String: valueDescription = text + case let request as NSFileProviderRequest: + valueDescription = "requestingExecutable: \(request.requestingExecutable?.path ?? "nil"), isFileViewerRequest: \(request.isFileViewerRequest), isSystemRequest: \(request.isSystemRequest)" default: valueDescription = String(describing: value) } diff --git a/Sources/NextcloudFileProviderKit/Log/FileProviderLogDetail.swift b/Sources/NextcloudFileProviderKit/Log/FileProviderLogDetail.swift index a05547b5..df51a746 100644 --- a/Sources/NextcloudFileProviderKit/Log/FileProviderLogDetail.swift +++ b/Sources/NextcloudFileProviderKit/Log/FileProviderLogDetail.swift @@ -135,7 +135,13 @@ public enum FileProviderLogDetail: Encodable { "trashbinFileName": .string(metadata.trashbinFileName), "uploaded": .bool(metadata.uploaded), "visitedDirectory": .bool(metadata.visitedDirectory) - + + ]) + } else if let request = someValue as? NSFileProviderRequest { + self = .dictionary([ + "requestingExecutable": .string(request.requestingExecutable?.path ?? "nil"), + "isFileViewerRequest": .bool(request.isFileViewerRequest), + "isSystemRequest": .bool(request.isSystemRequest) ]) } else if let lock = someValue as? NKLock { self = .dictionary([ diff --git a/Sources/NextcloudFileProviderKit/Log/FileProviderLogDetailKey.swift b/Sources/NextcloudFileProviderKit/Log/FileProviderLogDetailKey.swift index 2a974f0d..9bab1db9 100644 --- a/Sources/NextcloudFileProviderKit/Log/FileProviderLogDetailKey.swift +++ b/Sources/NextcloudFileProviderKit/Log/FileProviderLogDetailKey.swift @@ -42,6 +42,11 @@ public enum FileProviderLogDetailKey: String { /// case name + /// + /// An `NSFileProviderRequest`. + /// + case request + /// /// The last time item metadata was synchronized with the server. ///