feat: add Sentry error tracking and Expo Updates

This commit is contained in:
2026-08-08 15:10:12 +02:00
parent 0aa61ab7e8
commit 7ae2711e4b
14 changed files with 898 additions and 7 deletions
+9
View File
@@ -4,6 +4,15 @@ module.exports = (config) => ({
type: "watch",
icon: "../../assets/icon.png",
deploymentTarget: "10.0",
frameworks: ["SwiftUI"],
swiftPackages: [
{
name: "SentrySPM",
repositoryURL: "https://github.com/getsentry/sentry-cocoa.git",
kind: "upToNextMajorVersion",
minimumVersion: "9.25.0",
},
],
entitlements: {
"com.apple.security.application-groups":
config.ios?.entitlements?.[
+8
View File
@@ -1,11 +1,19 @@
import SwiftUI
import WatchConnectivity
import Sentry
@main
struct SwimTrackerWatchApp: App {
@StateObject private var workoutManager = WorkoutManager()
init() {
SentrySDK.start { options in
options.dsn = "https://6197bcf085d63727d829aa89ede8e973@o4507430203293696.ingest.de.sentry.io/4511875297706064"
options.debug = false
options.tracesSampleRate = 1.0
options.enableLogs = true
}
if WCSession.isSupported() {
let session = WCSession.default
session.delegate = PhoneConnector.shared
+15
View File
@@ -2,6 +2,7 @@ plugins {
id("com.android.application")
id("org.jetbrains.kotlin.android")
id("org.jetbrains.kotlin.plugin.compose")
id("io.sentry.android.gradle") version "6.17.0"
}
android {
@@ -14,6 +15,9 @@ android {
targetSdk = 35
versionCode = 1
versionName = "1.0.0"
val sentryDsn = System.getenv("SENTRY_DSN") ?: ""
manifestPlaceholders["sentryDsn"] = sentryDsn
}
buildTypes {
@@ -68,4 +72,15 @@ dependencies {
// Gson for JSON
implementation("com.google.code.gson:gson:2.11.0")
// Sentry
implementation("io.sentry:sentry-android:8.52.0")
}
sentry {
uploadNativeSymbols = true
includeNativeSources = true
autoInstallation {
enabled = false
}
}
@@ -18,6 +18,22 @@
android:supportsRtl="true"
android:theme="@android:style/Theme.Material.Light.NoActionBar">
<meta-data
android:name="io.sentry.dsn"
android:value="${sentryDsn}" />
<meta-data
android:name="io.sentry.traces.sample-rate"
android:value="1.0" />
<meta-data
android:name="io.sentry.logs.enabled"
android:value="true" />
<meta-data
android:name="io.sentry.attach-screenshot"
android:value="true" />
<activity
android:name=".SwimBuddyWearActivity"
android:exported="true"
+1
View File
@@ -2,4 +2,5 @@ plugins {
id("com.android.application") version "8.7.3" apply false
id("org.jetbrains.kotlin.android") version "2.0.21" apply false
id("org.jetbrains.kotlin.plugin.compose") version "2.0.21" apply false
id("io.sentry.android.gradle") version "6.17.0" apply false
}