diff --git a/Tusker.xcodeproj/project.pbxproj b/Tusker.xcodeproj/project.pbxproj index 02253574..492b23ef 100644 --- a/Tusker.xcodeproj/project.pbxproj +++ b/Tusker.xcodeproj/project.pbxproj @@ -2851,7 +2851,7 @@ repositoryURL = "https://github.com/getsentry/sentry-cocoa.git"; requirement = { kind = upToNextMinorVersion; - minimumVersion = 7.29.0; + minimumVersion = 8.0.0; }; }; D6552365289870790048A653 /* XCRemoteSwiftPackageReference "ScreenCorners" */ = { diff --git a/Tusker/API/InstanceFeatures.swift b/Tusker/API/InstanceFeatures.swift index bafc5730..4c4ca4bb 100644 --- a/Tusker/API/InstanceFeatures.swift +++ b/Tusker/API/InstanceFeatures.swift @@ -269,5 +269,5 @@ private func setInstanceBreadcrumb(instance: Instance, nodeInfo: NodeInfo?) { "version": nodeInfo.software.version, ] } - SentrySDK.addBreadcrumb(crumb: crumb) + SentrySDK.addBreadcrumb(crumb) } diff --git a/Tusker/AppDelegate.swift b/Tusker/AppDelegate.swift index f6db7068..463f5c18 100644 --- a/Tusker/AppDelegate.swift +++ b/Tusker/AppDelegate.swift @@ -66,13 +66,14 @@ class AppDelegate: UIResponder, UIApplicationDelegate { options.enableSwizzling = false // required to support releases/release health options.enableAutoSessionTracking = true - options.enableOutOfMemoryTracking = false - options.enableAutoPerformanceTracking = false + options.enableWatchdogTerminationTracking = false + options.enableAutoPerformanceTracing = false options.enableNetworkTracking = false options.enableAppHangTracking = false - options.enableCoreDataTracking = false + options.enableCoreDataTracing = false // we don't care about events like battery, keyboard show/hide options.enableAutoBreadcrumbTracking = false + options.enableUserInteractionTracing = false options.beforeSend = { event in // just no, why would anyone need this information diff --git a/Tusker/CoreData/MastodonCachePersistentStore.swift b/Tusker/CoreData/MastodonCachePersistentStore.swift index 0e0c94ab..51cb7d0b 100644 --- a/Tusker/CoreData/MastodonCachePersistentStore.swift +++ b/Tusker/CoreData/MastodonCachePersistentStore.swift @@ -211,7 +211,7 @@ class MastodonCachePersistentStore: NSPersistentCloudKitContainer { } ] } - SentrySDK.addBreadcrumb(crumb: crumb) + SentrySDK.addBreadcrumb(crumb) fatalError("Unable to save managed object context: \(String(describing: error))") } } diff --git a/Tusker/Screens/Notifications/NotificationsTableViewController.swift b/Tusker/Screens/Notifications/NotificationsTableViewController.swift index 3a380e17..7e114f25 100644 --- a/Tusker/Screens/Notifications/NotificationsTableViewController.swift +++ b/Tusker/Screens/Notifications/NotificationsTableViewController.swift @@ -118,7 +118,7 @@ class NotificationsTableViewController: DiffableTimelineLikeTableViewController< "created_at": notification.createdAt.formatted(.iso8601), "account": notification.account.id, ] - SentrySDK.addBreadcrumb(crumb: crumb) + SentrySDK.addBreadcrumb(crumb) fatalError("missing status for \(group.kind) notification") } cell.updateUI(statusID: status.id, state: group.statusState!) @@ -173,7 +173,7 @@ class NotificationsTableViewController: DiffableTimelineLikeTableViewController< "created_at": notif.createdAt.formatted(.iso8601), "account": notif.account.id, ] - SentrySDK.addBreadcrumb(crumb: crumb) + SentrySDK.addBreadcrumb(crumb) } } diff --git a/Tusker/Screens/Timeline/TimelineViewController.swift b/Tusker/Screens/Timeline/TimelineViewController.swift index 3b80c6d5..811eda5b 100644 --- a/Tusker/Screens/Timeline/TimelineViewController.swift +++ b/Tusker/Screens/Timeline/TimelineViewController.swift @@ -363,7 +363,7 @@ class TimelineViewController: UIViewController, TimelineLikeCollectionViewContro crumb.data = [ "statusIDs": position.statusIDs, ] - SentrySDK.addBreadcrumb(crumb: crumb) + SentrySDK.addBreadcrumb(crumb) }() let originalPositionStatusIDs = position.statusIDs @@ -377,7 +377,7 @@ class TimelineViewController: UIViewController, TimelineLikeCollectionViewContro crumb.data = [ "unloaded": unloaded ] - SentrySDK.addBreadcrumb(crumb: crumb) + SentrySDK.addBreadcrumb(crumb) }() let results = await withTaskGroup(of: (String, Result).self) { group -> [(String, Result)] in for id in unloaded { @@ -401,7 +401,7 @@ class TimelineViewController: UIViewController, TimelineLikeCollectionViewContro statuses.append(status) let crumb = Breadcrumb(level: .info, category: "TimelineViewController") crumb.message = "Loaded status \(id)" - SentrySDK.addBreadcrumb(crumb: crumb) + SentrySDK.addBreadcrumb(crumb) case .failure(let error): let crumb = Breadcrumb(level: .error, category: "TimelineViewController") crumb.message = "Error loading status" @@ -409,7 +409,7 @@ class TimelineViewController: UIViewController, TimelineLikeCollectionViewContro "error": String(describing: error), "id": id ] - SentrySDK.addBreadcrumb(crumb: crumb) + SentrySDK.addBreadcrumb(crumb) } } await mastodonController.persistentContainer.addAll(statuses: statuses, in: mastodonController.persistentContainer.viewContext) @@ -420,14 +420,14 @@ class TimelineViewController: UIViewController, TimelineLikeCollectionViewContro crumb.data = [ "statusIDs": position.statusIDs, ] - SentrySDK.addBreadcrumb(crumb: crumb) + SentrySDK.addBreadcrumb(crumb) }() // if an icloud sync completed in between starting to load the statuses and finishing, try to load again if position.statusIDs != originalPositionStatusIDs { let crumb = Breadcrumb(level: .info, category: "TimelineViewController") crumb.message = "TimelinePosition statusIDs changed, retrying load" - SentrySDK.addBreadcrumb(crumb: crumb) + SentrySDK.addBreadcrumb(crumb) return await loadStatusesToRestore(position: position) } @@ -450,7 +450,7 @@ class TimelineViewController: UIViewController, TimelineLikeCollectionViewContro crumb.data = [ "statusIDs": position.statusIDs, ] - SentrySDK.addBreadcrumb(crumb: crumb) + SentrySDK.addBreadcrumb(crumb) }() return !position.statusIDs.isEmpty @@ -469,7 +469,7 @@ class TimelineViewController: UIViewController, TimelineLikeCollectionViewContro crumb.data = [ "statusIDs": position.statusIDs ] - SentrySDK.addBreadcrumb(crumb: crumb) + SentrySDK.addBreadcrumb(crumb) dataSource.apply(snapshot, animatingDifferences: false) { if let centerStatusID, let index = statusIDs.firstIndex(of: centerStatusID), @@ -506,7 +506,7 @@ class TimelineViewController: UIViewController, TimelineLikeCollectionViewContro guard let status = self.mastodonController.persistentContainer.status(for: statusID) else { let crumb = Breadcrumb(level: .fatal, category: "TimelineViewController") crumb.message = "Looking up status \(statusID)" - SentrySDK.addBreadcrumb(crumb: crumb) + SentrySDK.addBreadcrumb(crumb) preconditionFailure("Missing status for filtering") } // if the status is a reblog of another one, filter based on that one diff --git a/Tusker/Views/Notifications/ActionNotificationGroupTableViewCell.swift b/Tusker/Views/Notifications/ActionNotificationGroupTableViewCell.swift index 08f2edac..f8f0e1b2 100644 --- a/Tusker/Views/Notifications/ActionNotificationGroupTableViewCell.swift +++ b/Tusker/Views/Notifications/ActionNotificationGroupTableViewCell.swift @@ -75,7 +75,7 @@ class ActionNotificationGroupTableViewCell: UITableViewCell { "created_at": firstNotification.createdAt.formatted(.iso8601), "account": firstNotification.account.id, ] - SentrySDK.addBreadcrumb(crumb: crumb) + SentrySDK.addBreadcrumb(crumb) fatalError("missing status for favorite/reblog notification") } self.statusID = status.id