From f7cea9d67a13f620c5f5972153f832a304a49088 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cihat=20G=C3=BCnd=C3=BCz?= Date: Fri, 31 Jan 2025 18:39:30 +0100 Subject: [PATCH] Prevent adding default parameter prefix to TelemetryDeck-internal params --- Sources/TelemetryDeck/TelemetryDeck.swift | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/Sources/TelemetryDeck/TelemetryDeck.swift b/Sources/TelemetryDeck/TelemetryDeck.swift index e0de5d2..5ac3ca3 100644 --- a/Sources/TelemetryDeck/TelemetryDeck.swift +++ b/Sources/TelemetryDeck/TelemetryDeck.swift @@ -46,7 +46,10 @@ public enum TelemetryDeck { guard !configuration.swiftUIPreviewMode, !configuration.analyticsDisabled else { return } let combinedSignalName = (configuration.defaultSignalPrefix ?? "") + signalName - let prefixedParameters = parameters.mapKeys { (configuration.defaultParameterPrefix ?? "") + $0 } + let prefixedParameters = parameters.mapKeys { parameter in + guard !parameter.hasPrefix("TelemetryDeck.") else { return parameter } + return (configuration.defaultParameterPrefix ?? "") + parameter + } if configuration.reservedParameterWarningsEnabled { // warn users about reserved keys to avoid unexpected behavior @@ -137,7 +140,10 @@ public enum TelemetryDeck { // make sure to not send any signals when run by Xcode via SwiftUI previews guard !configuration.swiftUIPreviewMode, !configuration.analyticsDisabled else { return } - let prefixedDefaultParameters = configuration.defaultParameters().mapKeys { (configuration.defaultParameterPrefix ?? "") + $0 } + let prefixedDefaultParameters = configuration.defaultParameters().mapKeys { parameter in + guard !parameter.hasPrefix("TelemetryDeck.") else { return parameter } + return (configuration.defaultParameterPrefix ?? "") + parameter + } let combinedParameters = prefixedDefaultParameters.merging(parameters) { $1 } // check only default parameters