1k-sentry について
OneKey のデスクトップ、モバイル、Web、拡張機能で Sentry のエラー追跡を設定するスキルです。エラーの除外やカスタムコンテキストの追加を扱います。
主な機能
- 01各プラットフォームの Sentry 入口
- 02種類やメッセージによるエラー除外
- 03カスタムブレッドクラムの追加
- 04主要な設定ファイルの参照
活用シーン
- 01特定のエラーを Sentry レポートから除外
- 02アプリの操作にブレッドクラムを追加
- 03対象プラットフォームの Sentry ファイルを特定
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ onekeyhq/ app-monorepo --skill 1k-sentryインストール後、Claude Code で/1k-sentryを入力して読み込まれたか確認します。
同梱ファイルreferences/rules/ignoring-errors.md
詳細
Sentry 統合
OneKey は、すべてのプラットフォームでエラー追跡に Sentry を使用しています。
アーキテクチャの概要
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
プラットフォームの検出
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
一般的なタスク
エラーをフィルタリング/無視する
参照先:references/rules/ignoring-errors.md
主要なファイル:packages/shared/src/modules3rdParty/sentry/basicOptions.ts
カスタムコンテキストを追加する
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' },
});
主要なファイル
| 目的 | ファイル |
|---|---|
| エラーのフィルタリング | packages/shared/src/modules3rdParty/sentry/basicOptions.ts |
| デスクトップのメインプロセス | apps/desktop/app/sentry.ts |
| デスクトップのレンダラー | packages/shared/src/modules3rdParty/sentry/index.desktop.ts |
| Web/拡張機能 | packages/shared/src/modules3rdParty/sentry/index.ts |
| ネイティブ | packages/shared/src/modules3rdParty/sentry/index.native.ts |
エラーフィルタリングのクイックリファレンス
// 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;
関連するスキル
/1k-coding-patterns- エラー処理のベストプラクティス
コメント
Markdown 対応