From 14d76d98605677d4515441b571144d842f2b9b57 Mon Sep 17 00:00:00 2001 From: Matthew Hodgson Date: Wed, 28 Feb 2024 12:28:17 +0000 Subject: [PATCH] Don't pass a URL as a log destination to rust (#2506) On macOS (catalyst) URL.appGroupContainerDirectory returns: /Users/matthew/Library/Group%20Containers/group.io.element/ So you need to strip the %20 out into a space, otherwise logging fails with a permissions error. * Use path(percentEncoded:) --- ElementX/Sources/Other/Logging/RustTracing.swift | 4 ++-- changelog.d/pr-2506.bugfix | 1 + 2 files changed, 3 insertions(+), 2 deletions(-) create mode 100644 changelog.d/pr-2506.bugfix diff --git a/ElementX/Sources/Other/Logging/RustTracing.swift b/ElementX/Sources/Other/Logging/RustTracing.swift index f8ace330b..e3b997ce8 100644 --- a/ElementX/Sources/Other/Logging/RustTracing.swift +++ b/ElementX/Sources/Other/Logging/RustTracing.swift @@ -45,14 +45,14 @@ enum RustTracing { otlpEndpoint: otlpConfiguration.url, filter: configuration.filter, writeToStdoutOrSystem: true, - writeToFiles: .init(path: logsDirectory.path(), + writeToFiles: .init(path: logsDirectory.path(percentEncoded: false), filePrefix: configuration.fileName, fileSuffix: configuration.fileExtension, maxFiles: maxFiles))) } else { setupTracing(config: .init(filter: configuration.filter, writeToStdoutOrSystem: true, - writeToFiles: .init(path: logsDirectory.path(), + writeToFiles: .init(path: logsDirectory.path(percentEncoded: false), filePrefix: configuration.fileName, fileSuffix: configuration.fileExtension, maxFiles: maxFiles))) diff --git a/changelog.d/pr-2506.bugfix b/changelog.d/pr-2506.bugfix new file mode 100644 index 000000000..b67212c81 --- /dev/null +++ b/changelog.d/pr-2506.bugfix @@ -0,0 +1 @@ +Don't pass a URL as a log destination to rust on macOS