1k-sentry

OneKey uses Sentry for error tracking across all platforms.

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "1k-sentry" with this command: npx skills add onekeyhq/app-monorepo/onekeyhq-app-monorepo-1k-sentry

Sentry Integration

OneKey uses Sentry for error tracking across all platforms.

Architecture Overview

apps/ ├── desktop/app/sentry.ts # Desktop main process ├── ext/ # Extension (uses shared) ├── mobile/ # Mobile (uses shared) └── web/ # Web (uses shared)

packages/shared/src/modules3rdParty/sentry/ ├── index.ts # Web/Extension entry ├── index.native.ts # React Native entry ├── index.desktop.ts # Desktop renderer entry ├── basicOptions.ts # Shared config & error filtering └── instance.ts # Sentry client instance

Platform Detection

import platformEnv from '@onekeyhq/shared/src/platformEnv';

platformEnv.isDesktop // Electron desktop app platformEnv.isNative // React Native (iOS/Android) platformEnv.isWeb // Web browser platformEnv.isExtension // Browser extension platformEnv.isWebEmbed // Embedded web components

Common Tasks

Filter/Ignore Errors

See: references/rules/ignoring-errors.md

Key file: packages/shared/src/modules3rdParty/sentry/basicOptions.ts

Analyze Crash Reports

  • Get crash details from Sentry dashboard

  • Identify error type, message, and stack trace

  • Check platform-specific context

  • Use related skills for fixes:

  • Native crashes → /1k-patching-native-modules

  • JS errors → Fix in codebase

Add Custom Context

import * as Sentry from '@sentry/react-native'; // or @sentry/browser

// Add breadcrumb Sentry.addBreadcrumb({ category: 'action', message: 'User clicked button', level: 'info', });

// Set user context Sentry.setUser({ id: 'user-id' });

// Set tags Sentry.setTag('feature', 'swap');

// Capture exception with context Sentry.captureException(error, { extra: { additionalData: 'value' }, });

Key Files

Purpose File

Error filtering packages/shared/src/modules3rdParty/sentry/basicOptions.ts

Desktop main apps/desktop/app/sentry.ts

Desktop renderer packages/shared/src/modules3rdParty/sentry/index.desktop.ts

Web/Extension packages/shared/src/modules3rdParty/sentry/index.ts

Native packages/shared/src/modules3rdParty/sentry/index.native.ts

Error Filtering Quick Reference

// Filter by error type const FILTERED_ERROR_TYPES = new Set(['AxiosError', 'HTTPClientError']);

// Filter by exact message const FILTER_ERROR_VALUES = ['AbortError: AbortError'];

// Filter by pattern (in isFilterErrorAndSkipSentry function) if (error.value?.includes('PATTERN')) return true;

Related Skills

  • /1k-patching-native-modules

  • Fix native crashes found in Sentry

  • /1k-coding-patterns

  • Error handling best practices

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

react-best-practices

No summary provided by upstream source.

Repository SourceNeeds Review
General

implementing-figma-designs

No summary provided by upstream source.

Repository SourceNeeds Review
General

pr-review

No summary provided by upstream source.

Repository SourceNeeds Review
General

1k-date-formatting

No summary provided by upstream source.

Repository SourceNeeds Review