Claude-skill-registry 1k-sentry
Sentry error tracking and monitoring for OneKey. Use when configuring Sentry, filtering errors, analyzing crash reports, or debugging production issues. Covers platform-specific setup (desktop/mobile/web/extension) and error filtering strategies.
install
source · Clone the upstream repo
git clone https://github.com/majiayu000/claude-skill-registry
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/1k-sentry" ~/.claude/skills/majiayu000-claude-skill-registry-1k-sentry && rm -rf "$T"
manifest:
skills/data/1k-sentry/SKILL.mdsource content
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
- Native crashes →
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 | |
| Desktop main | |
| Desktop renderer | |
| Web/Extension | |
| Native | |
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
- Fix native crashes found in Sentry/1k-patching-native-modules
- Error handling best practices/1k-coding-patterns