diff --git a/.github/workflows/Prototype.yml b/.github/workflows/Prototype.yml
index d1f2e17a..25f7a46c 100644
--- a/.github/workflows/Prototype.yml
+++ b/.github/workflows/Prototype.yml
@@ -149,7 +149,6 @@ jobs:
KEYCHAIN_PATH: ${{ env.KEYCHAIN_PATH }}
KEYCHAIN_PASSWORD: ${{ secrets.KEYCHAIN_PASSWORD }}
PP_PATH: ${{ env.PP_PATH }}
- SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }}
run: |
export LANG=en_US.UTF-8;
export LANGUAGE=en_US:en;
diff --git a/.github/workflows/Release.yml b/.github/workflows/Release.yml
index f540b649..991bf3c8 100644
--- a/.github/workflows/Release.yml
+++ b/.github/workflows/Release.yml
@@ -226,7 +226,6 @@ jobs:
KEYCHAIN_PATH: ${{ env.KEYCHAIN_PATH }}
KEYCHAIN_PASSWORD: ${{ secrets.KEYCHAIN_PASSWORD }}
PP_PATH: ${{ env.PP_PATH }}
- SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }}
run: |
export LANG=en_US.UTF-8;
export LANGUAGE=en_US:en;
@@ -310,7 +309,6 @@ jobs:
KEYCHAIN_PATH: ${{ env.KEYCHAIN_PATH }}
KEYCHAIN_PASSWORD: ${{ secrets.KEYCHAIN_PASSWORD }}
PP_PATH: ${{ env.PP_PATH }}
- SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }}
run: |
export LANG=en_US.UTF-8;
export LANGUAGE=en_US:en;
diff --git a/Brewfile b/Brewfile
index 47425eeb..f56a1485 100644
--- a/Brewfile
+++ b/Brewfile
@@ -2,8 +2,5 @@ brew "swiftgen"
brew "swiftlint"
brew "swiftformat"
-tap "getsentry/tools"
-brew "getsentry/tools/sentry-cli"
-
tap "mono0926/license-plist"
brew "mono0926/license-plist/license-plist"
diff --git a/BundesIdent.xcodeproj/project.pbxproj b/BundesIdent.xcodeproj/project.pbxproj
index 86f628f9..fe742d52 100644
--- a/BundesIdent.xcodeproj/project.pbxproj
+++ b/BundesIdent.xcodeproj/project.pbxproj
@@ -64,7 +64,6 @@
E11EB2AD2853A8EA008B4042 /* SetupScreens.swift in Sources */ = {isa = PBXBuildFile; fileRef = E11EB2AC2853A8EA008B4042 /* SetupScreens.swift */; };
E1234DB12976E0BC00837872 /* SceneDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = E1234DB02976E0BC00837872 /* SceneDelegate.swift */; };
E1234DB32976EA3900837872 /* BundLicensePlistViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = E1234DB22976EA3900837872 /* BundLicensePlistViewController.swift */; };
- E128E0BA288941DC00C5195F /* Sentry in Frameworks */ = {isa = PBXBuildFile; productRef = E128E0B9288941DC00C5195F /* Sentry */; };
E128E0BC28898D3400C5195F /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = E128E0BB28898D3400C5195F /* AppDelegate.swift */; };
E12B2D682A1F9A2E00CC6045 /* ReviewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = E12B2D672A1F9A2E00CC6045 /* ReviewController.swift */; };
E12B2D6A2A1F9B4B00CC6045 /* SetupDoneTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = E12B2D692A1F9B4B00CC6045 /* SetupDoneTests.swift */; };
@@ -392,7 +391,6 @@
43269A702A0118B500093FD7 /* AusweisApp2SDKWrapper in Frameworks */,
D2B76A7A28BE4B93000B442D /* Analytics in Frameworks */,
B9F5055829361F69009FE297 /* TCACoordinators in Frameworks */,
- E128E0BA288941DC00C5195F /* Sentry in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -899,7 +897,6 @@
);
name = BundesIdent;
packageProductDependencies = (
- E128E0B9288941DC00C5195F /* Sentry */,
E1BC3D8528B7E919007A7B39 /* LicensePlistViewController */,
D2B76A7928BE4B93000B442D /* Analytics */,
E144EBD528C63A31009B4900 /* MarkdownUI */,
@@ -945,7 +942,6 @@
mainGroup = E5CEB271281041330076B9FE;
packageReferences = (
E13925B928410F3F00161F5C /* XCRemoteSwiftPackageReference "Cuckoo" */,
- E128E0B8288941DC00C5195F /* XCRemoteSwiftPackageReference "sentry-cocoa" */,
E1BC3D8428B7E919007A7B39 /* XCRemoteSwiftPackageReference "LicensePlistViewController" */,
E144EBD428C63A31009B4900 /* XCRemoteSwiftPackageReference "MarkdownUI" */,
B9F5055629361F69009FE297 /* XCRemoteSwiftPackageReference "TCACoordinators" */,
@@ -1952,14 +1948,6 @@
minimumVersion = 0.3.0;
};
};
- E128E0B8288941DC00C5195F /* XCRemoteSwiftPackageReference "sentry-cocoa" */ = {
- isa = XCRemoteSwiftPackageReference;
- repositoryURL = "https://github.com/getsentry/sentry-cocoa.git";
- requirement = {
- kind = upToNextMajorVersion;
- minimumVersion = 7.0.0;
- };
- };
E13925B928410F3F00161F5C /* XCRemoteSwiftPackageReference "Cuckoo" */ = {
isa = XCRemoteSwiftPackageReference;
repositoryURL = "https://github.com/Brightify/Cuckoo";
@@ -2006,11 +1994,6 @@
isa = XCSwiftPackageProductDependency;
productName = Analytics;
};
- E128E0B9288941DC00C5195F /* Sentry */ = {
- isa = XCSwiftPackageProductDependency;
- package = E128E0B8288941DC00C5195F /* XCRemoteSwiftPackageReference "sentry-cocoa" */;
- productName = Sentry;
- };
E13925C1284110FD00161F5C /* Cuckoo */ = {
isa = XCSwiftPackageProductDependency;
package = E13925B928410F3F00161F5C /* XCRemoteSwiftPackageReference "Cuckoo" */;
diff --git a/BundesIdent.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved b/BundesIdent.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved
index 90485157..146d7036 100644
--- a/BundesIdent.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved
+++ b/BundesIdent.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved
@@ -72,15 +72,6 @@
"revision" : "1d853c3b7acfdb6552f63666390e37374f87c5cd"
}
},
- {
- "identity" : "sentry-cocoa",
- "kind" : "remoteSourceControl",
- "location" : "https://github.com/getsentry/sentry-cocoa.git",
- "state" : {
- "revision" : "cf43eac1aa12017868c257ad3854ad87a5de0758",
- "version" : "7.31.5"
- }
- },
{
"identity" : "swift-case-paths",
"kind" : "remoteSourceControl",
diff --git a/BundesIdent/AppConfig.swift b/BundesIdent/AppConfig.swift
index d71fe158..9b9791fa 100644
--- a/BundesIdent/AppConfig.swift
+++ b/BundesIdent/AppConfig.swift
@@ -1,33 +1,20 @@
import Foundation
import AVFAudio
-import Sentry
protocol AppConfigType {
- var sentryDSN: String { get }
var matomoSiteID: String { get }
var matomoURL: URL { get }
- func configureSentry(_ options: Options)
func configureAudio()
}
struct AppConfig: AppConfigType {
- let sentryDSN: String
let matomoURL: URL
let matomoSiteID: String
let unleashURL: String
let unleashClientKey: String
init(bundle: Bundle) {
- // Sentry
- // swiftlint:disable force_cast
- let sentryProjectID = bundle.infoDictionary!["SentryProjectID"] as! String
- let sentryPublicKey = bundle.infoDictionary!["SentryPublicKey"] as! String
- let sentryHost = bundle.infoDictionary!["SentryHost"] as! String
- // swiftlint:enable force_cast
-
- sentryDSN = "https://\(sentryPublicKey)@\(sentryHost)/\(sentryProjectID)"
-
// Matomo
// swiftlint:disable force_cast
let matomoHost = bundle.infoDictionary!["MatomoHost"] as! String
@@ -43,44 +30,6 @@ struct AppConfig: AppConfigType {
// swiftlint:enable force_cast
}
- func configureSentry(_ options: Options) {
- options.dsn = sentryDSN
-#if DEBUG
- options.enabled = false
-#endif
-#if SENTRY_DEBUG
- options.debug = true
-#endif
- options.tracesSampleRate = 1.0
-
- options.enableAutoPerformanceTracking = false
- options.enableAutoBreadcrumbTracking = false
-
- options.enableNetworkBreadcrumbs = false
- options.enableNetworkTracking = false
-
- options.attachViewHierarchy = false
- options.enableUIViewControllerTracking = false
- options.enableUserInteractionTracing = false
- options.enableAppHangTracking = false
- options.beforeSend = {
- guard let context: [String: [String: Any]] = $0.context else { return $0 }
-
- let osKeys = Set(["version", "name"])
- let deviceKeys = Set(["family", "model", "model_id"])
- let appKeys = Set(["app_build", "app_version"])
- let newContext: [String: [String: Any]] = [
- "user info": context["user info"],
- "os": context["os"]?.filter({ osKeys.contains($0.key) }),
- "device": context["device"]?.filter({ deviceKeys.contains($0.key) }),
- "app": context["app"]?.filter({ appKeys.contains($0.key) })
- ].compactMapValues({ $0 })
-
- $0.context = newContext
- return $0
- }
- }
-
func configureAudio() {
try? AVAudioSession.sharedInstance()
.setCategory(.ambient, options: [.mixWithOthers])
diff --git a/BundesIdent/BundesIdentApp.swift b/BundesIdent/BundesIdentApp.swift
index deda2f9b..7c3ae878 100644
--- a/BundesIdent/BundesIdentApp.swift
+++ b/BundesIdent/BundesIdentApp.swift
@@ -1,7 +1,6 @@
import SwiftUI
import TCACoordinators
import ComposableArchitecture
-import Sentry
import Analytics
import XCTestDynamicOverlay
@@ -13,8 +12,6 @@ struct BundesIdentApp: App {
init() {
let config = AppConfig(bundle: Bundle.main)
- SentrySDK.start(configureOptions: config.configureSentry)
-
config.configureAudio()
let userDefaults = UserDefaults.standard
diff --git a/BundesIdent/Default.xcconfig b/BundesIdent/Default.xcconfig
index db3e994e..29e4f1d5 100644
--- a/BundesIdent/Default.xcconfig
+++ b/BundesIdent/Default.xcconfig
@@ -1,4 +1,2 @@
-SENTRY_PROJECT_ID = 6589396
-SENTRY_PUBLIC_KEY = 70d55c1a01854e01a6360cc815b88d34
MATOMO_SITE_ID = 2
UNLEASH_CLIENT_KEY = *:development.d3f05ca02117c3949aa784da9bf7b3382a4e6b89929868a75c551a11
diff --git a/BundesIdent/Helpers/IssueTracker.swift b/BundesIdent/Helpers/IssueTracker.swift
index 2c46e9f4..6eafb61a 100644
--- a/BundesIdent/Helpers/IssueTracker.swift
+++ b/BundesIdent/Helpers/IssueTracker.swift
@@ -1,30 +1,24 @@
-import Sentry
import Analytics
import OSLog
-struct SentryIssueTracker: IssueTracker {
- func addBreadcrumb(crumb: Breadcrumb) {
- SentrySDK.addBreadcrumb(crumb: crumb)
- }
-
- func capture(error: CustomNSError) {
- SentrySDK.capture(error: error)
+struct Breadcrumb {
+ enum Level: String {
+ case info
}
+
+ let level: Level
+ let category: String
+ var message: String?
}
extension IssueTracker {
func addViewBreadcrumb(view: AnalyticsView) {
- let breadcrumb = Breadcrumb()
- breadcrumb.level = .info
- breadcrumb.category = view.route.joined(separator: "/")
+ let breadcrumb = Breadcrumb(level: .info, category: view.route.joined(separator: "/"))
addBreadcrumb(crumb: breadcrumb)
}
func addInfoBreadcrumb(category: String, message: String) {
- let breadcrumb = Breadcrumb()
- breadcrumb.level = .info
- breadcrumb.category = category
- breadcrumb.message = message
+ let breadcrumb = Breadcrumb(level: .info, category: category, message: message)
addBreadcrumb(crumb: breadcrumb)
}
}
@@ -32,7 +26,11 @@ extension IssueTracker {
struct LogIssueTracker: IssueTracker {
func addBreadcrumb(crumb: Breadcrumb) {
- os_log(.debug, "Breadcrumb added: \(crumb)")
+ var literal = "[\(crumb.level.rawValue)] \(crumb.category)"
+ if let message = crumb.message {
+ literal.append(" \(message)")
+ }
+ os_log(.debug, "Breadcrumb added: \(literal)")
}
func capture(error: CustomNSError) {
diff --git a/BundesIdent/Info.plist b/BundesIdent/Info.plist
index 4173c389..5d5811df 100644
--- a/BundesIdent/Info.plist
+++ b/BundesIdent/Info.plist
@@ -19,12 +19,6 @@
bund.matomo.cloud
MatomoSiteID
$(MATOMO_SITE_ID)
- SentryHost
- o1248831.ingest.sentry.io
- SentryProjectID
- $(SENTRY_PROJECT_ID)
- SentryPublicKey
- $(SENTRY_PUBLIC_KEY)
UIAppFonts
BundesSans-DTP-Regular.otf
diff --git a/BundesIdent/Preview.xcconfig b/BundesIdent/Preview.xcconfig
index a1219e0f..2ef7fbec 100644
--- a/BundesIdent/Preview.xcconfig
+++ b/BundesIdent/Preview.xcconfig
@@ -1,3 +1 @@
-SENTRY_PROJECT_ID = 6589396
-SENTRY_PUBLIC_KEY = 70d55c1a01854e01a6360cc815b88d34
MATOMO_SITE_ID = 2
diff --git a/BundesIdent/Prototype.xcconfig b/BundesIdent/Prototype.xcconfig
index 9e15a436..9b5ace44 100644
--- a/BundesIdent/Prototype.xcconfig
+++ b/BundesIdent/Prototype.xcconfig
@@ -1,3 +1 @@
-SENTRY_PROJECT_ID =
-SENTRY_PUBLIC_KEY =
MATOMO_SITE_ID = 5
diff --git a/BundesIdent/Release.xcconfig b/BundesIdent/Release.xcconfig
index 885d3bb2..39fd4ed0 100644
--- a/BundesIdent/Release.xcconfig
+++ b/BundesIdent/Release.xcconfig
@@ -1,4 +1,2 @@
-SENTRY_PROJECT_ID = 6589505
-SENTRY_PUBLIC_KEY = 81bc611af42347bc8d7b487f807f9577
MATOMO_SITE_ID = 3
UNLEASH_CLIENT_KEY = *:production.cf4117e736dba7c96d1d3cf714ecec1e8d88e243f5285928d0ef3e6f
diff --git a/BundesIdent/TCA/Coordinator.swift b/BundesIdent/TCA/Coordinator.swift
index d1386920..9d011cb8 100644
--- a/BundesIdent/TCA/Coordinator.swift
+++ b/BundesIdent/TCA/Coordinator.swift
@@ -2,7 +2,6 @@ import ComposableArchitecture
import TCACoordinators
import SwiftUI
import Analytics
-import Sentry
enum HandleURLError: Error, CustomStringConvertible, CustomNSError {
case componentsInvalid
diff --git a/BundesIdent/TCA/Dependencies.swift b/BundesIdent/TCA/Dependencies.swift
index 28679497..d3aafe0f 100644
--- a/BundesIdent/TCA/Dependencies.swift
+++ b/BundesIdent/TCA/Dependencies.swift
@@ -48,7 +48,7 @@ enum StorageManagerKey: DependencyKey {
}
enum IssueTrackerKey: DependencyKey {
- static var liveValue: IssueTracker = SentryIssueTracker()
+ static var liveValue: IssueTracker = LogIssueTracker()
static var testValue: IssueTracker = LogIssueTracker()
}
diff --git a/BundesIdent/Types/Types.swift b/BundesIdent/Types/Types.swift
index bbc84307..a7d5fd83 100644
--- a/BundesIdent/Types/Types.swift
+++ b/BundesIdent/Types/Types.swift
@@ -2,7 +2,6 @@
import Foundation
import Combine
-import Sentry
protocol EIDInteractionManagerType {
func identify(tokenURL: URL, messages: ScanOverlayMessages) -> EIDInteractionPublisher
diff --git a/BundesIdent/Views/Identification/IdentificationCANScan.swift b/BundesIdent/Views/Identification/IdentificationCANScan.swift
index cd13c4c8..7a831ac8 100644
--- a/BundesIdent/Views/Identification/IdentificationCANScan.swift
+++ b/BundesIdent/Views/Identification/IdentificationCANScan.swift
@@ -1,7 +1,6 @@
import SwiftUI
import ComposableArchitecture
import Combine
-import Sentry
struct IdentificationCANScan: ReducerProtocol {
diff --git a/BundesIdent/Views/Identification/IdentificationOverview/IdentificationOverviewLoading.swift b/BundesIdent/Views/Identification/IdentificationOverview/IdentificationOverviewLoading.swift
index 85f26c60..c17bba2d 100644
--- a/BundesIdent/Views/Identification/IdentificationOverview/IdentificationOverviewLoading.swift
+++ b/BundesIdent/Views/Identification/IdentificationOverview/IdentificationOverviewLoading.swift
@@ -1,6 +1,5 @@
import ComposableArchitecture
import SwiftUI
-import Sentry
struct IdentificationOverviewLoading: ReducerProtocol {
@Dependency(\.issueTracker) var issueTracker
diff --git a/BundesIdent/Views/Identification/IdentificationPINScan.swift b/BundesIdent/Views/Identification/IdentificationPINScan.swift
index 120b1734..062a51c9 100644
--- a/BundesIdent/Views/Identification/IdentificationPINScan.swift
+++ b/BundesIdent/Views/Identification/IdentificationPINScan.swift
@@ -1,7 +1,6 @@
import SwiftUI
import ComposableArchitecture
import Combine
-import Sentry
enum IdentificationScanError: Error, Equatable, CustomNSError {
case eIDInteraction(EIDInteractionError)
diff --git a/BundesIdent/Views/Setup/SetupCANScan.swift b/BundesIdent/Views/Setup/SetupCANScan.swift
index fc2777d6..026b3373 100644
--- a/BundesIdent/Views/Setup/SetupCANScan.swift
+++ b/BundesIdent/Views/Setup/SetupCANScan.swift
@@ -1,7 +1,6 @@
import SwiftUI
import ComposableArchitecture
import Combine
-import Sentry
struct SetupCANScan: ReducerProtocol {
diff --git a/BundesIdent/Views/Setup/SetupScan.swift b/BundesIdent/Views/Setup/SetupScan.swift
index a367be6a..e0b2b16b 100644
--- a/BundesIdent/Views/Setup/SetupScan.swift
+++ b/BundesIdent/Views/Setup/SetupScan.swift
@@ -1,7 +1,6 @@
import SwiftUI
import ComposableArchitecture
import Combine
-import Sentry
import OSLog
struct SetupScan: ReducerProtocol {
diff --git a/BundesIdentTests/Managers/UnleashManagerTests.swift b/BundesIdentTests/Managers/UnleashManagerTests.swift
index 38aaa166..674f2346 100644
--- a/BundesIdentTests/Managers/UnleashManagerTests.swift
+++ b/BundesIdentTests/Managers/UnleashManagerTests.swift
@@ -1,7 +1,6 @@
import XCTest
import Analytics
import Cuckoo
-import Sentry
@testable import BundesIdent
final class UnleashManagerTests: XCTestCase {
diff --git a/fastlane/Fastfile b/fastlane/Fastfile
index 1acaedc9..5b27f354 100644
--- a/fastlane/Fastfile
+++ b/fastlane/Fastfile
@@ -161,11 +161,6 @@ platform :ios do
desc 'Deliver Preview'
lane :deliverPreview do |options|
make_screenshots = options[:screenshots] == true
- sentry_upload_dsym(
- auth_token: ENV['SENTRY_AUTH_TOKEN'],
- org_slug: 'digitalservice',
- project_slug: 'useid-preview-ios',
- )
upload_to_testflight(
api_key_path: ENV['APPSTORECONNECT_API_KEY_PATH'],
skip_waiting_for_build_processing: true
@@ -205,11 +200,6 @@ platform :ios do
desc 'Deliver Production'
lane :deliverProduction do |options|
make_screenshots = options[:screenshots] == true
- sentry_upload_dsym(
- auth_token: ENV['SENTRY_AUTH_TOKEN'],
- org_slug: 'digitalservice',
- project_slug: 'useid-ios',
- )
upload_to_testflight(
api_key_path: ENV['APPSTORECONNECT_API_KEY_PATH'],
skip_waiting_for_build_processing: true