From 3ba28f2e1ad032bccb43538872cda70557a6e570 Mon Sep 17 00:00:00 2001 From: Samuel Newman Date: Sun, 26 Jul 2026 10:10:01 +0300 Subject: [PATCH] get rid of dumb import structure --- src/analytics/index.tsx | 2 +- .../media/video/__tests__/playbackTelemetry.test.ts | 10 ++++------ src/lib/media/video/playbackTelemetry.ts | 2 +- src/lib/media/video/telemetry.ts | 2 +- src/logger/reporting/sendErrorReport.ts | 2 +- src/logger/sentry/lib/index.ts | 1 - src/logger/sentry/lib/index.web.ts | 1 - src/logger/sentry/setup/index.ts | 6 +++--- src/logger/transports/sentry.ts | 3 ++- .../Settings/components/BetaFeaturesFeedbackDialog.tsx | 2 +- 10 files changed, 14 insertions(+), 17 deletions(-) delete mode 100644 src/logger/sentry/lib/index.ts delete mode 100644 src/logger/sentry/lib/index.web.ts diff --git a/src/analytics/index.tsx b/src/analytics/index.tsx index 20f919f501..ce02efb85d 100644 --- a/src/analytics/index.tsx +++ b/src/analytics/index.tsx @@ -83,7 +83,7 @@ function createLogger( warn: logger.warn.bind(logger), error: logger.error.bind(logger), useChild: (context: Exclude) => { - return useMemo(() => createLogger(context, metadata), [context, metadata]) + return useMemo(() => createLogger(context, metadata), [context]) }, Context: Logger.Context, } diff --git a/src/lib/media/video/__tests__/playbackTelemetry.test.ts b/src/lib/media/video/__tests__/playbackTelemetry.test.ts index 8d0f53f514..674898842b 100644 --- a/src/lib/media/video/__tests__/playbackTelemetry.test.ts +++ b/src/lib/media/video/__tests__/playbackTelemetry.test.ts @@ -5,14 +5,12 @@ const mockSpan = { end: jest.fn(), } -jest.mock('#/logger/sentry/lib', () => ({ - Sentry: { - startInactiveSpan: jest.fn(() => mockSpan), - }, +jest.mock('@sentry/react-native', () => ({ + startInactiveSpan: jest.fn(() => mockSpan), })) -const {Sentry}: {Sentry: {startInactiveSpan: jest.Mock}} = jest.requireMock( - '#/logger/sentry/lib', +const Sentry: {startInactiveSpan: jest.Mock} = jest.requireMock( + '@sentry/react-native', ) describe('createPlaybackTelemetry', () => { diff --git a/src/lib/media/video/playbackTelemetry.ts b/src/lib/media/video/playbackTelemetry.ts index d554619b85..fc99968cee 100644 --- a/src/lib/media/video/playbackTelemetry.ts +++ b/src/lib/media/video/playbackTelemetry.ts @@ -1,4 +1,4 @@ -import {Sentry} from '#/logger/sentry/lib' +import * as Sentry from '@sentry/react-native' /** * Where the video is being played. diff --git a/src/lib/media/video/telemetry.ts b/src/lib/media/video/telemetry.ts index 67ff77c58e..d1b9c851a7 100644 --- a/src/lib/media/video/telemetry.ts +++ b/src/lib/media/video/telemetry.ts @@ -1,12 +1,12 @@ import {Platform} from 'react-native' import {type ImagePickerAsset} from 'expo-image-picker' +import * as Sentry from '@sentry/react-native' import {nanoid} from 'nanoid/non-secure' import { type ProbedMetadata, type VideoCompressSkipReason, } from '#/lib/media/video/types' -import {Sentry} from '#/logger/sentry/lib' import {type Metrics} from '#/analytics/metrics' type MetricFn = (event: E, payload: Metrics[E]) => void diff --git a/src/logger/reporting/sendErrorReport.ts b/src/logger/reporting/sendErrorReport.ts index e0159c1703..1c91a359cb 100644 --- a/src/logger/reporting/sendErrorReport.ts +++ b/src/logger/reporting/sendErrorReport.ts @@ -1,7 +1,7 @@ +import * as Sentry from '@sentry/react-native' import slugify from 'slugify' import {getEntries} from '#/logger/logDump' -import {Sentry} from '#/logger/sentry/lib' export function sendErrorReport({ title, diff --git a/src/logger/sentry/lib/index.ts b/src/logger/sentry/lib/index.ts deleted file mode 100644 index e771560e73..0000000000 --- a/src/logger/sentry/lib/index.ts +++ /dev/null @@ -1 +0,0 @@ -export * as Sentry from '@sentry/react-native' diff --git a/src/logger/sentry/lib/index.web.ts b/src/logger/sentry/lib/index.web.ts deleted file mode 100644 index e771560e73..0000000000 --- a/src/logger/sentry/lib/index.web.ts +++ /dev/null @@ -1 +0,0 @@ -export * as Sentry from '@sentry/react-native' diff --git a/src/logger/sentry/setup/index.ts b/src/logger/sentry/setup/index.ts index d4607e08a1..9a30e2bc3d 100644 --- a/src/logger/sentry/setup/index.ts +++ b/src/logger/sentry/setup/index.ts @@ -1,8 +1,8 @@ -import {getGlobalScope, init} from '@sentry/react-native' +import * as Sentry from '@sentry/react-native' import * as env from '#/env' -init({ +Sentry.init({ enabled: !env.IS_DEV && !!env.SENTRY_DSN, enableAutoSessionTracking: false, dsn: env.SENTRY_DSN, @@ -42,7 +42,7 @@ init({ * Events already carry react_native_context.fabric, but a tag is easier to * filter and dashboard on. Detection matches the SDK's own isFabricEnabled. */ -getGlobalScope().setTag( +Sentry.getGlobalScope().setTag( 'new_arch', (global as {nativeFabricUIManager?: unknown}).nativeFabricUIManager != null, ) diff --git a/src/logger/transports/sentry.ts b/src/logger/transports/sentry.ts index 1764e91541..639bf3bae5 100644 --- a/src/logger/transports/sentry.ts +++ b/src/logger/transports/sentry.ts @@ -1,5 +1,6 @@ +import * as Sentry from '@sentry/react-native' + import {isNetworkError} from '#/lib/strings/errors' -import {Sentry} from '#/logger/sentry/lib' import {LogLevel, type Transport} from '#/logger/types' import {prepareMetadata} from '#/logger/util' diff --git a/src/screens/Settings/components/BetaFeaturesFeedbackDialog.tsx b/src/screens/Settings/components/BetaFeaturesFeedbackDialog.tsx index 1cca74d5ad..bdf84d9dda 100644 --- a/src/screens/Settings/components/BetaFeaturesFeedbackDialog.tsx +++ b/src/screens/Settings/components/BetaFeaturesFeedbackDialog.tsx @@ -2,10 +2,10 @@ import {useState} from 'react' import {View} from 'react-native' import {plural} from '@lingui/core/macro' import {Trans, useLingui} from '@lingui/react/macro' +import * as Sentry from '@sentry/react-native' import {useMutation} from '@tanstack/react-query' import {logger} from '#/logger' -import {Sentry} from '#/logger/sentry/lib' import {atoms as a, useTheme, web} from '#/alf' import {Button, ButtonText} from '#/components/Button' import * as Dialog from '#/components/Dialog'