about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/App.native.tsx3
-rw-r--r--src/Navigation.tsx7
-rw-r--r--src/lib/sentry.ts48
3 files changed, 3 insertions, 55 deletions
diff --git a/src/App.native.tsx b/src/App.native.tsx
index f0b1a1bc5..3250ea563 100644
--- a/src/App.native.tsx
+++ b/src/App.native.tsx
@@ -10,7 +10,6 @@ import {QueryClientProvider} from '@tanstack/react-query'
 
 import 'view/icons'
 
-import {withSentry} from 'lib/sentry'
 import {ThemeProvider} from 'lib/ThemeContext'
 import {s} from 'lib/styles'
 import {RootStoreModel, setupState, RootStoreProvider} from './state'
@@ -62,4 +61,4 @@ const App = observer(function AppImpl() {
   )
 })
 
-export default withSentry(App)
+export default App
diff --git a/src/Navigation.tsx b/src/Navigation.tsx
index a6949de23..381f33cf9 100644
--- a/src/Navigation.tsx
+++ b/src/Navigation.tsx
@@ -34,7 +34,6 @@ import {useColorSchemeStyle} from 'lib/hooks/useColorSchemeStyle'
 import {router} from './routes'
 import {usePalette} from 'lib/hooks/usePalette'
 import {useStores} from './state'
-import {getRoutingInstrumentation} from 'lib/sentry'
 import {bskyTitle} from 'lib/strings/headings'
 import {JSX} from 'react/jsx-runtime'
 import {timeout} from 'lib/async/timeout'
@@ -478,12 +477,6 @@ function RoutesContainer({children}: React.PropsWithChildren<{}>) {
         )
         console.log(`Time to first paint: ${initMs} ms`)
         logModuleInitTrace()
-
-        // Register the navigation container with the Sentry instrumentation (only works on native)
-        if (isNative) {
-          const routingInstrumentation = getRoutingInstrumentation()
-          routingInstrumentation.registerNavigationContainer(navigationRef)
-        }
       }}>
       {children}
     </NavigationContainer>
diff --git a/src/lib/sentry.ts b/src/lib/sentry.ts
index b7f04854d..b080bcc5c 100644
--- a/src/lib/sentry.ts
+++ b/src/lib/sentry.ts
@@ -1,52 +1,8 @@
-import {isNative, isWeb} from 'platform/detection'
-import {FC} from 'react'
-import * as Sentry from 'sentry-expo'
+import {init} from 'sentry-expo'
 
-// Sentry Initialization
-
-export const getRoutingInstrumentation = () => {
-  return new Sentry.Native.ReactNavigationInstrumentation() // initialize this in `onReady` prop of NavigationContainer
-}
-
-Sentry.init({
+init({
   dsn: 'https://05bc3789bf994b81bd7ce20c86ccd3ae@o4505071687041024.ingest.sentry.io/4505071690514432',
   enableInExpoDevelopment: false, // if true, Sentry will try to send events/errors in development mode.
   debug: false, // If `true`, Sentry will try to print out useful debugging information if something goes wrong with sending the event. Set it to `false` in production
   environment: __DEV__ ? 'development' : 'production', // Set the environment
-  // @ts-ignore exists but not in types, see https://docs.sentry.io/platforms/react-native/configuration/options/#enableAutoPerformanceTracking
-  enableAutoPerformanceTracking: true, // Enable auto performance tracking
-  tracesSampleRate: 0.5, // Set tracesSampleRate to 1.0 to capture 100% of transactions for performance monitoring. // TODO: this might be too much in production
-  _experiments: {
-    // The sampling rate for profiling is relative to TracesSampleRate.
-    // In this case, we'll capture profiles for 50% of transactions.
-    profilesSampleRate: 0.5,
-  },
-  integrations: isNative
-    ? [
-        new Sentry.Native.ReactNativeTracing({
-          shouldCreateSpanForRequest: url => {
-            // Do not create spans for outgoing requests to a `/logs` endpoint as it is too noisy due to expo
-            return !url.match(/\/logs$/)
-          },
-          routingInstrumentation: getRoutingInstrumentation(),
-        }),
-      ]
-    : [], // no integrations for web, yet
 })
-
-// if web, use Browser client, otherwise use Native client
-export function getSentryClient() {
-  if (isWeb) {
-    return Sentry.Browser
-  }
-  return Sentry.Native
-}
-
-// wrap root App component with Sentry for automatic touch event tracking and performance monitoring
-export function withSentry(Component: FC) {
-  if (isWeb) {
-    return Component // .wrap is not required or available for web
-  }
-  const sentryClient = getSentryClient()
-  return sentryClient.wrap(Component)
-}