[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill-sentry-sentry-react-sdk":3,"mdc-ibjbh4-key":36,"related-org-sentry-sentry-react-sdk":7607,"related-repo-sentry-sentry-react-sdk":7787},{"slug":4,"name":4,"fn":5,"description":6,"org":7,"tags":12,"stars":24,"repoUrl":25,"updatedAt":26,"license":27,"forks":28,"topics":29,"repo":31,"sourceUrl":34,"mdContent":35},"sentry-react-sdk","setup Sentry SDK for React","Full Sentry SDK setup for React. Use when asked to \"add Sentry to React\", \"install @sentry\u002Freact\", or configure error monitoring, tracing, session replay, profiling, or logging for React applications. Supports React 16+, React Router v5-v7 non-framework mode, TanStack Router, Redux, Vite, and webpack.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},"sentry","Sentry","https:\u002F\u002Fpexgzepcugksgbtrxkhf.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Forg-logos\u002Fsentry.png","getsentry",[13,17,20,21],{"name":14,"slug":15,"type":16},"Observability","observability","tag",{"name":18,"slug":19,"type":16},"React","react",{"name":9,"slug":8,"type":16},{"name":22,"slug":23,"type":16},"Frontend","frontend",237,"https:\u002F\u002Fgithub.com\u002Fgetsentry\u002Fsentry-for-ai","2026-07-11T05:53:07.869966","Apache-2.0",30,[30],"tag-production",{"repoUrl":25,"stars":24,"forks":28,"topics":32,"description":33},[30],"Teach your AI coding assistant how to use Sentry - setup, debugging, alerts, and more","https:\u002F\u002Fgithub.com\u002Fgetsentry\u002Fsentry-for-ai\u002Ftree\u002FHEAD\u002Fskills-legacy\u002Fsentry-react-sdk","---\nname: sentry-react-sdk\ndescription: Full Sentry SDK setup for React. Use when asked to \"add Sentry to React\", \"install @sentry\u002Freact\", or configure error monitoring, tracing, session replay, profiling, or logging for React applications. Supports React 16+, React Router v5-v7 non-framework mode, TanStack Router, Redux, Vite, and webpack.\nlicense: Apache-2.0\ncategory: sdk-setup\nparent: sentry-sdk-setup\ndisable-model-invocation: true\n---\n\n> [All Skills](..\u002F..\u002FSKILL_TREE.md) > [SDK Setup](..\u002Fsentry-sdk-setup\u002FSKILL.md) > React SDK\n\n# Sentry React SDK\n\nOpinionated wizard that scans your React project and guides you through complete Sentry setup.\n\n## Invoke This Skill When\n\n- User asks to \"add Sentry to React\" or \"set up Sentry\" in a React app\n- User wants error monitoring, tracing, session replay, profiling, or logging in React\n- User mentions `@sentry\u002Freact`, React Sentry SDK, or Sentry error boundaries\n- User wants to monitor React Router v5\u002Fv6\u002Fv7 non-framework navigation, Redux state, or component performance\n\nIf project is React Router **Framework mode** using `@sentry\u002Freact-router`, use `sentry-react-router-framework-sdk` instead of this skill.\n\n> **Note:** SDK versions and APIs below reflect current Sentry docs at time of writing (`@sentry\u002Freact` ≥8.0.0).\n> Always verify against [docs.sentry.io\u002Fplatforms\u002Fjavascript\u002Fguides\u002Freact\u002F](https:\u002F\u002Fdocs.sentry.io\u002Fplatforms\u002Fjavascript\u002Fguides\u002Freact\u002F) before implementing.\n\n---\n\n## Phase 1: Detect\n\nRun these commands to understand the project before making any recommendations:\n\n```bash\n# Detect React version\ncat package.json | grep -E '\"react\"|\"react-dom\"'\n\n# Check for existing Sentry\ncat package.json | grep '\"@sentry\u002F'\n\n# Detect router and framework mode hints\ncat package.json | grep -E '\"react-router-dom\"|\"react-router\"|\"@react-router\u002F\"|\"@tanstack\u002Freact-router\"|\"@sentry\u002Freact-router\"'\n\n# Detect state management\ncat package.json | grep -E '\"redux\"|\"@reduxjs\u002Ftoolkit\"'\n\n# Detect build tool\nls vite.config.ts vite.config.js webpack.config.js craco.config.js 2>\u002Fdev\u002Fnull\ncat package.json | grep -E '\"vite\"|\"react-scripts\"|\"webpack\"'\n\n# Detect logging libraries\ncat package.json | grep -E '\"pino\"|\"winston\"|\"loglevel\"'\n\n# Check for companion backend in adjacent directories\nls ..\u002Fbackend ..\u002Fserver ..\u002Fapi 2>\u002Fdev\u002Fnull\ncat ..\u002Fgo.mod ..\u002Frequirements.txt ..\u002FGemfile ..\u002Fpom.xml 2>\u002Fdev\u002Fnull | head -3\n```\n\n**What to determine:**\n\n| Question | Impact |\n|----------|--------|\n| React 19+? | Use `reactErrorHandler()` hook pattern |\n| React \u003C19? | Use `Sentry.ErrorBoundary` |\n| `@sentry\u002Freact` already present? | Skip install, go straight to feature config |\n| React Router Framework mode indicators (`@sentry\u002Freact-router`, `@react-router\u002F*`)? | Use `sentry-react-router-framework-sdk` |\n| `react-router-dom` v5 \u002F v6 \u002F v7? | Determines which router integration to use |\n| `@tanstack\u002Freact-router`? | Use `tanstackRouterBrowserTracingIntegration()` |\n| Redux in use? | Recommend `createReduxEnhancer()` |\n| Vite detected? | Source maps via `sentryVitePlugin` |\n| CRA (`react-scripts`)? | Source maps via `@sentry\u002Fwebpack-plugin` in CRACO |\n| Backend directory found? | Trigger Phase 4 cross-link suggestion |\n\n---\n\n## Phase 2: Recommend\n\nPresent a concrete recommendation based on what you found. Don't ask open-ended questions — lead with a proposal:\n\n**Recommended (core coverage):**\n- ✅ **Error Monitoring** — always; captures unhandled errors, React error boundaries, React 19 hooks\n- ✅ **Tracing** — React SPAs benefit from page load, navigation, and API call tracing\n- ✅ **Session Replay** — recommended for user-facing apps; records sessions around errors\n\n**Optional (enhanced observability):**\n- ⚡ **Logging** — structured logs via `Sentry.logger.*`; recommend when structured log search is needed\n- ⚡ **Profiling** — JS Self-Profiling API (⚠️ experimental; requires cross-origin isolation headers)\n\n**Recommendation logic:**\n\n| Feature | Recommend when... |\n|---------|------------------|\n| Error Monitoring | **Always** — non-negotiable baseline |\n| Tracing | **Always for React SPAs** — page load + navigation spans are high-value |\n| Session Replay | User-facing app, login flows, or checkout pages |\n| Logging | App needs structured log search or log-to-trace correlation |\n| Profiling | Performance-critical app; server sends `Document-Policy: js-profiling` header |\n\n**React-specific extras:**\n- React 19 detected → set up `reactErrorHandler()` on `createRoot`\n- React Router v5\u002Fv6\u002Fv7 non-framework detected → configure matching router integration (see Phase 3)\n- React Router Framework mode detected → switch to `sentry-react-router-framework-sdk`\n- Redux detected → add `createReduxEnhancer()` to Redux store\n- Vite detected → configure `sentryVitePlugin` for source maps (essential for readable stack traces)\n\nPropose: *\"I recommend setting up Error Monitoring + Tracing + Session Replay. Want me to also add Logging or Profiling?\"*\n\n---\n\n## Phase 3: Guide\n\n### Install\n\n```bash\nnpm install @sentry\u002Freact --save\n```\n\n### Create `src\u002Finstrument.ts`\n\nSentry must initialize **before any other code runs**. Put `Sentry.init()` in a dedicated sidecar file:\n\n```typescript\nimport * as Sentry from \"@sentry\u002Freact\";\n\nSentry.init({\n  dsn: import.meta.env.VITE_SENTRY_DSN, \u002F\u002F Adjust per build tool (see table below)\n  environment: import.meta.env.MODE,\n  release: import.meta.env.VITE_APP_VERSION, \u002F\u002F inject at build time\n\n  dataCollection: {\n    \u002F\u002F To disable sending user data and HTTP bodies, uncomment the lines below. For more info visit:\n    \u002F\u002F https:\u002F\u002Fdocs.sentry.io\u002Fplatforms\u002Fjavascript\u002Fguides\u002Freact\u002Fconfiguration\u002Foptions\u002F#dataCollection\n    \u002F\u002F userInfo: false,\n    \u002F\u002F httpBodies: [],\n  },\n\n  integrations: [\n    Sentry.browserTracingIntegration(),\n    Sentry.replayIntegration({\n      maskAllText: true,\n      blockAllMedia: true,\n    }),\n  ],\n\n  \u002F\u002F Tracing\n  tracesSampleRate: 1.0, \u002F\u002F lower to 0.1–0.2 in production\n  tracePropagationTargets: [\"localhost\", \u002F^https:\\\u002F\\\u002Fyourapi\\.io\u002F],\n\n  \u002F\u002F Session Replay\n  replaysSessionSampleRate: 0.1,\n  replaysOnErrorSampleRate: 1.0,\n\n  enableLogs: true,\n});\n```\n\n**DSN environment variable by build tool:**\n\n| Build Tool | Variable Name | Access in code |\n|------------|--------------|----------------|\n| Vite | `VITE_SENTRY_DSN` | `import.meta.env.VITE_SENTRY_DSN` |\n| Create React App | `REACT_APP_SENTRY_DSN` | `process.env.REACT_APP_SENTRY_DSN` |\n| Custom webpack | `SENTRY_DSN` | `process.env.SENTRY_DSN` |\n\n### Entry Point Setup\n\nImport `instrument.ts` as the **very first import** in your entry file:\n\n```tsx\n\u002F\u002F src\u002Fmain.tsx (Vite) or src\u002Findex.tsx (CRA\u002Fwebpack)\nimport \".\u002Finstrument\";              \u002F\u002F ← MUST be first\n\nimport { StrictMode } from \"react\";\nimport { createRoot } from \"react-dom\u002Fclient\";\nimport App from \".\u002FApp\";\n\ncreateRoot(document.getElementById(\"root\")!).render(\n  \u003CStrictMode>\n    \u003CApp \u002F>\n  \u003C\u002FStrictMode>\n);\n```\n\n### React Version-Specific Error Handling\n\n**React 19+** — use `reactErrorHandler()` on `createRoot`:\n\n```tsx\nimport { reactErrorHandler } from \"@sentry\u002Freact\";\n\ncreateRoot(document.getElementById(\"root\")!, {\n  onUncaughtError: reactErrorHandler(),\n  onCaughtError: reactErrorHandler(),\n  onRecoverableError: reactErrorHandler(),\n}).render(\u003CApp \u002F>);\n```\n\n**React \u003C19** — wrap your app in `Sentry.ErrorBoundary`:\n\n```tsx\nimport * as Sentry from \"@sentry\u002Freact\";\n\ncreateRoot(document.getElementById(\"root\")!).render(\n  \u003CSentry.ErrorBoundary fallback={\u003Cp>Something went wrong\u003C\u002Fp>} showDialog>\n    \u003CApp \u002F>\n  \u003C\u002FSentry.ErrorBoundary>\n);\n```\n\nUse `\u003CSentry.ErrorBoundary>` for any sub-tree that should catch errors independently (route sections, widgets, etc.).\n\n### Router Integration\n\nConfigure the matching integration for your router (non-framework mode):\n\n| Router | Integration | Notes |\n|--------|------------|-------|\n| React Router v7 | `reactRouterV7BrowserTracingIntegration` | `useEffect`, `useLocation`, `useNavigationType`, `createRoutesFromChildren`, `matchRoutes` from `react-router` |\n| React Router v6 | `reactRouterV6BrowserTracingIntegration` | `useEffect`, `useLocation`, `useNavigationType`, `createRoutesFromChildren`, `matchRoutes` from `react-router-dom` |\n| React Router v5 | `reactRouterV5BrowserTracingIntegration` | Wrap routes in `withSentryRouting(Route)` |\n| TanStack Router | `tanstackRouterBrowserTracingIntegration(router)` | Pass router instance — no hooks required |\n| No router \u002F custom | `browserTracingIntegration()` | Names transactions by URL path |\n\n**React Router v6\u002Fv7 setup:**\n\n```typescript\n\u002F\u002F in instrument.ts integrations array:\nimport React from \"react\";\nimport {\n  createRoutesFromChildren, matchRoutes,\n  useLocation, useNavigationType,\n} from \"react-router-dom\"; \u002F\u002F or \"react-router\" for v7\nimport * as Sentry from \"@sentry\u002Freact\";\nimport { reactRouterV6BrowserTracingIntegration } from \"@sentry\u002Freact\";\nimport { createBrowserRouter } from \"react-router-dom\";\n\n\u002F\u002F Option A — createBrowserRouter (recommended for v6.4+):\nconst sentryCreateBrowserRouter = Sentry.wrapCreateBrowserRouterV6(createBrowserRouter);\nconst router = sentryCreateBrowserRouter([...routes]);\n\n\u002F\u002F Option B — createBrowserRouter for React Router v7:\n\u002F\u002F const sentryCreateBrowserRouter = Sentry.wrapCreateBrowserRouterV7(createBrowserRouter);\n\n\u002F\u002F Option C — integration with hooks (v6 without data APIs):\nSentry.init({\n  integrations: [\n    reactRouterV6BrowserTracingIntegration({\n      useEffect: React.useEffect,\n      useLocation,\n      useNavigationType,\n      matchRoutes,\n      createRoutesFromChildren,\n    }),\n  ],\n});\n```\n\n**TanStack Router setup:**\n\n```typescript\nimport { tanstackRouterBrowserTracingIntegration } from \"@sentry\u002Freact\";\n\n\u002F\u002F Pass your TanStack router instance:\nSentry.init({\n  integrations: [tanstackRouterBrowserTracingIntegration(router)],\n});\n```\n\n### Redux Integration (when detected)\n\n```typescript\nimport * as Sentry from \"@sentry\u002Freact\";\nimport { configureStore } from \"@reduxjs\u002Ftoolkit\";\n\nconst store = configureStore({\n  reducer: rootReducer,\n  enhancers: (getDefaultEnhancers) =>\n    getDefaultEnhancers().concat(Sentry.createReduxEnhancer()),\n});\n```\n\n### Source Maps Setup (strongly recommended)\n\nWithout source maps, stack traces show minified code. Set up the build plugin to upload source maps automatically:\n\n**Vite (`vite.config.ts`):**\n\n```typescript\nimport { defineConfig } from \"vite\";\nimport react from \"@vitejs\u002Fplugin-react\";\nimport { sentryVitePlugin } from \"@sentry\u002Fvite-plugin\";\n\nexport default defineConfig({\n  build: { sourcemap: \"hidden\" },\n  plugins: [\n    react(),\n    sentryVitePlugin({\n      org: process.env.SENTRY_ORG,\n      project: process.env.SENTRY_PROJECT,\n      authToken: process.env.SENTRY_AUTH_TOKEN,\n    }),\n  ],\n});\n```\n\n**Create React App (via CRACO):**\n\n```bash\nnpm install @craco\u002Fcraco @sentry\u002Fwebpack-plugin --save-dev\n```\n\n```javascript\n\u002F\u002F craco.config.js\nconst { sentryWebpackPlugin } = require(\"@sentry\u002Fwebpack-plugin\");\n\nmodule.exports = {\n  webpack: {\n    plugins: {\n      add: [\n        sentryWebpackPlugin({\n          org: process.env.SENTRY_ORG,\n          project: process.env.SENTRY_PROJECT,\n          authToken: process.env.SENTRY_AUTH_TOKEN,\n        }),\n      ],\n    },\n  },\n};\n```\n\n`SENTRY_ORG` \u002F `SENTRY_PROJECT` \u002F `SENTRY_AUTH_TOKEN` are build-time values; the auth token is a secret (never commit it). For creating the token and wiring it into CI, see [`sentry-source-maps`](..\u002Fsentry-source-maps\u002FSKILL.md).\n\n### For Each Agreed Feature\n\nWalk through features one at a time. Load the reference file, follow its steps, verify before moving on:\n\n| Feature | Reference | Load when... |\n|---------|-----------|-------------|\n| Error Monitoring | `${SKILL_ROOT}\u002Freferences\u002Ferror-monitoring.md` | Always (baseline) |\n| Tracing | `${SKILL_ROOT}\u002Freferences\u002Ftracing.md` | SPA navigation \u002F API call tracing |\n| Session Replay | `${SKILL_ROOT}\u002Freferences\u002Fsession-replay.md` | User-facing app |\n| Logging | `${SKILL_ROOT}\u002Freferences\u002Flogging.md` | Structured log search \u002F log-to-trace |\n| Profiling | `${SKILL_ROOT}\u002Freferences\u002Fprofiling.md` | Performance-critical app |\n| React Features | `${SKILL_ROOT}\u002Freferences\u002Freact-features.md` | Redux, component tracking, source maps, integrations catalog |\n\nFor each feature: `Read ${SKILL_ROOT}\u002Freferences\u002F\u003Cfeature>.md`, follow steps exactly, verify it works.\n\n---\n\n## Configuration Reference\n\n### Key `Sentry.init()` Options\n\n| Option | Type | Default | Notes |\n|--------|------|---------|-------|\n| `dsn` | `string` | — | **Required.** SDK disabled when empty |\n| `environment` | `string` | `\"production\"` | e.g., `\"staging\"`, `\"development\"` |\n| `release` | `string` | — | e.g., `\"my-app@1.0.0\"` or git SHA — links errors to releases |\n| `dataCollection` | `object` | conservative unless set | Fine-grained control over auto-collected categories (`userInfo`, `cookies`, `httpHeaders`, `httpBodies`, `queryParams`, `genAI`). When omitted, the SDK falls back to `sendDefaultPii` (default `false`). Passing the object — even `{}` — flips unset categories to their permissive defaults; opt out per category. |\n| `tracesSampleRate` | `number` | — | 0–1; `1.0` in dev, `0.1–0.2` in prod |\n| `tracesSampler` | `function` | — | Per-transaction sampling; overrides rate |\n| `tracePropagationTargets` | `(string\\|RegExp)[]` | — | Outgoing URLs that receive distributed tracing headers |\n| `replaysSessionSampleRate` | `number` | — | Fraction of all sessions recorded |\n| `replaysOnErrorSampleRate` | `number` | — | Fraction of error sessions recorded |\n| `enableLogs` | `boolean` | `false` | Enable `Sentry.logger.*` API |\n| `attachStacktrace` | `boolean` | `false` | Stack traces on `captureMessage()` calls |\n| `maxBreadcrumbs` | `number` | `100` | Breadcrumbs stored per event |\n| `debug` | `boolean` | `false` | Verbose SDK output to console |\n| `tunnel` | `string` | — | Proxy URL to bypass ad blockers |\n\n### `dataCollection` Options (SDK ≥10.57.0)\n\nFine-grained control over what data the SDK collects. Collection is on by default (with sensitive-value scrubbing); opt out per category:\n\n| Field | Type | Default | Notes |\n|-------|------|---------|-------|\n| `userInfo` | `boolean` | `true` | Collect user id, email, and IP |\n| `cookies` | `boolean \\| { allow: string[] } \\| { deny: string[] }` | `true` | Cookie collection and filtering; `true` = all cookies (sensitive keys filtered) |\n| `httpHeaders.request` | `boolean \\| { allow: string[] } \\| { deny: string[] }` | `true` | HTTP request header collection |\n| `httpHeaders.response` | `boolean \\| { allow: string[] } \\| { deny: string[] }` | `true` | HTTP response header collection |\n| `queryParams` | `boolean \\| { allow: string[] } \\| { deny: string[] }` | `true` | Query parameter collection and filtering |\n| `httpBodies` | `HttpBodyCollectionTarget[]` | `[\"incomingRequest\", \"outgoingRequest\", \"incomingResponse\", \"outgoingResponse\"]` | Collect request\u002Fresponse bodies; options: `'incomingRequest'`, `'outgoingRequest'`, `'incomingResponse'`, `'outgoingResponse'` |\n| `genAI.inputs` | `boolean` | `true` | Record AI model inputs (for AI monitoring) |\n| `genAI.outputs` | `boolean` | `true` | Record AI model outputs (for AI monitoring) |\n| `stackFrameVariables` | `boolean` | `true` | Capture local variable values in stack frames |\n| `frameContextLines` | `number` | `5` | Source code context lines around stack frames |\n\n**Example:** Allow only specific cookies and headers:\n\n```typescript\nSentry.init({\n  dataCollection: {\n    cookies: { allow: ['session', 'user_id'] },\n    httpHeaders: {\n      request: { allow: ['authorization', 'x-request-id'] },\n      response: { deny: ['set-cookie'] },\n    },\n  },\n});\n```\n\n### React Compatibility Matrix\n\n| React Version | Error handling approach | SDK minimum |\n|---------------|------------------------|-------------|\n| React 19+ | `reactErrorHandler()` on `createRoot` | `@sentry\u002Freact` ≥8.0.0 |\n| React 16–18 | `Sentry.ErrorBoundary` component | `@sentry\u002Freact` ≥7.0.0 |\n| React 16 | `componentDidCatch` class boundaries | `@sentry\u002Freact` ≥6.0.0 |\n\n---\n\n## Verification\n\nTrigger test events to confirm Sentry is receiving data:\n\n```tsx\n\u002F\u002F Add a temporary test button anywhere in your app\nimport * as Sentry from \"@sentry\u002Freact\";\n\nfunction SentryTest() {\n  return (\n    \u003C>\n      \u003Cbutton onClick={() => { throw new Error(\"Sentry React test error\"); }}>\n        Test Error\n      \u003C\u002Fbutton>\n      \u003Cbutton onClick={() => Sentry.captureMessage(\"Sentry test message\", \"info\")}>\n        Test Message\n      \u003C\u002Fbutton>\n    \u003C\u002F>\n  );\n}\n```\n\nCheck the Sentry dashboard:\n- **Issues** → error appears within seconds\n- **Traces** → page load and navigation transactions visible\n- **Replays** → session recording visible after page interaction\n- **Logs** → structured log entries if logging enabled\n\nSet `debug: true` in `Sentry.init()` and check the browser console if nothing appears.\n\n---\n\n## Phase 4: Cross-Link\n\nAfter completing React setup, check for a companion backend missing Sentry coverage:\n\n```bash\nls ..\u002Fbackend ..\u002Fserver ..\u002Fapi ..\u002Fgo ..\u002Fpython 2>\u002Fdev\u002Fnull\ncat ..\u002Fgo.mod 2>\u002Fdev\u002Fnull | head -3\ncat ..\u002Frequirements.txt ..\u002Fpyproject.toml 2>\u002Fdev\u002Fnull | head -3\ncat ..\u002FGemfile 2>\u002Fdev\u002Fnull | head -3\ncat ..\u002Fpom.xml 2>\u002Fdev\u002Fnull | grep '\u003CartifactId>' | head -3\n```\n\nIf a backend exists without Sentry configured, suggest the matching skill:\n\n| Backend detected | Suggest skill |\n|-----------------|--------------|\n| Go (`go.mod`) | `sentry-go-sdk` |\n| Python (`requirements.txt`, `pyproject.toml`) | `sentry-python-sdk` |\n| Ruby (`Gemfile`) | `sentry-ruby-sdk` |\n| Java (`pom.xml`, `build.gradle`) | Use `@sentry\u002Fjava` — see [docs.sentry.io\u002Fplatforms\u002Fjava\u002F](https:\u002F\u002Fdocs.sentry.io\u002Fplatforms\u002Fjava\u002F) |\n| Node.js (Express, Fastify) | Use `@sentry\u002Fnode` — see [docs.sentry.io\u002Fplatforms\u002Fjavascript\u002Fguides\u002Fexpress\u002F](https:\u002F\u002Fdocs.sentry.io\u002Fplatforms\u002Fjavascript\u002Fguides\u002Fexpress\u002F) |\n\n---\n\n## Troubleshooting\n\n| Issue | Solution |\n|-------|----------|\n| Events not appearing | Set `debug: true`, check DSN, open browser console for SDK errors |\n| Source maps not working | Build in production mode (`npm run build`); verify `SENTRY_AUTH_TOKEN` is set |\n| Minified stack traces | Source maps not uploading — check plugin config and auth token |\n| `instrument.ts` not running first | Verify it's the first import in entry file before React\u002Fapp imports |\n| React 19 errors not captured | Confirm `reactErrorHandler()` is passed to all three `createRoot` options |\n| React \u003C19 errors not captured | Ensure `\u003CSentry.ErrorBoundary>` wraps the component tree |\n| Router transactions named `\u003Cunknown>` | Add router integration matching your router version |\n| `tracePropagationTargets` not matching | Check regex escaping; default is `localhost` and your DSN origin only |\n| Session replay not recording | Confirm `replayIntegration()` is in init; check `replaysSessionSampleRate` |\n| Redux actions not in breadcrumbs | Add `Sentry.createReduxEnhancer()` to store enhancers |\n| Ad blockers dropping events | Set `tunnel: \"\u002Fsentry-tunnel\"` and add server-side relay endpoint |\n| High replay storage costs | Lower `replaysSessionSampleRate`; keep `replaysOnErrorSampleRate: 1.0` |\n| Profiling not working | Verify `Document-Policy: js-profiling` header is set on document responses |\n",{"data":37,"body":41},{"name":4,"description":6,"license":27,"category":38,"parent":39,"disable-model-invocation":40},"sdk-setup","sentry-sdk-setup",true,{"type":42,"children":43},"root",[44,71,77,82,89,123,152,182,186,192,197,672,680,918,921,927,932,940,977,985,1019,1027,1127,1135,1195,1206,1209,1215,1222,1252,1264,1284,1971,1979,2083,2089,2109,2414,2420,2442,2661,2677,2889,2901,2907,2912,3128,3136,3693,3701,3830,3836,4070,4076,4081,4097,4495,4503,4536,4853,4887,4893,4898,5051,5064,5067,5073,5086,5676,5687,5692,6086,6096,6372,6378,6493,6496,6502,6507,6840,6845,6888,6908,6911,6917,6922,7116,7121,7289,7292,7298,7601],{"type":45,"tag":46,"props":47,"children":48},"element","blockquote",{},[49],{"type":45,"tag":50,"props":51,"children":52},"p",{},[53,61,63,69],{"type":45,"tag":54,"props":55,"children":57},"a",{"href":56},"..\u002F..\u002FSKILL_TREE.md",[58],{"type":59,"value":60},"text","All Skills",{"type":59,"value":62}," > ",{"type":45,"tag":54,"props":64,"children":66},{"href":65},"..\u002Fsentry-sdk-setup\u002FSKILL.md",[67],{"type":59,"value":68},"SDK Setup",{"type":59,"value":70}," > React SDK",{"type":45,"tag":72,"props":73,"children":74},"h1",{"id":4},[75],{"type":59,"value":76},"Sentry React SDK",{"type":45,"tag":50,"props":78,"children":79},{},[80],{"type":59,"value":81},"Opinionated wizard that scans your React project and guides you through complete Sentry setup.",{"type":45,"tag":83,"props":84,"children":86},"h2",{"id":85},"invoke-this-skill-when",[87],{"type":59,"value":88},"Invoke This Skill When",{"type":45,"tag":90,"props":91,"children":92},"ul",{},[93,99,104,118],{"type":45,"tag":94,"props":95,"children":96},"li",{},[97],{"type":59,"value":98},"User asks to \"add Sentry to React\" or \"set up Sentry\" in a React app",{"type":45,"tag":94,"props":100,"children":101},{},[102],{"type":59,"value":103},"User wants error monitoring, tracing, session replay, profiling, or logging in React",{"type":45,"tag":94,"props":105,"children":106},{},[107,109,116],{"type":59,"value":108},"User mentions ",{"type":45,"tag":110,"props":111,"children":113},"code",{"className":112},[],[114],{"type":59,"value":115},"@sentry\u002Freact",{"type":59,"value":117},", React Sentry SDK, or Sentry error boundaries",{"type":45,"tag":94,"props":119,"children":120},{},[121],{"type":59,"value":122},"User wants to monitor React Router v5\u002Fv6\u002Fv7 non-framework navigation, Redux state, or component performance",{"type":45,"tag":50,"props":124,"children":125},{},[126,128,134,136,142,144,150],{"type":59,"value":127},"If project is React Router ",{"type":45,"tag":129,"props":130,"children":131},"strong",{},[132],{"type":59,"value":133},"Framework mode",{"type":59,"value":135}," using ",{"type":45,"tag":110,"props":137,"children":139},{"className":138},[],[140],{"type":59,"value":141},"@sentry\u002Freact-router",{"type":59,"value":143},", use ",{"type":45,"tag":110,"props":145,"children":147},{"className":146},[],[148],{"type":59,"value":149},"sentry-react-router-framework-sdk",{"type":59,"value":151}," instead of this skill.",{"type":45,"tag":46,"props":153,"children":154},{},[155],{"type":45,"tag":50,"props":156,"children":157},{},[158,163,165,170,172,180],{"type":45,"tag":129,"props":159,"children":160},{},[161],{"type":59,"value":162},"Note:",{"type":59,"value":164}," SDK versions and APIs below reflect current Sentry docs at time of writing (",{"type":45,"tag":110,"props":166,"children":168},{"className":167},[],[169],{"type":59,"value":115},{"type":59,"value":171}," ≥8.0.0).\nAlways verify against ",{"type":45,"tag":54,"props":173,"children":177},{"href":174,"rel":175},"https:\u002F\u002Fdocs.sentry.io\u002Fplatforms\u002Fjavascript\u002Fguides\u002Freact\u002F",[176],"nofollow",[178],{"type":59,"value":179},"docs.sentry.io\u002Fplatforms\u002Fjavascript\u002Fguides\u002Freact\u002F",{"type":59,"value":181}," before implementing.",{"type":45,"tag":183,"props":184,"children":185},"hr",{},[],{"type":45,"tag":83,"props":187,"children":189},{"id":188},"phase-1-detect",[190],{"type":59,"value":191},"Phase 1: Detect",{"type":45,"tag":50,"props":193,"children":194},{},[195],{"type":59,"value":196},"Run these commands to understand the project before making any recommendations:",{"type":45,"tag":198,"props":199,"children":204},"pre",{"className":200,"code":201,"language":202,"meta":203,"style":203},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","# Detect React version\ncat package.json | grep -E '\"react\"|\"react-dom\"'\n\n# Check for existing Sentry\ncat package.json | grep '\"@sentry\u002F'\n\n# Detect router and framework mode hints\ncat package.json | grep -E '\"react-router-dom\"|\"react-router\"|\"@react-router\u002F\"|\"@tanstack\u002Freact-router\"|\"@sentry\u002Freact-router\"'\n\n# Detect state management\ncat package.json | grep -E '\"redux\"|\"@reduxjs\u002Ftoolkit\"'\n\n# Detect build tool\nls vite.config.ts vite.config.js webpack.config.js craco.config.js 2>\u002Fdev\u002Fnull\ncat package.json | grep -E '\"vite\"|\"react-scripts\"|\"webpack\"'\n\n# Detect logging libraries\ncat package.json | grep -E '\"pino\"|\"winston\"|\"loglevel\"'\n\n# Check for companion backend in adjacent directories\nls ..\u002Fbackend ..\u002Fserver ..\u002Fapi 2>\u002Fdev\u002Fnull\ncat ..\u002Fgo.mod ..\u002Frequirements.txt ..\u002FGemfile ..\u002Fpom.xml 2>\u002Fdev\u002Fnull | head -3\n","bash","",[205],{"type":45,"tag":110,"props":206,"children":207},{"__ignoreMap":203},[208,220,267,276,285,318,326,335,372,380,389,426,434,443,482,519,527,536,573,581,590,621],{"type":45,"tag":209,"props":210,"children":213},"span",{"class":211,"line":212},"line",1,[214],{"type":45,"tag":209,"props":215,"children":217},{"style":216},"--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic",[218],{"type":59,"value":219},"# Detect React version\n",{"type":45,"tag":209,"props":221,"children":223},{"class":211,"line":222},2,[224,230,236,242,247,252,257,262],{"type":45,"tag":209,"props":225,"children":227},{"style":226},"--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B",[228],{"type":59,"value":229},"cat",{"type":45,"tag":209,"props":231,"children":233},{"style":232},"--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D",[234],{"type":59,"value":235}," package.json",{"type":45,"tag":209,"props":237,"children":239},{"style":238},"--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF",[240],{"type":59,"value":241}," |",{"type":45,"tag":209,"props":243,"children":244},{"style":226},[245],{"type":59,"value":246}," grep",{"type":45,"tag":209,"props":248,"children":249},{"style":232},[250],{"type":59,"value":251}," -E",{"type":45,"tag":209,"props":253,"children":254},{"style":238},[255],{"type":59,"value":256}," '",{"type":45,"tag":209,"props":258,"children":259},{"style":232},[260],{"type":59,"value":261},"\"react\"|\"react-dom\"",{"type":45,"tag":209,"props":263,"children":264},{"style":238},[265],{"type":59,"value":266},"'\n",{"type":45,"tag":209,"props":268,"children":270},{"class":211,"line":269},3,[271],{"type":45,"tag":209,"props":272,"children":273},{"emptyLinePlaceholder":40},[274],{"type":59,"value":275},"\n",{"type":45,"tag":209,"props":277,"children":279},{"class":211,"line":278},4,[280],{"type":45,"tag":209,"props":281,"children":282},{"style":216},[283],{"type":59,"value":284},"# Check for existing Sentry\n",{"type":45,"tag":209,"props":286,"children":288},{"class":211,"line":287},5,[289,293,297,301,305,309,314],{"type":45,"tag":209,"props":290,"children":291},{"style":226},[292],{"type":59,"value":229},{"type":45,"tag":209,"props":294,"children":295},{"style":232},[296],{"type":59,"value":235},{"type":45,"tag":209,"props":298,"children":299},{"style":238},[300],{"type":59,"value":241},{"type":45,"tag":209,"props":302,"children":303},{"style":226},[304],{"type":59,"value":246},{"type":45,"tag":209,"props":306,"children":307},{"style":238},[308],{"type":59,"value":256},{"type":45,"tag":209,"props":310,"children":311},{"style":232},[312],{"type":59,"value":313},"\"@sentry\u002F",{"type":45,"tag":209,"props":315,"children":316},{"style":238},[317],{"type":59,"value":266},{"type":45,"tag":209,"props":319,"children":321},{"class":211,"line":320},6,[322],{"type":45,"tag":209,"props":323,"children":324},{"emptyLinePlaceholder":40},[325],{"type":59,"value":275},{"type":45,"tag":209,"props":327,"children":329},{"class":211,"line":328},7,[330],{"type":45,"tag":209,"props":331,"children":332},{"style":216},[333],{"type":59,"value":334},"# Detect router and framework mode hints\n",{"type":45,"tag":209,"props":336,"children":338},{"class":211,"line":337},8,[339,343,347,351,355,359,363,368],{"type":45,"tag":209,"props":340,"children":341},{"style":226},[342],{"type":59,"value":229},{"type":45,"tag":209,"props":344,"children":345},{"style":232},[346],{"type":59,"value":235},{"type":45,"tag":209,"props":348,"children":349},{"style":238},[350],{"type":59,"value":241},{"type":45,"tag":209,"props":352,"children":353},{"style":226},[354],{"type":59,"value":246},{"type":45,"tag":209,"props":356,"children":357},{"style":232},[358],{"type":59,"value":251},{"type":45,"tag":209,"props":360,"children":361},{"style":238},[362],{"type":59,"value":256},{"type":45,"tag":209,"props":364,"children":365},{"style":232},[366],{"type":59,"value":367},"\"react-router-dom\"|\"react-router\"|\"@react-router\u002F\"|\"@tanstack\u002Freact-router\"|\"@sentry\u002Freact-router\"",{"type":45,"tag":209,"props":369,"children":370},{"style":238},[371],{"type":59,"value":266},{"type":45,"tag":209,"props":373,"children":375},{"class":211,"line":374},9,[376],{"type":45,"tag":209,"props":377,"children":378},{"emptyLinePlaceholder":40},[379],{"type":59,"value":275},{"type":45,"tag":209,"props":381,"children":383},{"class":211,"line":382},10,[384],{"type":45,"tag":209,"props":385,"children":386},{"style":216},[387],{"type":59,"value":388},"# Detect state management\n",{"type":45,"tag":209,"props":390,"children":392},{"class":211,"line":391},11,[393,397,401,405,409,413,417,422],{"type":45,"tag":209,"props":394,"children":395},{"style":226},[396],{"type":59,"value":229},{"type":45,"tag":209,"props":398,"children":399},{"style":232},[400],{"type":59,"value":235},{"type":45,"tag":209,"props":402,"children":403},{"style":238},[404],{"type":59,"value":241},{"type":45,"tag":209,"props":406,"children":407},{"style":226},[408],{"type":59,"value":246},{"type":45,"tag":209,"props":410,"children":411},{"style":232},[412],{"type":59,"value":251},{"type":45,"tag":209,"props":414,"children":415},{"style":238},[416],{"type":59,"value":256},{"type":45,"tag":209,"props":418,"children":419},{"style":232},[420],{"type":59,"value":421},"\"redux\"|\"@reduxjs\u002Ftoolkit\"",{"type":45,"tag":209,"props":423,"children":424},{"style":238},[425],{"type":59,"value":266},{"type":45,"tag":209,"props":427,"children":429},{"class":211,"line":428},12,[430],{"type":45,"tag":209,"props":431,"children":432},{"emptyLinePlaceholder":40},[433],{"type":59,"value":275},{"type":45,"tag":209,"props":435,"children":437},{"class":211,"line":436},13,[438],{"type":45,"tag":209,"props":439,"children":440},{"style":216},[441],{"type":59,"value":442},"# Detect build tool\n",{"type":45,"tag":209,"props":444,"children":446},{"class":211,"line":445},14,[447,452,457,462,467,472,477],{"type":45,"tag":209,"props":448,"children":449},{"style":226},[450],{"type":59,"value":451},"ls",{"type":45,"tag":209,"props":453,"children":454},{"style":232},[455],{"type":59,"value":456}," vite.config.ts",{"type":45,"tag":209,"props":458,"children":459},{"style":232},[460],{"type":59,"value":461}," vite.config.js",{"type":45,"tag":209,"props":463,"children":464},{"style":232},[465],{"type":59,"value":466}," webpack.config.js",{"type":45,"tag":209,"props":468,"children":469},{"style":232},[470],{"type":59,"value":471}," craco.config.js",{"type":45,"tag":209,"props":473,"children":474},{"style":238},[475],{"type":59,"value":476}," 2>",{"type":45,"tag":209,"props":478,"children":479},{"style":232},[480],{"type":59,"value":481},"\u002Fdev\u002Fnull\n",{"type":45,"tag":209,"props":483,"children":485},{"class":211,"line":484},15,[486,490,494,498,502,506,510,515],{"type":45,"tag":209,"props":487,"children":488},{"style":226},[489],{"type":59,"value":229},{"type":45,"tag":209,"props":491,"children":492},{"style":232},[493],{"type":59,"value":235},{"type":45,"tag":209,"props":495,"children":496},{"style":238},[497],{"type":59,"value":241},{"type":45,"tag":209,"props":499,"children":500},{"style":226},[501],{"type":59,"value":246},{"type":45,"tag":209,"props":503,"children":504},{"style":232},[505],{"type":59,"value":251},{"type":45,"tag":209,"props":507,"children":508},{"style":238},[509],{"type":59,"value":256},{"type":45,"tag":209,"props":511,"children":512},{"style":232},[513],{"type":59,"value":514},"\"vite\"|\"react-scripts\"|\"webpack\"",{"type":45,"tag":209,"props":516,"children":517},{"style":238},[518],{"type":59,"value":266},{"type":45,"tag":209,"props":520,"children":522},{"class":211,"line":521},16,[523],{"type":45,"tag":209,"props":524,"children":525},{"emptyLinePlaceholder":40},[526],{"type":59,"value":275},{"type":45,"tag":209,"props":528,"children":530},{"class":211,"line":529},17,[531],{"type":45,"tag":209,"props":532,"children":533},{"style":216},[534],{"type":59,"value":535},"# Detect logging libraries\n",{"type":45,"tag":209,"props":537,"children":539},{"class":211,"line":538},18,[540,544,548,552,556,560,564,569],{"type":45,"tag":209,"props":541,"children":542},{"style":226},[543],{"type":59,"value":229},{"type":45,"tag":209,"props":545,"children":546},{"style":232},[547],{"type":59,"value":235},{"type":45,"tag":209,"props":549,"children":550},{"style":238},[551],{"type":59,"value":241},{"type":45,"tag":209,"props":553,"children":554},{"style":226},[555],{"type":59,"value":246},{"type":45,"tag":209,"props":557,"children":558},{"style":232},[559],{"type":59,"value":251},{"type":45,"tag":209,"props":561,"children":562},{"style":238},[563],{"type":59,"value":256},{"type":45,"tag":209,"props":565,"children":566},{"style":232},[567],{"type":59,"value":568},"\"pino\"|\"winston\"|\"loglevel\"",{"type":45,"tag":209,"props":570,"children":571},{"style":238},[572],{"type":59,"value":266},{"type":45,"tag":209,"props":574,"children":576},{"class":211,"line":575},19,[577],{"type":45,"tag":209,"props":578,"children":579},{"emptyLinePlaceholder":40},[580],{"type":59,"value":275},{"type":45,"tag":209,"props":582,"children":584},{"class":211,"line":583},20,[585],{"type":45,"tag":209,"props":586,"children":587},{"style":216},[588],{"type":59,"value":589},"# Check for companion backend in adjacent directories\n",{"type":45,"tag":209,"props":591,"children":593},{"class":211,"line":592},21,[594,598,603,608,613,617],{"type":45,"tag":209,"props":595,"children":596},{"style":226},[597],{"type":59,"value":451},{"type":45,"tag":209,"props":599,"children":600},{"style":232},[601],{"type":59,"value":602}," ..\u002Fbackend",{"type":45,"tag":209,"props":604,"children":605},{"style":232},[606],{"type":59,"value":607}," ..\u002Fserver",{"type":45,"tag":209,"props":609,"children":610},{"style":232},[611],{"type":59,"value":612}," ..\u002Fapi",{"type":45,"tag":209,"props":614,"children":615},{"style":238},[616],{"type":59,"value":476},{"type":45,"tag":209,"props":618,"children":619},{"style":232},[620],{"type":59,"value":481},{"type":45,"tag":209,"props":622,"children":624},{"class":211,"line":623},22,[625,629,634,639,644,649,653,658,662,667],{"type":45,"tag":209,"props":626,"children":627},{"style":226},[628],{"type":59,"value":229},{"type":45,"tag":209,"props":630,"children":631},{"style":232},[632],{"type":59,"value":633}," ..\u002Fgo.mod",{"type":45,"tag":209,"props":635,"children":636},{"style":232},[637],{"type":59,"value":638}," ..\u002Frequirements.txt",{"type":45,"tag":209,"props":640,"children":641},{"style":232},[642],{"type":59,"value":643}," ..\u002FGemfile",{"type":45,"tag":209,"props":645,"children":646},{"style":232},[647],{"type":59,"value":648}," ..\u002Fpom.xml",{"type":45,"tag":209,"props":650,"children":651},{"style":238},[652],{"type":59,"value":476},{"type":45,"tag":209,"props":654,"children":655},{"style":232},[656],{"type":59,"value":657},"\u002Fdev\u002Fnull",{"type":45,"tag":209,"props":659,"children":660},{"style":238},[661],{"type":59,"value":241},{"type":45,"tag":209,"props":663,"children":664},{"style":226},[665],{"type":59,"value":666}," head",{"type":45,"tag":209,"props":668,"children":669},{"style":232},[670],{"type":59,"value":671}," -3\n",{"type":45,"tag":50,"props":673,"children":674},{},[675],{"type":45,"tag":129,"props":676,"children":677},{},[678],{"type":59,"value":679},"What to determine:",{"type":45,"tag":681,"props":682,"children":683},"table",{},[684,703],{"type":45,"tag":685,"props":686,"children":687},"thead",{},[688],{"type":45,"tag":689,"props":690,"children":691},"tr",{},[692,698],{"type":45,"tag":693,"props":694,"children":695},"th",{},[696],{"type":59,"value":697},"Question",{"type":45,"tag":693,"props":699,"children":700},{},[701],{"type":59,"value":702},"Impact",{"type":45,"tag":704,"props":705,"children":706},"tbody",{},[707,729,747,765,797,816,840,859,878,905],{"type":45,"tag":689,"props":708,"children":709},{},[710,716],{"type":45,"tag":711,"props":712,"children":713},"td",{},[714],{"type":59,"value":715},"React 19+?",{"type":45,"tag":711,"props":717,"children":718},{},[719,721,727],{"type":59,"value":720},"Use ",{"type":45,"tag":110,"props":722,"children":724},{"className":723},[],[725],{"type":59,"value":726},"reactErrorHandler()",{"type":59,"value":728}," hook pattern",{"type":45,"tag":689,"props":730,"children":731},{},[732,737],{"type":45,"tag":711,"props":733,"children":734},{},[735],{"type":59,"value":736},"React \u003C19?",{"type":45,"tag":711,"props":738,"children":739},{},[740,741],{"type":59,"value":720},{"type":45,"tag":110,"props":742,"children":744},{"className":743},[],[745],{"type":59,"value":746},"Sentry.ErrorBoundary",{"type":45,"tag":689,"props":748,"children":749},{},[750,760],{"type":45,"tag":711,"props":751,"children":752},{},[753,758],{"type":45,"tag":110,"props":754,"children":756},{"className":755},[],[757],{"type":59,"value":115},{"type":59,"value":759}," already present?",{"type":45,"tag":711,"props":761,"children":762},{},[763],{"type":59,"value":764},"Skip install, go straight to feature config",{"type":45,"tag":689,"props":766,"children":767},{},[768,788],{"type":45,"tag":711,"props":769,"children":770},{},[771,773,778,780,786],{"type":59,"value":772},"React Router Framework mode indicators (",{"type":45,"tag":110,"props":774,"children":776},{"className":775},[],[777],{"type":59,"value":141},{"type":59,"value":779},", ",{"type":45,"tag":110,"props":781,"children":783},{"className":782},[],[784],{"type":59,"value":785},"@react-router\u002F*",{"type":59,"value":787},")?",{"type":45,"tag":711,"props":789,"children":790},{},[791,792],{"type":59,"value":720},{"type":45,"tag":110,"props":793,"children":795},{"className":794},[],[796],{"type":59,"value":149},{"type":45,"tag":689,"props":798,"children":799},{},[800,811],{"type":45,"tag":711,"props":801,"children":802},{},[803,809],{"type":45,"tag":110,"props":804,"children":806},{"className":805},[],[807],{"type":59,"value":808},"react-router-dom",{"type":59,"value":810}," v5 \u002F v6 \u002F v7?",{"type":45,"tag":711,"props":812,"children":813},{},[814],{"type":59,"value":815},"Determines which router integration to use",{"type":45,"tag":689,"props":817,"children":818},{},[819,830],{"type":45,"tag":711,"props":820,"children":821},{},[822,828],{"type":45,"tag":110,"props":823,"children":825},{"className":824},[],[826],{"type":59,"value":827},"@tanstack\u002Freact-router",{"type":59,"value":829},"?",{"type":45,"tag":711,"props":831,"children":832},{},[833,834],{"type":59,"value":720},{"type":45,"tag":110,"props":835,"children":837},{"className":836},[],[838],{"type":59,"value":839},"tanstackRouterBrowserTracingIntegration()",{"type":45,"tag":689,"props":841,"children":842},{},[843,848],{"type":45,"tag":711,"props":844,"children":845},{},[846],{"type":59,"value":847},"Redux in use?",{"type":45,"tag":711,"props":849,"children":850},{},[851,853],{"type":59,"value":852},"Recommend ",{"type":45,"tag":110,"props":854,"children":856},{"className":855},[],[857],{"type":59,"value":858},"createReduxEnhancer()",{"type":45,"tag":689,"props":860,"children":861},{},[862,867],{"type":45,"tag":711,"props":863,"children":864},{},[865],{"type":59,"value":866},"Vite detected?",{"type":45,"tag":711,"props":868,"children":869},{},[870,872],{"type":59,"value":871},"Source maps via ",{"type":45,"tag":110,"props":873,"children":875},{"className":874},[],[876],{"type":59,"value":877},"sentryVitePlugin",{"type":45,"tag":689,"props":879,"children":880},{},[881,893],{"type":45,"tag":711,"props":882,"children":883},{},[884,886,892],{"type":59,"value":885},"CRA (",{"type":45,"tag":110,"props":887,"children":889},{"className":888},[],[890],{"type":59,"value":891},"react-scripts",{"type":59,"value":787},{"type":45,"tag":711,"props":894,"children":895},{},[896,897,903],{"type":59,"value":871},{"type":45,"tag":110,"props":898,"children":900},{"className":899},[],[901],{"type":59,"value":902},"@sentry\u002Fwebpack-plugin",{"type":59,"value":904}," in CRACO",{"type":45,"tag":689,"props":906,"children":907},{},[908,913],{"type":45,"tag":711,"props":909,"children":910},{},[911],{"type":59,"value":912},"Backend directory found?",{"type":45,"tag":711,"props":914,"children":915},{},[916],{"type":59,"value":917},"Trigger Phase 4 cross-link suggestion",{"type":45,"tag":183,"props":919,"children":920},{},[],{"type":45,"tag":83,"props":922,"children":924},{"id":923},"phase-2-recommend",[925],{"type":59,"value":926},"Phase 2: Recommend",{"type":45,"tag":50,"props":928,"children":929},{},[930],{"type":59,"value":931},"Present a concrete recommendation based on what you found. Don't ask open-ended questions — lead with a proposal:",{"type":45,"tag":50,"props":933,"children":934},{},[935],{"type":45,"tag":129,"props":936,"children":937},{},[938],{"type":59,"value":939},"Recommended (core coverage):",{"type":45,"tag":90,"props":941,"children":942},{},[943,955,966],{"type":45,"tag":94,"props":944,"children":945},{},[946,948,953],{"type":59,"value":947},"✅ ",{"type":45,"tag":129,"props":949,"children":950},{},[951],{"type":59,"value":952},"Error Monitoring",{"type":59,"value":954}," — always; captures unhandled errors, React error boundaries, React 19 hooks",{"type":45,"tag":94,"props":956,"children":957},{},[958,959,964],{"type":59,"value":947},{"type":45,"tag":129,"props":960,"children":961},{},[962],{"type":59,"value":963},"Tracing",{"type":59,"value":965}," — React SPAs benefit from page load, navigation, and API call tracing",{"type":45,"tag":94,"props":967,"children":968},{},[969,970,975],{"type":59,"value":947},{"type":45,"tag":129,"props":971,"children":972},{},[973],{"type":59,"value":974},"Session Replay",{"type":59,"value":976}," — recommended for user-facing apps; records sessions around errors",{"type":45,"tag":50,"props":978,"children":979},{},[980],{"type":45,"tag":129,"props":981,"children":982},{},[983],{"type":59,"value":984},"Optional (enhanced observability):",{"type":45,"tag":90,"props":986,"children":987},{},[988,1008],{"type":45,"tag":94,"props":989,"children":990},{},[991,993,998,1000,1006],{"type":59,"value":992},"⚡ ",{"type":45,"tag":129,"props":994,"children":995},{},[996],{"type":59,"value":997},"Logging",{"type":59,"value":999}," — structured logs via ",{"type":45,"tag":110,"props":1001,"children":1003},{"className":1002},[],[1004],{"type":59,"value":1005},"Sentry.logger.*",{"type":59,"value":1007},"; recommend when structured log search is needed",{"type":45,"tag":94,"props":1009,"children":1010},{},[1011,1012,1017],{"type":59,"value":992},{"type":45,"tag":129,"props":1013,"children":1014},{},[1015],{"type":59,"value":1016},"Profiling",{"type":59,"value":1018}," — JS Self-Profiling API (⚠️ experimental; requires cross-origin isolation headers)",{"type":45,"tag":50,"props":1020,"children":1021},{},[1022],{"type":45,"tag":129,"props":1023,"children":1024},{},[1025],{"type":59,"value":1026},"Recommendation logic:",{"type":45,"tag":681,"props":1028,"children":1029},{},[1030,1046],{"type":45,"tag":685,"props":1031,"children":1032},{},[1033],{"type":45,"tag":689,"props":1034,"children":1035},{},[1036,1041],{"type":45,"tag":693,"props":1037,"children":1038},{},[1039],{"type":59,"value":1040},"Feature",{"type":45,"tag":693,"props":1042,"children":1043},{},[1044],{"type":59,"value":1045},"Recommend when...",{"type":45,"tag":704,"props":1047,"children":1048},{},[1049,1066,1083,1095,1107],{"type":45,"tag":689,"props":1050,"children":1051},{},[1052,1056],{"type":45,"tag":711,"props":1053,"children":1054},{},[1055],{"type":59,"value":952},{"type":45,"tag":711,"props":1057,"children":1058},{},[1059,1064],{"type":45,"tag":129,"props":1060,"children":1061},{},[1062],{"type":59,"value":1063},"Always",{"type":59,"value":1065}," — non-negotiable baseline",{"type":45,"tag":689,"props":1067,"children":1068},{},[1069,1073],{"type":45,"tag":711,"props":1070,"children":1071},{},[1072],{"type":59,"value":963},{"type":45,"tag":711,"props":1074,"children":1075},{},[1076,1081],{"type":45,"tag":129,"props":1077,"children":1078},{},[1079],{"type":59,"value":1080},"Always for React SPAs",{"type":59,"value":1082}," — page load + navigation spans are high-value",{"type":45,"tag":689,"props":1084,"children":1085},{},[1086,1090],{"type":45,"tag":711,"props":1087,"children":1088},{},[1089],{"type":59,"value":974},{"type":45,"tag":711,"props":1091,"children":1092},{},[1093],{"type":59,"value":1094},"User-facing app, login flows, or checkout pages",{"type":45,"tag":689,"props":1096,"children":1097},{},[1098,1102],{"type":45,"tag":711,"props":1099,"children":1100},{},[1101],{"type":59,"value":997},{"type":45,"tag":711,"props":1103,"children":1104},{},[1105],{"type":59,"value":1106},"App needs structured log search or log-to-trace correlation",{"type":45,"tag":689,"props":1108,"children":1109},{},[1110,1114],{"type":45,"tag":711,"props":1111,"children":1112},{},[1113],{"type":59,"value":1016},{"type":45,"tag":711,"props":1115,"children":1116},{},[1117,1119,1125],{"type":59,"value":1118},"Performance-critical app; server sends ",{"type":45,"tag":110,"props":1120,"children":1122},{"className":1121},[],[1123],{"type":59,"value":1124},"Document-Policy: js-profiling",{"type":59,"value":1126}," header",{"type":45,"tag":50,"props":1128,"children":1129},{},[1130],{"type":45,"tag":129,"props":1131,"children":1132},{},[1133],{"type":59,"value":1134},"React-specific extras:",{"type":45,"tag":90,"props":1136,"children":1137},{},[1138,1156,1161,1171,1183],{"type":45,"tag":94,"props":1139,"children":1140},{},[1141,1143,1148,1150],{"type":59,"value":1142},"React 19 detected → set up ",{"type":45,"tag":110,"props":1144,"children":1146},{"className":1145},[],[1147],{"type":59,"value":726},{"type":59,"value":1149}," on ",{"type":45,"tag":110,"props":1151,"children":1153},{"className":1152},[],[1154],{"type":59,"value":1155},"createRoot",{"type":45,"tag":94,"props":1157,"children":1158},{},[1159],{"type":59,"value":1160},"React Router v5\u002Fv6\u002Fv7 non-framework detected → configure matching router integration (see Phase 3)",{"type":45,"tag":94,"props":1162,"children":1163},{},[1164,1166],{"type":59,"value":1165},"React Router Framework mode detected → switch to ",{"type":45,"tag":110,"props":1167,"children":1169},{"className":1168},[],[1170],{"type":59,"value":149},{"type":45,"tag":94,"props":1172,"children":1173},{},[1174,1176,1181],{"type":59,"value":1175},"Redux detected → add ",{"type":45,"tag":110,"props":1177,"children":1179},{"className":1178},[],[1180],{"type":59,"value":858},{"type":59,"value":1182}," to Redux store",{"type":45,"tag":94,"props":1184,"children":1185},{},[1186,1188,1193],{"type":59,"value":1187},"Vite detected → configure ",{"type":45,"tag":110,"props":1189,"children":1191},{"className":1190},[],[1192],{"type":59,"value":877},{"type":59,"value":1194}," for source maps (essential for readable stack traces)",{"type":45,"tag":50,"props":1196,"children":1197},{},[1198,1200],{"type":59,"value":1199},"Propose: ",{"type":45,"tag":1201,"props":1202,"children":1203},"em",{},[1204],{"type":59,"value":1205},"\"I recommend setting up Error Monitoring + Tracing + Session Replay. Want me to also add Logging or Profiling?\"",{"type":45,"tag":183,"props":1207,"children":1208},{},[],{"type":45,"tag":83,"props":1210,"children":1212},{"id":1211},"phase-3-guide",[1213],{"type":59,"value":1214},"Phase 3: Guide",{"type":45,"tag":1216,"props":1217,"children":1219},"h3",{"id":1218},"install",[1220],{"type":59,"value":1221},"Install",{"type":45,"tag":198,"props":1223,"children":1225},{"className":200,"code":1224,"language":202,"meta":203,"style":203},"npm install @sentry\u002Freact --save\n",[1226],{"type":45,"tag":110,"props":1227,"children":1228},{"__ignoreMap":203},[1229],{"type":45,"tag":209,"props":1230,"children":1231},{"class":211,"line":212},[1232,1237,1242,1247],{"type":45,"tag":209,"props":1233,"children":1234},{"style":226},[1235],{"type":59,"value":1236},"npm",{"type":45,"tag":209,"props":1238,"children":1239},{"style":232},[1240],{"type":59,"value":1241}," install",{"type":45,"tag":209,"props":1243,"children":1244},{"style":232},[1245],{"type":59,"value":1246}," @sentry\u002Freact",{"type":45,"tag":209,"props":1248,"children":1249},{"style":232},[1250],{"type":59,"value":1251}," --save\n",{"type":45,"tag":1216,"props":1253,"children":1255},{"id":1254},"create-srcinstrumentts",[1256,1258],{"type":59,"value":1257},"Create ",{"type":45,"tag":110,"props":1259,"children":1261},{"className":1260},[],[1262],{"type":59,"value":1263},"src\u002Finstrument.ts",{"type":45,"tag":50,"props":1265,"children":1266},{},[1267,1269,1274,1276,1282],{"type":59,"value":1268},"Sentry must initialize ",{"type":45,"tag":129,"props":1270,"children":1271},{},[1272],{"type":59,"value":1273},"before any other code runs",{"type":59,"value":1275},". Put ",{"type":45,"tag":110,"props":1277,"children":1279},{"className":1278},[],[1280],{"type":59,"value":1281},"Sentry.init()",{"type":59,"value":1283}," in a dedicated sidecar file:",{"type":45,"tag":198,"props":1285,"children":1289},{"className":1286,"code":1287,"language":1288,"meta":203,"style":203},"language-typescript shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","import * as Sentry from \"@sentry\u002Freact\";\n\nSentry.init({\n  dsn: import.meta.env.VITE_SENTRY_DSN, \u002F\u002F Adjust per build tool (see table below)\n  environment: import.meta.env.MODE,\n  release: import.meta.env.VITE_APP_VERSION, \u002F\u002F inject at build time\n\n  dataCollection: {\n    \u002F\u002F To disable sending user data and HTTP bodies, uncomment the lines below. For more info visit:\n    \u002F\u002F https:\u002F\u002Fdocs.sentry.io\u002Fplatforms\u002Fjavascript\u002Fguides\u002Freact\u002Fconfiguration\u002Foptions\u002F#dataCollection\n    \u002F\u002F userInfo: false,\n    \u002F\u002F httpBodies: [],\n  },\n\n  integrations: [\n    Sentry.browserTracingIntegration(),\n    Sentry.replayIntegration({\n      maskAllText: true,\n      blockAllMedia: true,\n    }),\n  ],\n\n  \u002F\u002F Tracing\n  tracesSampleRate: 1.0, \u002F\u002F lower to 0.1–0.2 in production\n  tracePropagationTargets: [\"localhost\", \u002F^https:\\\u002F\\\u002Fyourapi\\.io\u002F],\n\n  \u002F\u002F Session Replay\n  replaysSessionSampleRate: 0.1,\n  replaysOnErrorSampleRate: 1.0,\n\n  enableLogs: true,\n});\n","typescript",[1290],{"type":45,"tag":110,"props":1291,"children":1292},{"__ignoreMap":203},[1293,1342,1349,1377,1433,1479,1529,1536,1553,1561,1569,1577,1585,1593,1600,1617,1643,1667,1689,1709,1726,1738,1745,1754,1782,1866,1874,1883,1905,1926,1933,1954],{"type":45,"tag":209,"props":1294,"children":1295},{"class":211,"line":212},[1296,1302,1307,1312,1318,1323,1328,1332,1337],{"type":45,"tag":209,"props":1297,"children":1299},{"style":1298},"--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#89DDFF;--shiki-default-font-style:italic;--shiki-dark:#89DDFF;--shiki-dark-font-style:italic",[1300],{"type":59,"value":1301},"import",{"type":45,"tag":209,"props":1303,"children":1304},{"style":238},[1305],{"type":59,"value":1306}," *",{"type":45,"tag":209,"props":1308,"children":1309},{"style":1298},[1310],{"type":59,"value":1311}," as",{"type":45,"tag":209,"props":1313,"children":1315},{"style":1314},"--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8",[1316],{"type":59,"value":1317}," Sentry ",{"type":45,"tag":209,"props":1319,"children":1320},{"style":1298},[1321],{"type":59,"value":1322},"from",{"type":45,"tag":209,"props":1324,"children":1325},{"style":238},[1326],{"type":59,"value":1327}," \"",{"type":45,"tag":209,"props":1329,"children":1330},{"style":232},[1331],{"type":59,"value":115},{"type":45,"tag":209,"props":1333,"children":1334},{"style":238},[1335],{"type":59,"value":1336},"\"",{"type":45,"tag":209,"props":1338,"children":1339},{"style":238},[1340],{"type":59,"value":1341},";\n",{"type":45,"tag":209,"props":1343,"children":1344},{"class":211,"line":222},[1345],{"type":45,"tag":209,"props":1346,"children":1347},{"emptyLinePlaceholder":40},[1348],{"type":59,"value":275},{"type":45,"tag":209,"props":1350,"children":1351},{"class":211,"line":269},[1352,1356,1361,1367,1372],{"type":45,"tag":209,"props":1353,"children":1354},{"style":1314},[1355],{"type":59,"value":9},{"type":45,"tag":209,"props":1357,"children":1358},{"style":238},[1359],{"type":59,"value":1360},".",{"type":45,"tag":209,"props":1362,"children":1364},{"style":1363},"--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF",[1365],{"type":59,"value":1366},"init",{"type":45,"tag":209,"props":1368,"children":1369},{"style":1314},[1370],{"type":59,"value":1371},"(",{"type":45,"tag":209,"props":1373,"children":1374},{"style":238},[1375],{"type":59,"value":1376},"{\n",{"type":45,"tag":209,"props":1378,"children":1379},{"class":211,"line":278},[1380,1386,1391,1396,1400,1405,1409,1414,1418,1423,1428],{"type":45,"tag":209,"props":1381,"children":1383},{"style":1382},"--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178",[1384],{"type":59,"value":1385},"  dsn",{"type":45,"tag":209,"props":1387,"children":1388},{"style":238},[1389],{"type":59,"value":1390},":",{"type":45,"tag":209,"props":1392,"children":1393},{"style":1298},[1394],{"type":59,"value":1395}," import",{"type":45,"tag":209,"props":1397,"children":1398},{"style":238},[1399],{"type":59,"value":1360},{"type":45,"tag":209,"props":1401,"children":1402},{"style":1314},[1403],{"type":59,"value":1404},"meta",{"type":45,"tag":209,"props":1406,"children":1407},{"style":238},[1408],{"type":59,"value":1360},{"type":45,"tag":209,"props":1410,"children":1411},{"style":1314},[1412],{"type":59,"value":1413},"env",{"type":45,"tag":209,"props":1415,"children":1416},{"style":238},[1417],{"type":59,"value":1360},{"type":45,"tag":209,"props":1419,"children":1420},{"style":1314},[1421],{"type":59,"value":1422},"VITE_SENTRY_DSN",{"type":45,"tag":209,"props":1424,"children":1425},{"style":238},[1426],{"type":59,"value":1427},",",{"type":45,"tag":209,"props":1429,"children":1430},{"style":216},[1431],{"type":59,"value":1432}," \u002F\u002F Adjust per build tool (see table below)\n",{"type":45,"tag":209,"props":1434,"children":1435},{"class":211,"line":287},[1436,1441,1445,1449,1453,1457,1461,1465,1469,1474],{"type":45,"tag":209,"props":1437,"children":1438},{"style":1382},[1439],{"type":59,"value":1440},"  environment",{"type":45,"tag":209,"props":1442,"children":1443},{"style":238},[1444],{"type":59,"value":1390},{"type":45,"tag":209,"props":1446,"children":1447},{"style":1298},[1448],{"type":59,"value":1395},{"type":45,"tag":209,"props":1450,"children":1451},{"style":238},[1452],{"type":59,"value":1360},{"type":45,"tag":209,"props":1454,"children":1455},{"style":1314},[1456],{"type":59,"value":1404},{"type":45,"tag":209,"props":1458,"children":1459},{"style":238},[1460],{"type":59,"value":1360},{"type":45,"tag":209,"props":1462,"children":1463},{"style":1314},[1464],{"type":59,"value":1413},{"type":45,"tag":209,"props":1466,"children":1467},{"style":238},[1468],{"type":59,"value":1360},{"type":45,"tag":209,"props":1470,"children":1471},{"style":1314},[1472],{"type":59,"value":1473},"MODE",{"type":45,"tag":209,"props":1475,"children":1476},{"style":238},[1477],{"type":59,"value":1478},",\n",{"type":45,"tag":209,"props":1480,"children":1481},{"class":211,"line":320},[1482,1487,1491,1495,1499,1503,1507,1511,1515,1520,1524],{"type":45,"tag":209,"props":1483,"children":1484},{"style":1382},[1485],{"type":59,"value":1486},"  release",{"type":45,"tag":209,"props":1488,"children":1489},{"style":238},[1490],{"type":59,"value":1390},{"type":45,"tag":209,"props":1492,"children":1493},{"style":1298},[1494],{"type":59,"value":1395},{"type":45,"tag":209,"props":1496,"children":1497},{"style":238},[1498],{"type":59,"value":1360},{"type":45,"tag":209,"props":1500,"children":1501},{"style":1314},[1502],{"type":59,"value":1404},{"type":45,"tag":209,"props":1504,"children":1505},{"style":238},[1506],{"type":59,"value":1360},{"type":45,"tag":209,"props":1508,"children":1509},{"style":1314},[1510],{"type":59,"value":1413},{"type":45,"tag":209,"props":1512,"children":1513},{"style":238},[1514],{"type":59,"value":1360},{"type":45,"tag":209,"props":1516,"children":1517},{"style":1314},[1518],{"type":59,"value":1519},"VITE_APP_VERSION",{"type":45,"tag":209,"props":1521,"children":1522},{"style":238},[1523],{"type":59,"value":1427},{"type":45,"tag":209,"props":1525,"children":1526},{"style":216},[1527],{"type":59,"value":1528}," \u002F\u002F inject at build time\n",{"type":45,"tag":209,"props":1530,"children":1531},{"class":211,"line":328},[1532],{"type":45,"tag":209,"props":1533,"children":1534},{"emptyLinePlaceholder":40},[1535],{"type":59,"value":275},{"type":45,"tag":209,"props":1537,"children":1538},{"class":211,"line":337},[1539,1544,1548],{"type":45,"tag":209,"props":1540,"children":1541},{"style":1382},[1542],{"type":59,"value":1543},"  dataCollection",{"type":45,"tag":209,"props":1545,"children":1546},{"style":238},[1547],{"type":59,"value":1390},{"type":45,"tag":209,"props":1549,"children":1550},{"style":238},[1551],{"type":59,"value":1552}," {\n",{"type":45,"tag":209,"props":1554,"children":1555},{"class":211,"line":374},[1556],{"type":45,"tag":209,"props":1557,"children":1558},{"style":216},[1559],{"type":59,"value":1560},"    \u002F\u002F To disable sending user data and HTTP bodies, uncomment the lines below. For more info visit:\n",{"type":45,"tag":209,"props":1562,"children":1563},{"class":211,"line":382},[1564],{"type":45,"tag":209,"props":1565,"children":1566},{"style":216},[1567],{"type":59,"value":1568},"    \u002F\u002F https:\u002F\u002Fdocs.sentry.io\u002Fplatforms\u002Fjavascript\u002Fguides\u002Freact\u002Fconfiguration\u002Foptions\u002F#dataCollection\n",{"type":45,"tag":209,"props":1570,"children":1571},{"class":211,"line":391},[1572],{"type":45,"tag":209,"props":1573,"children":1574},{"style":216},[1575],{"type":59,"value":1576},"    \u002F\u002F userInfo: false,\n",{"type":45,"tag":209,"props":1578,"children":1579},{"class":211,"line":428},[1580],{"type":45,"tag":209,"props":1581,"children":1582},{"style":216},[1583],{"type":59,"value":1584},"    \u002F\u002F httpBodies: [],\n",{"type":45,"tag":209,"props":1586,"children":1587},{"class":211,"line":436},[1588],{"type":45,"tag":209,"props":1589,"children":1590},{"style":238},[1591],{"type":59,"value":1592},"  },\n",{"type":45,"tag":209,"props":1594,"children":1595},{"class":211,"line":445},[1596],{"type":45,"tag":209,"props":1597,"children":1598},{"emptyLinePlaceholder":40},[1599],{"type":59,"value":275},{"type":45,"tag":209,"props":1601,"children":1602},{"class":211,"line":484},[1603,1608,1612],{"type":45,"tag":209,"props":1604,"children":1605},{"style":1382},[1606],{"type":59,"value":1607},"  integrations",{"type":45,"tag":209,"props":1609,"children":1610},{"style":238},[1611],{"type":59,"value":1390},{"type":45,"tag":209,"props":1613,"children":1614},{"style":1314},[1615],{"type":59,"value":1616}," [\n",{"type":45,"tag":209,"props":1618,"children":1619},{"class":211,"line":521},[1620,1625,1629,1634,1639],{"type":45,"tag":209,"props":1621,"children":1622},{"style":1314},[1623],{"type":59,"value":1624},"    Sentry",{"type":45,"tag":209,"props":1626,"children":1627},{"style":238},[1628],{"type":59,"value":1360},{"type":45,"tag":209,"props":1630,"children":1631},{"style":1363},[1632],{"type":59,"value":1633},"browserTracingIntegration",{"type":45,"tag":209,"props":1635,"children":1636},{"style":1314},[1637],{"type":59,"value":1638},"()",{"type":45,"tag":209,"props":1640,"children":1641},{"style":238},[1642],{"type":59,"value":1478},{"type":45,"tag":209,"props":1644,"children":1645},{"class":211,"line":529},[1646,1650,1654,1659,1663],{"type":45,"tag":209,"props":1647,"children":1648},{"style":1314},[1649],{"type":59,"value":1624},{"type":45,"tag":209,"props":1651,"children":1652},{"style":238},[1653],{"type":59,"value":1360},{"type":45,"tag":209,"props":1655,"children":1656},{"style":1363},[1657],{"type":59,"value":1658},"replayIntegration",{"type":45,"tag":209,"props":1660,"children":1661},{"style":1314},[1662],{"type":59,"value":1371},{"type":45,"tag":209,"props":1664,"children":1665},{"style":238},[1666],{"type":59,"value":1376},{"type":45,"tag":209,"props":1668,"children":1669},{"class":211,"line":538},[1670,1675,1679,1685],{"type":45,"tag":209,"props":1671,"children":1672},{"style":1382},[1673],{"type":59,"value":1674},"      maskAllText",{"type":45,"tag":209,"props":1676,"children":1677},{"style":238},[1678],{"type":59,"value":1390},{"type":45,"tag":209,"props":1680,"children":1682},{"style":1681},"--shiki-light:#FF5370;--shiki-default:#FF9CAC;--shiki-dark:#FF9CAC",[1683],{"type":59,"value":1684}," true",{"type":45,"tag":209,"props":1686,"children":1687},{"style":238},[1688],{"type":59,"value":1478},{"type":45,"tag":209,"props":1690,"children":1691},{"class":211,"line":575},[1692,1697,1701,1705],{"type":45,"tag":209,"props":1693,"children":1694},{"style":1382},[1695],{"type":59,"value":1696},"      blockAllMedia",{"type":45,"tag":209,"props":1698,"children":1699},{"style":238},[1700],{"type":59,"value":1390},{"type":45,"tag":209,"props":1702,"children":1703},{"style":1681},[1704],{"type":59,"value":1684},{"type":45,"tag":209,"props":1706,"children":1707},{"style":238},[1708],{"type":59,"value":1478},{"type":45,"tag":209,"props":1710,"children":1711},{"class":211,"line":583},[1712,1717,1722],{"type":45,"tag":209,"props":1713,"children":1714},{"style":238},[1715],{"type":59,"value":1716},"    }",{"type":45,"tag":209,"props":1718,"children":1719},{"style":1314},[1720],{"type":59,"value":1721},")",{"type":45,"tag":209,"props":1723,"children":1724},{"style":238},[1725],{"type":59,"value":1478},{"type":45,"tag":209,"props":1727,"children":1728},{"class":211,"line":592},[1729,1734],{"type":45,"tag":209,"props":1730,"children":1731},{"style":1314},[1732],{"type":59,"value":1733},"  ]",{"type":45,"tag":209,"props":1735,"children":1736},{"style":238},[1737],{"type":59,"value":1478},{"type":45,"tag":209,"props":1739,"children":1740},{"class":211,"line":623},[1741],{"type":45,"tag":209,"props":1742,"children":1743},{"emptyLinePlaceholder":40},[1744],{"type":59,"value":275},{"type":45,"tag":209,"props":1746,"children":1748},{"class":211,"line":1747},23,[1749],{"type":45,"tag":209,"props":1750,"children":1751},{"style":216},[1752],{"type":59,"value":1753},"  \u002F\u002F Tracing\n",{"type":45,"tag":209,"props":1755,"children":1757},{"class":211,"line":1756},24,[1758,1763,1767,1773,1777],{"type":45,"tag":209,"props":1759,"children":1760},{"style":1382},[1761],{"type":59,"value":1762},"  tracesSampleRate",{"type":45,"tag":209,"props":1764,"children":1765},{"style":238},[1766],{"type":59,"value":1390},{"type":45,"tag":209,"props":1768,"children":1770},{"style":1769},"--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C",[1771],{"type":59,"value":1772}," 1.0",{"type":45,"tag":209,"props":1774,"children":1775},{"style":238},[1776],{"type":59,"value":1427},{"type":45,"tag":209,"props":1778,"children":1779},{"style":216},[1780],{"type":59,"value":1781}," \u002F\u002F lower to 0.1–0.2 in production\n",{"type":45,"tag":209,"props":1783,"children":1785},{"class":211,"line":1784},25,[1786,1791,1795,1800,1804,1809,1813,1817,1822,1827,1832,1837,1842,1847,1852,1857,1862],{"type":45,"tag":209,"props":1787,"children":1788},{"style":1382},[1789],{"type":59,"value":1790},"  tracePropagationTargets",{"type":45,"tag":209,"props":1792,"children":1793},{"style":238},[1794],{"type":59,"value":1390},{"type":45,"tag":209,"props":1796,"children":1797},{"style":1314},[1798],{"type":59,"value":1799}," [",{"type":45,"tag":209,"props":1801,"children":1802},{"style":238},[1803],{"type":59,"value":1336},{"type":45,"tag":209,"props":1805,"children":1806},{"style":232},[1807],{"type":59,"value":1808},"localhost",{"type":45,"tag":209,"props":1810,"children":1811},{"style":238},[1812],{"type":59,"value":1336},{"type":45,"tag":209,"props":1814,"children":1815},{"style":238},[1816],{"type":59,"value":1427},{"type":45,"tag":209,"props":1818,"children":1819},{"style":238},[1820],{"type":59,"value":1821}," \u002F",{"type":45,"tag":209,"props":1823,"children":1824},{"style":1298},[1825],{"type":59,"value":1826},"^",{"type":45,"tag":209,"props":1828,"children":1829},{"style":232},[1830],{"type":59,"value":1831},"https:",{"type":45,"tag":209,"props":1833,"children":1834},{"style":1314},[1835],{"type":59,"value":1836},"\\\u002F\\\u002F",{"type":45,"tag":209,"props":1838,"children":1839},{"style":232},[1840],{"type":59,"value":1841},"yourapi",{"type":45,"tag":209,"props":1843,"children":1844},{"style":1314},[1845],{"type":59,"value":1846},"\\.",{"type":45,"tag":209,"props":1848,"children":1849},{"style":232},[1850],{"type":59,"value":1851},"io",{"type":45,"tag":209,"props":1853,"children":1854},{"style":238},[1855],{"type":59,"value":1856},"\u002F",{"type":45,"tag":209,"props":1858,"children":1859},{"style":1314},[1860],{"type":59,"value":1861},"]",{"type":45,"tag":209,"props":1863,"children":1864},{"style":238},[1865],{"type":59,"value":1478},{"type":45,"tag":209,"props":1867,"children":1869},{"class":211,"line":1868},26,[1870],{"type":45,"tag":209,"props":1871,"children":1872},{"emptyLinePlaceholder":40},[1873],{"type":59,"value":275},{"type":45,"tag":209,"props":1875,"children":1877},{"class":211,"line":1876},27,[1878],{"type":45,"tag":209,"props":1879,"children":1880},{"style":216},[1881],{"type":59,"value":1882},"  \u002F\u002F Session Replay\n",{"type":45,"tag":209,"props":1884,"children":1886},{"class":211,"line":1885},28,[1887,1892,1896,1901],{"type":45,"tag":209,"props":1888,"children":1889},{"style":1382},[1890],{"type":59,"value":1891},"  replaysSessionSampleRate",{"type":45,"tag":209,"props":1893,"children":1894},{"style":238},[1895],{"type":59,"value":1390},{"type":45,"tag":209,"props":1897,"children":1898},{"style":1769},[1899],{"type":59,"value":1900}," 0.1",{"type":45,"tag":209,"props":1902,"children":1903},{"style":238},[1904],{"type":59,"value":1478},{"type":45,"tag":209,"props":1906,"children":1908},{"class":211,"line":1907},29,[1909,1914,1918,1922],{"type":45,"tag":209,"props":1910,"children":1911},{"style":1382},[1912],{"type":59,"value":1913},"  replaysOnErrorSampleRate",{"type":45,"tag":209,"props":1915,"children":1916},{"style":238},[1917],{"type":59,"value":1390},{"type":45,"tag":209,"props":1919,"children":1920},{"style":1769},[1921],{"type":59,"value":1772},{"type":45,"tag":209,"props":1923,"children":1924},{"style":238},[1925],{"type":59,"value":1478},{"type":45,"tag":209,"props":1927,"children":1928},{"class":211,"line":28},[1929],{"type":45,"tag":209,"props":1930,"children":1931},{"emptyLinePlaceholder":40},[1932],{"type":59,"value":275},{"type":45,"tag":209,"props":1934,"children":1936},{"class":211,"line":1935},31,[1937,1942,1946,1950],{"type":45,"tag":209,"props":1938,"children":1939},{"style":1382},[1940],{"type":59,"value":1941},"  enableLogs",{"type":45,"tag":209,"props":1943,"children":1944},{"style":238},[1945],{"type":59,"value":1390},{"type":45,"tag":209,"props":1947,"children":1948},{"style":1681},[1949],{"type":59,"value":1684},{"type":45,"tag":209,"props":1951,"children":1952},{"style":238},[1953],{"type":59,"value":1478},{"type":45,"tag":209,"props":1955,"children":1957},{"class":211,"line":1956},32,[1958,1963,1967],{"type":45,"tag":209,"props":1959,"children":1960},{"style":238},[1961],{"type":59,"value":1962},"}",{"type":45,"tag":209,"props":1964,"children":1965},{"style":1314},[1966],{"type":59,"value":1721},{"type":45,"tag":209,"props":1968,"children":1969},{"style":238},[1970],{"type":59,"value":1341},{"type":45,"tag":50,"props":1972,"children":1973},{},[1974],{"type":45,"tag":129,"props":1975,"children":1976},{},[1977],{"type":59,"value":1978},"DSN environment variable by build tool:",{"type":45,"tag":681,"props":1980,"children":1981},{},[1982,2003],{"type":45,"tag":685,"props":1983,"children":1984},{},[1985],{"type":45,"tag":689,"props":1986,"children":1987},{},[1988,1993,1998],{"type":45,"tag":693,"props":1989,"children":1990},{},[1991],{"type":59,"value":1992},"Build Tool",{"type":45,"tag":693,"props":1994,"children":1995},{},[1996],{"type":59,"value":1997},"Variable Name",{"type":45,"tag":693,"props":1999,"children":2000},{},[2001],{"type":59,"value":2002},"Access in code",{"type":45,"tag":704,"props":2004,"children":2005},{},[2006,2031,2057],{"type":45,"tag":689,"props":2007,"children":2008},{},[2009,2014,2022],{"type":45,"tag":711,"props":2010,"children":2011},{},[2012],{"type":59,"value":2013},"Vite",{"type":45,"tag":711,"props":2015,"children":2016},{},[2017],{"type":45,"tag":110,"props":2018,"children":2020},{"className":2019},[],[2021],{"type":59,"value":1422},{"type":45,"tag":711,"props":2023,"children":2024},{},[2025],{"type":45,"tag":110,"props":2026,"children":2028},{"className":2027},[],[2029],{"type":59,"value":2030},"import.meta.env.VITE_SENTRY_DSN",{"type":45,"tag":689,"props":2032,"children":2033},{},[2034,2039,2048],{"type":45,"tag":711,"props":2035,"children":2036},{},[2037],{"type":59,"value":2038},"Create React App",{"type":45,"tag":711,"props":2040,"children":2041},{},[2042],{"type":45,"tag":110,"props":2043,"children":2045},{"className":2044},[],[2046],{"type":59,"value":2047},"REACT_APP_SENTRY_DSN",{"type":45,"tag":711,"props":2049,"children":2050},{},[2051],{"type":45,"tag":110,"props":2052,"children":2054},{"className":2053},[],[2055],{"type":59,"value":2056},"process.env.REACT_APP_SENTRY_DSN",{"type":45,"tag":689,"props":2058,"children":2059},{},[2060,2065,2074],{"type":45,"tag":711,"props":2061,"children":2062},{},[2063],{"type":59,"value":2064},"Custom webpack",{"type":45,"tag":711,"props":2066,"children":2067},{},[2068],{"type":45,"tag":110,"props":2069,"children":2071},{"className":2070},[],[2072],{"type":59,"value":2073},"SENTRY_DSN",{"type":45,"tag":711,"props":2075,"children":2076},{},[2077],{"type":45,"tag":110,"props":2078,"children":2080},{"className":2079},[],[2081],{"type":59,"value":2082},"process.env.SENTRY_DSN",{"type":45,"tag":1216,"props":2084,"children":2086},{"id":2085},"entry-point-setup",[2087],{"type":59,"value":2088},"Entry Point Setup",{"type":45,"tag":50,"props":2090,"children":2091},{},[2092,2094,2100,2102,2107],{"type":59,"value":2093},"Import ",{"type":45,"tag":110,"props":2095,"children":2097},{"className":2096},[],[2098],{"type":59,"value":2099},"instrument.ts",{"type":59,"value":2101}," as the ",{"type":45,"tag":129,"props":2103,"children":2104},{},[2105],{"type":59,"value":2106},"very first import",{"type":59,"value":2108}," in your entry file:",{"type":45,"tag":198,"props":2110,"children":2114},{"className":2111,"code":2112,"language":2113,"meta":203,"style":203},"language-tsx shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","\u002F\u002F src\u002Fmain.tsx (Vite) or src\u002Findex.tsx (CRA\u002Fwebpack)\nimport \".\u002Finstrument\";              \u002F\u002F ← MUST be first\n\nimport { StrictMode } from \"react\";\nimport { createRoot } from \"react-dom\u002Fclient\";\nimport App from \".\u002FApp\";\n\ncreateRoot(document.getElementById(\"root\")!).render(\n  \u003CStrictMode>\n    \u003CApp \u002F>\n  \u003C\u002FStrictMode>\n);\n","tsx",[2115],{"type":45,"tag":110,"props":2116,"children":2117},{"__ignoreMap":203},[2118,2126,2156,2163,2206,2247,2280,2287,2351,2369,2387,2403],{"type":45,"tag":209,"props":2119,"children":2120},{"class":211,"line":212},[2121],{"type":45,"tag":209,"props":2122,"children":2123},{"style":216},[2124],{"type":59,"value":2125},"\u002F\u002F src\u002Fmain.tsx (Vite) or src\u002Findex.tsx (CRA\u002Fwebpack)\n",{"type":45,"tag":209,"props":2127,"children":2128},{"class":211,"line":222},[2129,2133,2137,2142,2146,2151],{"type":45,"tag":209,"props":2130,"children":2131},{"style":1298},[2132],{"type":59,"value":1301},{"type":45,"tag":209,"props":2134,"children":2135},{"style":238},[2136],{"type":59,"value":1327},{"type":45,"tag":209,"props":2138,"children":2139},{"style":232},[2140],{"type":59,"value":2141},".\u002Finstrument",{"type":45,"tag":209,"props":2143,"children":2144},{"style":238},[2145],{"type":59,"value":1336},{"type":45,"tag":209,"props":2147,"children":2148},{"style":238},[2149],{"type":59,"value":2150},";",{"type":45,"tag":209,"props":2152,"children":2153},{"style":216},[2154],{"type":59,"value":2155},"              \u002F\u002F ← MUST be first\n",{"type":45,"tag":209,"props":2157,"children":2158},{"class":211,"line":269},[2159],{"type":45,"tag":209,"props":2160,"children":2161},{"emptyLinePlaceholder":40},[2162],{"type":59,"value":275},{"type":45,"tag":209,"props":2164,"children":2165},{"class":211,"line":278},[2166,2170,2175,2180,2185,2190,2194,2198,2202],{"type":45,"tag":209,"props":2167,"children":2168},{"style":1298},[2169],{"type":59,"value":1301},{"type":45,"tag":209,"props":2171,"children":2172},{"style":238},[2173],{"type":59,"value":2174}," {",{"type":45,"tag":209,"props":2176,"children":2177},{"style":1314},[2178],{"type":59,"value":2179}," StrictMode",{"type":45,"tag":209,"props":2181,"children":2182},{"style":238},[2183],{"type":59,"value":2184}," }",{"type":45,"tag":209,"props":2186,"children":2187},{"style":1298},[2188],{"type":59,"value":2189}," from",{"type":45,"tag":209,"props":2191,"children":2192},{"style":238},[2193],{"type":59,"value":1327},{"type":45,"tag":209,"props":2195,"children":2196},{"style":232},[2197],{"type":59,"value":19},{"type":45,"tag":209,"props":2199,"children":2200},{"style":238},[2201],{"type":59,"value":1336},{"type":45,"tag":209,"props":2203,"children":2204},{"style":238},[2205],{"type":59,"value":1341},{"type":45,"tag":209,"props":2207,"children":2208},{"class":211,"line":287},[2209,2213,2217,2222,2226,2230,2234,2239,2243],{"type":45,"tag":209,"props":2210,"children":2211},{"style":1298},[2212],{"type":59,"value":1301},{"type":45,"tag":209,"props":2214,"children":2215},{"style":238},[2216],{"type":59,"value":2174},{"type":45,"tag":209,"props":2218,"children":2219},{"style":1314},[2220],{"type":59,"value":2221}," createRoot",{"type":45,"tag":209,"props":2223,"children":2224},{"style":238},[2225],{"type":59,"value":2184},{"type":45,"tag":209,"props":2227,"children":2228},{"style":1298},[2229],{"type":59,"value":2189},{"type":45,"tag":209,"props":2231,"children":2232},{"style":238},[2233],{"type":59,"value":1327},{"type":45,"tag":209,"props":2235,"children":2236},{"style":232},[2237],{"type":59,"value":2238},"react-dom\u002Fclient",{"type":45,"tag":209,"props":2240,"children":2241},{"style":238},[2242],{"type":59,"value":1336},{"type":45,"tag":209,"props":2244,"children":2245},{"style":238},[2246],{"type":59,"value":1341},{"type":45,"tag":209,"props":2248,"children":2249},{"class":211,"line":320},[2250,2254,2259,2263,2267,2272,2276],{"type":45,"tag":209,"props":2251,"children":2252},{"style":1298},[2253],{"type":59,"value":1301},{"type":45,"tag":209,"props":2255,"children":2256},{"style":1314},[2257],{"type":59,"value":2258}," App ",{"type":45,"tag":209,"props":2260,"children":2261},{"style":1298},[2262],{"type":59,"value":1322},{"type":45,"tag":209,"props":2264,"children":2265},{"style":238},[2266],{"type":59,"value":1327},{"type":45,"tag":209,"props":2268,"children":2269},{"style":232},[2270],{"type":59,"value":2271},".\u002FApp",{"type":45,"tag":209,"props":2273,"children":2274},{"style":238},[2275],{"type":59,"value":1336},{"type":45,"tag":209,"props":2277,"children":2278},{"style":238},[2279],{"type":59,"value":1341},{"type":45,"tag":209,"props":2281,"children":2282},{"class":211,"line":328},[2283],{"type":45,"tag":209,"props":2284,"children":2285},{"emptyLinePlaceholder":40},[2286],{"type":59,"value":275},{"type":45,"tag":209,"props":2288,"children":2289},{"class":211,"line":337},[2290,2294,2299,2303,2308,2312,2316,2320,2324,2328,2333,2337,2341,2346],{"type":45,"tag":209,"props":2291,"children":2292},{"style":1363},[2293],{"type":59,"value":1155},{"type":45,"tag":209,"props":2295,"children":2296},{"style":1314},[2297],{"type":59,"value":2298},"(document",{"type":45,"tag":209,"props":2300,"children":2301},{"style":238},[2302],{"type":59,"value":1360},{"type":45,"tag":209,"props":2304,"children":2305},{"style":1363},[2306],{"type":59,"value":2307},"getElementById",{"type":45,"tag":209,"props":2309,"children":2310},{"style":1314},[2311],{"type":59,"value":1371},{"type":45,"tag":209,"props":2313,"children":2314},{"style":238},[2315],{"type":59,"value":1336},{"type":45,"tag":209,"props":2317,"children":2318},{"style":232},[2319],{"type":59,"value":42},{"type":45,"tag":209,"props":2321,"children":2322},{"style":238},[2323],{"type":59,"value":1336},{"type":45,"tag":209,"props":2325,"children":2326},{"style":1314},[2327],{"type":59,"value":1721},{"type":45,"tag":209,"props":2329,"children":2330},{"style":238},[2331],{"type":59,"value":2332},"!",{"type":45,"tag":209,"props":2334,"children":2335},{"style":1314},[2336],{"type":59,"value":1721},{"type":45,"tag":209,"props":2338,"children":2339},{"style":238},[2340],{"type":59,"value":1360},{"type":45,"tag":209,"props":2342,"children":2343},{"style":1363},[2344],{"type":59,"value":2345},"render",{"type":45,"tag":209,"props":2347,"children":2348},{"style":1314},[2349],{"type":59,"value":2350},"(\n",{"type":45,"tag":209,"props":2352,"children":2353},{"class":211,"line":374},[2354,2359,2364],{"type":45,"tag":209,"props":2355,"children":2356},{"style":238},[2357],{"type":59,"value":2358},"  \u003C",{"type":45,"tag":209,"props":2360,"children":2361},{"style":226},[2362],{"type":59,"value":2363},"StrictMode",{"type":45,"tag":209,"props":2365,"children":2366},{"style":238},[2367],{"type":59,"value":2368},">\n",{"type":45,"tag":209,"props":2370,"children":2371},{"class":211,"line":382},[2372,2377,2382],{"type":45,"tag":209,"props":2373,"children":2374},{"style":238},[2375],{"type":59,"value":2376},"    \u003C",{"type":45,"tag":209,"props":2378,"children":2379},{"style":226},[2380],{"type":59,"value":2381},"App",{"type":45,"tag":209,"props":2383,"children":2384},{"style":238},[2385],{"type":59,"value":2386}," \u002F>\n",{"type":45,"tag":209,"props":2388,"children":2389},{"class":211,"line":391},[2390,2395,2399],{"type":45,"tag":209,"props":2391,"children":2392},{"style":238},[2393],{"type":59,"value":2394},"  \u003C\u002F",{"type":45,"tag":209,"props":2396,"children":2397},{"style":226},[2398],{"type":59,"value":2363},{"type":45,"tag":209,"props":2400,"children":2401},{"style":238},[2402],{"type":59,"value":2368},{"type":45,"tag":209,"props":2404,"children":2405},{"class":211,"line":428},[2406,2410],{"type":45,"tag":209,"props":2407,"children":2408},{"style":1314},[2409],{"type":59,"value":1721},{"type":45,"tag":209,"props":2411,"children":2412},{"style":238},[2413],{"type":59,"value":1341},{"type":45,"tag":1216,"props":2415,"children":2417},{"id":2416},"react-version-specific-error-handling",[2418],{"type":59,"value":2419},"React Version-Specific Error Handling",{"type":45,"tag":50,"props":2421,"children":2422},{},[2423,2428,2430,2435,2436,2441],{"type":45,"tag":129,"props":2424,"children":2425},{},[2426],{"type":59,"value":2427},"React 19+",{"type":59,"value":2429}," — use ",{"type":45,"tag":110,"props":2431,"children":2433},{"className":2432},[],[2434],{"type":59,"value":726},{"type":59,"value":1149},{"type":45,"tag":110,"props":2437,"children":2439},{"className":2438},[],[2440],{"type":59,"value":1155},{"type":59,"value":1390},{"type":45,"tag":198,"props":2443,"children":2445},{"className":2111,"code":2444,"language":2113,"meta":203,"style":203},"import { reactErrorHandler } from \"@sentry\u002Freact\";\n\ncreateRoot(document.getElementById(\"root\")!, {\n  onUncaughtError: reactErrorHandler(),\n  onCaughtError: reactErrorHandler(),\n  onRecoverableError: reactErrorHandler(),\n}).render(\u003CApp \u002F>);\n",[2446],{"type":45,"tag":110,"props":2447,"children":2448},{"__ignoreMap":203},[2449,2489,2496,2544,2568,2592,2616],{"type":45,"tag":209,"props":2450,"children":2451},{"class":211,"line":212},[2452,2456,2460,2465,2469,2473,2477,2481,2485],{"type":45,"tag":209,"props":2453,"children":2454},{"style":1298},[2455],{"type":59,"value":1301},{"type":45,"tag":209,"props":2457,"children":2458},{"style":238},[2459],{"type":59,"value":2174},{"type":45,"tag":209,"props":2461,"children":2462},{"style":1314},[2463],{"type":59,"value":2464}," reactErrorHandler",{"type":45,"tag":209,"props":2466,"children":2467},{"style":238},[2468],{"type":59,"value":2184},{"type":45,"tag":209,"props":2470,"children":2471},{"style":1298},[2472],{"type":59,"value":2189},{"type":45,"tag":209,"props":2474,"children":2475},{"style":238},[2476],{"type":59,"value":1327},{"type":45,"tag":209,"props":2478,"children":2479},{"style":232},[2480],{"type":59,"value":115},{"type":45,"tag":209,"props":2482,"children":2483},{"style":238},[2484],{"type":59,"value":1336},{"type":45,"tag":209,"props":2486,"children":2487},{"style":238},[2488],{"type":59,"value":1341},{"type":45,"tag":209,"props":2490,"children":2491},{"class":211,"line":222},[2492],{"type":45,"tag":209,"props":2493,"children":2494},{"emptyLinePlaceholder":40},[2495],{"type":59,"value":275},{"type":45,"tag":209,"props":2497,"children":2498},{"class":211,"line":269},[2499,2503,2507,2511,2515,2519,2523,2527,2531,2535,2540],{"type":45,"tag":209,"props":2500,"children":2501},{"style":1363},[2502],{"type":59,"value":1155},{"type":45,"tag":209,"props":2504,"children":2505},{"style":1314},[2506],{"type":59,"value":2298},{"type":45,"tag":209,"props":2508,"children":2509},{"style":238},[2510],{"type":59,"value":1360},{"type":45,"tag":209,"props":2512,"children":2513},{"style":1363},[2514],{"type":59,"value":2307},{"type":45,"tag":209,"props":2516,"children":2517},{"style":1314},[2518],{"type":59,"value":1371},{"type":45,"tag":209,"props":2520,"children":2521},{"style":238},[2522],{"type":59,"value":1336},{"type":45,"tag":209,"props":2524,"children":2525},{"style":232},[2526],{"type":59,"value":42},{"type":45,"tag":209,"props":2528,"children":2529},{"style":238},[2530],{"type":59,"value":1336},{"type":45,"tag":209,"props":2532,"children":2533},{"style":1314},[2534],{"type":59,"value":1721},{"type":45,"tag":209,"props":2536,"children":2537},{"style":238},[2538],{"type":59,"value":2539},"!,",{"type":45,"tag":209,"props":2541,"children":2542},{"style":238},[2543],{"type":59,"value":1552},{"type":45,"tag":209,"props":2545,"children":2546},{"class":211,"line":278},[2547,2552,2556,2560,2564],{"type":45,"tag":209,"props":2548,"children":2549},{"style":1382},[2550],{"type":59,"value":2551},"  onUncaughtError",{"type":45,"tag":209,"props":2553,"children":2554},{"style":238},[2555],{"type":59,"value":1390},{"type":45,"tag":209,"props":2557,"children":2558},{"style":1363},[2559],{"type":59,"value":2464},{"type":45,"tag":209,"props":2561,"children":2562},{"style":1314},[2563],{"type":59,"value":1638},{"type":45,"tag":209,"props":2565,"children":2566},{"style":238},[2567],{"type":59,"value":1478},{"type":45,"tag":209,"props":2569,"children":2570},{"class":211,"line":287},[2571,2576,2580,2584,2588],{"type":45,"tag":209,"props":2572,"children":2573},{"style":1382},[2574],{"type":59,"value":2575},"  onCaughtError",{"type":45,"tag":209,"props":2577,"children":2578},{"style":238},[2579],{"type":59,"value":1390},{"type":45,"tag":209,"props":2581,"children":2582},{"style":1363},[2583],{"type":59,"value":2464},{"type":45,"tag":209,"props":2585,"children":2586},{"style":1314},[2587],{"type":59,"value":1638},{"type":45,"tag":209,"props":2589,"children":2590},{"style":238},[2591],{"type":59,"value":1478},{"type":45,"tag":209,"props":2593,"children":2594},{"class":211,"line":320},[2595,2600,2604,2608,2612],{"type":45,"tag":209,"props":2596,"children":2597},{"style":1382},[2598],{"type":59,"value":2599},"  onRecoverableError",{"type":45,"tag":209,"props":2601,"children":2602},{"style":238},[2603],{"type":59,"value":1390},{"type":45,"tag":209,"props":2605,"children":2606},{"style":1363},[2607],{"type":59,"value":2464},{"type":45,"tag":209,"props":2609,"children":2610},{"style":1314},[2611],{"type":59,"value":1638},{"type":45,"tag":209,"props":2613,"children":2614},{"style":238},[2615],{"type":59,"value":1478},{"type":45,"tag":209,"props":2617,"children":2618},{"class":211,"line":328},[2619,2623,2627,2631,2635,2639,2644,2648,2653,2657],{"type":45,"tag":209,"props":2620,"children":2621},{"style":238},[2622],{"type":59,"value":1962},{"type":45,"tag":209,"props":2624,"children":2625},{"style":1314},[2626],{"type":59,"value":1721},{"type":45,"tag":209,"props":2628,"children":2629},{"style":238},[2630],{"type":59,"value":1360},{"type":45,"tag":209,"props":2632,"children":2633},{"style":1363},[2634],{"type":59,"value":2345},{"type":45,"tag":209,"props":2636,"children":2637},{"style":1314},[2638],{"type":59,"value":1371},{"type":45,"tag":209,"props":2640,"children":2641},{"style":238},[2642],{"type":59,"value":2643},"\u003C",{"type":45,"tag":209,"props":2645,"children":2646},{"style":226},[2647],{"type":59,"value":2381},{"type":45,"tag":209,"props":2649,"children":2650},{"style":238},[2651],{"type":59,"value":2652}," \u002F>",{"type":45,"tag":209,"props":2654,"children":2655},{"style":1314},[2656],{"type":59,"value":1721},{"type":45,"tag":209,"props":2658,"children":2659},{"style":238},[2660],{"type":59,"value":1341},{"type":45,"tag":50,"props":2662,"children":2663},{},[2664,2669,2671,2676],{"type":45,"tag":129,"props":2665,"children":2666},{},[2667],{"type":59,"value":2668},"React \u003C19",{"type":59,"value":2670}," — wrap your app in ",{"type":45,"tag":110,"props":2672,"children":2674},{"className":2673},[],[2675],{"type":59,"value":746},{"type":59,"value":1390},{"type":45,"tag":198,"props":2678,"children":2680},{"className":2111,"code":2679,"language":2113,"meta":203,"style":203},"import * as Sentry from \"@sentry\u002Freact\";\n\ncreateRoot(document.getElementById(\"root\")!).render(\n  \u003CSentry.ErrorBoundary fallback={\u003Cp>Something went wrong\u003C\u002Fp>} showDialog>\n    \u003CApp \u002F>\n  \u003C\u002FSentry.ErrorBoundary>\n);\n",[2681],{"type":45,"tag":110,"props":2682,"children":2683},{"__ignoreMap":203},[2684,2723,2730,2789,2848,2863,2878],{"type":45,"tag":209,"props":2685,"children":2686},{"class":211,"line":212},[2687,2691,2695,2699,2703,2707,2711,2715,2719],{"type":45,"tag":209,"props":2688,"children":2689},{"style":1298},[2690],{"type":59,"value":1301},{"type":45,"tag":209,"props":2692,"children":2693},{"style":238},[2694],{"type":59,"value":1306},{"type":45,"tag":209,"props":2696,"children":2697},{"style":1298},[2698],{"type":59,"value":1311},{"type":45,"tag":209,"props":2700,"children":2701},{"style":1314},[2702],{"type":59,"value":1317},{"type":45,"tag":209,"props":2704,"children":2705},{"style":1298},[2706],{"type":59,"value":1322},{"type":45,"tag":209,"props":2708,"children":2709},{"style":238},[2710],{"type":59,"value":1327},{"type":45,"tag":209,"props":2712,"children":2713},{"style":232},[2714],{"type":59,"value":115},{"type":45,"tag":209,"props":2716,"children":2717},{"style":238},[2718],{"type":59,"value":1336},{"type":45,"tag":209,"props":2720,"children":2721},{"style":238},[2722],{"type":59,"value":1341},{"type":45,"tag":209,"props":2724,"children":2725},{"class":211,"line":222},[2726],{"type":45,"tag":209,"props":2727,"children":2728},{"emptyLinePlaceholder":40},[2729],{"type":59,"value":275},{"type":45,"tag":209,"props":2731,"children":2732},{"class":211,"line":269},[2733,2737,2741,2745,2749,2753,2757,2761,2765,2769,2773,2777,2781,2785],{"type":45,"tag":209,"props":2734,"children":2735},{"style":1363},[2736],{"type":59,"value":1155},{"type":45,"tag":209,"props":2738,"children":2739},{"style":1314},[2740],{"type":59,"value":2298},{"type":45,"tag":209,"props":2742,"children":2743},{"style":238},[2744],{"type":59,"value":1360},{"type":45,"tag":209,"props":2746,"children":2747},{"style":1363},[2748],{"type":59,"value":2307},{"type":45,"tag":209,"props":2750,"children":2751},{"style":1314},[2752],{"type":59,"value":1371},{"type":45,"tag":209,"props":2754,"children":2755},{"style":238},[2756],{"type":59,"value":1336},{"type":45,"tag":209,"props":2758,"children":2759},{"style":232},[2760],{"type":59,"value":42},{"type":45,"tag":209,"props":2762,"children":2763},{"style":238},[2764],{"type":59,"value":1336},{"type":45,"tag":209,"props":2766,"children":2767},{"style":1314},[2768],{"type":59,"value":1721},{"type":45,"tag":209,"props":2770,"children":2771},{"style":238},[2772],{"type":59,"value":2332},{"type":45,"tag":209,"props":2774,"children":2775},{"style":1314},[2776],{"type":59,"value":1721},{"type":45,"tag":209,"props":2778,"children":2779},{"style":238},[2780],{"type":59,"value":1360},{"type":45,"tag":209,"props":2782,"children":2783},{"style":1363},[2784],{"type":59,"value":2345},{"type":45,"tag":209,"props":2786,"children":2787},{"style":1314},[2788],{"type":59,"value":2350},{"type":45,"tag":209,"props":2790,"children":2791},{"class":211,"line":278},[2792,2796,2800,2806,2811,2815,2820,2825,2830,2834,2839,2844],{"type":45,"tag":209,"props":2793,"children":2794},{"style":238},[2795],{"type":59,"value":2358},{"type":45,"tag":209,"props":2797,"children":2798},{"style":226},[2799],{"type":59,"value":746},{"type":45,"tag":209,"props":2801,"children":2803},{"style":2802},"--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA",[2804],{"type":59,"value":2805}," fallback",{"type":45,"tag":209,"props":2807,"children":2808},{"style":238},[2809],{"type":59,"value":2810},"={\u003C",{"type":45,"tag":209,"props":2812,"children":2813},{"style":1382},[2814],{"type":59,"value":50},{"type":45,"tag":209,"props":2816,"children":2817},{"style":238},[2818],{"type":59,"value":2819},">",{"type":45,"tag":209,"props":2821,"children":2822},{"style":1314},[2823],{"type":59,"value":2824},"Something went wrong",{"type":45,"tag":209,"props":2826,"children":2827},{"style":238},[2828],{"type":59,"value":2829},"\u003C\u002F",{"type":45,"tag":209,"props":2831,"children":2832},{"style":1382},[2833],{"type":59,"value":50},{"type":45,"tag":209,"props":2835,"children":2836},{"style":238},[2837],{"type":59,"value":2838},">} ",{"type":45,"tag":209,"props":2840,"children":2841},{"style":2802},[2842],{"type":59,"value":2843},"showDialog",{"type":45,"tag":209,"props":2845,"children":2846},{"style":238},[2847],{"type":59,"value":2368},{"type":45,"tag":209,"props":2849,"children":2850},{"class":211,"line":287},[2851,2855,2859],{"type":45,"tag":209,"props":2852,"children":2853},{"style":238},[2854],{"type":59,"value":2376},{"type":45,"tag":209,"props":2856,"children":2857},{"style":226},[2858],{"type":59,"value":2381},{"type":45,"tag":209,"props":2860,"children":2861},{"style":238},[2862],{"type":59,"value":2386},{"type":45,"tag":209,"props":2864,"children":2865},{"class":211,"line":320},[2866,2870,2874],{"type":45,"tag":209,"props":2867,"children":2868},{"style":238},[2869],{"type":59,"value":2394},{"type":45,"tag":209,"props":2871,"children":2872},{"style":226},[2873],{"type":59,"value":746},{"type":45,"tag":209,"props":2875,"children":2876},{"style":238},[2877],{"type":59,"value":2368},{"type":45,"tag":209,"props":2879,"children":2880},{"class":211,"line":328},[2881,2885],{"type":45,"tag":209,"props":2882,"children":2883},{"style":1314},[2884],{"type":59,"value":1721},{"type":45,"tag":209,"props":2886,"children":2887},{"style":238},[2888],{"type":59,"value":1341},{"type":45,"tag":50,"props":2890,"children":2891},{},[2892,2893,2899],{"type":59,"value":720},{"type":45,"tag":110,"props":2894,"children":2896},{"className":2895},[],[2897],{"type":59,"value":2898},"\u003CSentry.ErrorBoundary>",{"type":59,"value":2900}," for any sub-tree that should catch errors independently (route sections, widgets, etc.).",{"type":45,"tag":1216,"props":2902,"children":2904},{"id":2903},"router-integration",[2905],{"type":59,"value":2906},"Router Integration",{"type":45,"tag":50,"props":2908,"children":2909},{},[2910],{"type":59,"value":2911},"Configure the matching integration for your router (non-framework mode):",{"type":45,"tag":681,"props":2913,"children":2914},{},[2915,2936],{"type":45,"tag":685,"props":2916,"children":2917},{},[2918],{"type":45,"tag":689,"props":2919,"children":2920},{},[2921,2926,2931],{"type":45,"tag":693,"props":2922,"children":2923},{},[2924],{"type":59,"value":2925},"Router",{"type":45,"tag":693,"props":2927,"children":2928},{},[2929],{"type":59,"value":2930},"Integration",{"type":45,"tag":693,"props":2932,"children":2933},{},[2934],{"type":59,"value":2935},"Notes",{"type":45,"tag":704,"props":2937,"children":2938},{},[2939,3001,3056,3084,3106],{"type":45,"tag":689,"props":2940,"children":2941},{},[2942,2947,2956],{"type":45,"tag":711,"props":2943,"children":2944},{},[2945],{"type":59,"value":2946},"React Router v7",{"type":45,"tag":711,"props":2948,"children":2949},{},[2950],{"type":45,"tag":110,"props":2951,"children":2953},{"className":2952},[],[2954],{"type":59,"value":2955},"reactRouterV7BrowserTracingIntegration",{"type":45,"tag":711,"props":2957,"children":2958},{},[2959,2965,2966,2972,2973,2979,2980,2986,2987,2993,2995],{"type":45,"tag":110,"props":2960,"children":2962},{"className":2961},[],[2963],{"type":59,"value":2964},"useEffect",{"type":59,"value":779},{"type":45,"tag":110,"props":2967,"children":2969},{"className":2968},[],[2970],{"type":59,"value":2971},"useLocation",{"type":59,"value":779},{"type":45,"tag":110,"props":2974,"children":2976},{"className":2975},[],[2977],{"type":59,"value":2978},"useNavigationType",{"type":59,"value":779},{"type":45,"tag":110,"props":2981,"children":2983},{"className":2982},[],[2984],{"type":59,"value":2985},"createRoutesFromChildren",{"type":59,"value":779},{"type":45,"tag":110,"props":2988,"children":2990},{"className":2989},[],[2991],{"type":59,"value":2992},"matchRoutes",{"type":59,"value":2994}," from ",{"type":45,"tag":110,"props":2996,"children":2998},{"className":2997},[],[2999],{"type":59,"value":3000},"react-router",{"type":45,"tag":689,"props":3002,"children":3003},{},[3004,3009,3018],{"type":45,"tag":711,"props":3005,"children":3006},{},[3007],{"type":59,"value":3008},"React Router v6",{"type":45,"tag":711,"props":3010,"children":3011},{},[3012],{"type":45,"tag":110,"props":3013,"children":3015},{"className":3014},[],[3016],{"type":59,"value":3017},"reactRouterV6BrowserTracingIntegration",{"type":45,"tag":711,"props":3019,"children":3020},{},[3021,3026,3027,3032,3033,3038,3039,3044,3045,3050,3051],{"type":45,"tag":110,"props":3022,"children":3024},{"className":3023},[],[3025],{"type":59,"value":2964},{"type":59,"value":779},{"type":45,"tag":110,"props":3028,"children":3030},{"className":3029},[],[3031],{"type":59,"value":2971},{"type":59,"value":779},{"type":45,"tag":110,"props":3034,"children":3036},{"className":3035},[],[3037],{"type":59,"value":2978},{"type":59,"value":779},{"type":45,"tag":110,"props":3040,"children":3042},{"className":3041},[],[3043],{"type":59,"value":2985},{"type":59,"value":779},{"type":45,"tag":110,"props":3046,"children":3048},{"className":3047},[],[3049],{"type":59,"value":2992},{"type":59,"value":2994},{"type":45,"tag":110,"props":3052,"children":3054},{"className":3053},[],[3055],{"type":59,"value":808},{"type":45,"tag":689,"props":3057,"children":3058},{},[3059,3064,3073],{"type":45,"tag":711,"props":3060,"children":3061},{},[3062],{"type":59,"value":3063},"React Router v5",{"type":45,"tag":711,"props":3065,"children":3066},{},[3067],{"type":45,"tag":110,"props":3068,"children":3070},{"className":3069},[],[3071],{"type":59,"value":3072},"reactRouterV5BrowserTracingIntegration",{"type":45,"tag":711,"props":3074,"children":3075},{},[3076,3078],{"type":59,"value":3077},"Wrap routes in ",{"type":45,"tag":110,"props":3079,"children":3081},{"className":3080},[],[3082],{"type":59,"value":3083},"withSentryRouting(Route)",{"type":45,"tag":689,"props":3085,"children":3086},{},[3087,3092,3101],{"type":45,"tag":711,"props":3088,"children":3089},{},[3090],{"type":59,"value":3091},"TanStack Router",{"type":45,"tag":711,"props":3093,"children":3094},{},[3095],{"type":45,"tag":110,"props":3096,"children":3098},{"className":3097},[],[3099],{"type":59,"value":3100},"tanstackRouterBrowserTracingIntegration(router)",{"type":45,"tag":711,"props":3102,"children":3103},{},[3104],{"type":59,"value":3105},"Pass router instance — no hooks required",{"type":45,"tag":689,"props":3107,"children":3108},{},[3109,3114,3123],{"type":45,"tag":711,"props":3110,"children":3111},{},[3112],{"type":59,"value":3113},"No router \u002F custom",{"type":45,"tag":711,"props":3115,"children":3116},{},[3117],{"type":45,"tag":110,"props":3118,"children":3120},{"className":3119},[],[3121],{"type":59,"value":3122},"browserTracingIntegration()",{"type":45,"tag":711,"props":3124,"children":3125},{},[3126],{"type":59,"value":3127},"Names transactions by URL path",{"type":45,"tag":50,"props":3129,"children":3130},{},[3131],{"type":45,"tag":129,"props":3132,"children":3133},{},[3134],{"type":59,"value":3135},"React Router v6\u002Fv7 setup:",{"type":45,"tag":198,"props":3137,"children":3139},{"className":1286,"code":3138,"language":1288,"meta":203,"style":203},"\u002F\u002F in instrument.ts integrations array:\nimport React from \"react\";\nimport {\n  createRoutesFromChildren, matchRoutes,\n  useLocation, useNavigationType,\n} from \"react-router-dom\"; \u002F\u002F or \"react-router\" for v7\nimport * as Sentry from \"@sentry\u002Freact\";\nimport { reactRouterV6BrowserTracingIntegration } from \"@sentry\u002Freact\";\nimport { createBrowserRouter } from \"react-router-dom\";\n\n\u002F\u002F Option A — createBrowserRouter (recommended for v6.4+):\nconst sentryCreateBrowserRouter = Sentry.wrapCreateBrowserRouterV6(createBrowserRouter);\nconst router = sentryCreateBrowserRouter([...routes]);\n\n\u002F\u002F Option B — createBrowserRouter for React Router v7:\n\u002F\u002F const sentryCreateBrowserRouter = Sentry.wrapCreateBrowserRouterV7(createBrowserRouter);\n\n\u002F\u002F Option C — integration with hooks (v6 without data APIs):\nSentry.init({\n  integrations: [\n    reactRouterV6BrowserTracingIntegration({\n      useEffect: React.useEffect,\n      useLocation,\n      useNavigationType,\n      matchRoutes,\n      createRoutesFromChildren,\n    }),\n  ],\n});\n",[3140],{"type":45,"tag":110,"props":3141,"children":3142},{"__ignoreMap":203},[3143,3151,3183,3194,3215,3236,3268,3307,3347,3387,3394,3402,3443,3483,3490,3498,3506,3513,3521,3544,3559,3575,3604,3616,3628,3640,3652,3667,3678],{"type":45,"tag":209,"props":3144,"children":3145},{"class":211,"line":212},[3146],{"type":45,"tag":209,"props":3147,"children":3148},{"style":216},[3149],{"type":59,"value":3150},"\u002F\u002F in instrument.ts integrations array:\n",{"type":45,"tag":209,"props":3152,"children":3153},{"class":211,"line":222},[3154,3158,3163,3167,3171,3175,3179],{"type":45,"tag":209,"props":3155,"children":3156},{"style":1298},[3157],{"type":59,"value":1301},{"type":45,"tag":209,"props":3159,"children":3160},{"style":1314},[3161],{"type":59,"value":3162}," React ",{"type":45,"tag":209,"props":3164,"children":3165},{"style":1298},[3166],{"type":59,"value":1322},{"type":45,"tag":209,"props":3168,"children":3169},{"style":238},[3170],{"type":59,"value":1327},{"type":45,"tag":209,"props":3172,"children":3173},{"style":232},[3174],{"type":59,"value":19},{"type":45,"tag":209,"props":3176,"children":3177},{"style":238},[3178],{"type":59,"value":1336},{"type":45,"tag":209,"props":3180,"children":3181},{"style":238},[3182],{"type":59,"value":1341},{"type":45,"tag":209,"props":3184,"children":3185},{"class":211,"line":269},[3186,3190],{"type":45,"tag":209,"props":3187,"children":3188},{"style":1298},[3189],{"type":59,"value":1301},{"type":45,"tag":209,"props":3191,"children":3192},{"style":238},[3193],{"type":59,"value":1552},{"type":45,"tag":209,"props":3195,"children":3196},{"class":211,"line":278},[3197,3202,3206,3211],{"type":45,"tag":209,"props":3198,"children":3199},{"style":1314},[3200],{"type":59,"value":3201},"  createRoutesFromChildren",{"type":45,"tag":209,"props":3203,"children":3204},{"style":238},[3205],{"type":59,"value":1427},{"type":45,"tag":209,"props":3207,"children":3208},{"style":1314},[3209],{"type":59,"value":3210}," matchRoutes",{"type":45,"tag":209,"props":3212,"children":3213},{"style":238},[3214],{"type":59,"value":1478},{"type":45,"tag":209,"props":3216,"children":3217},{"class":211,"line":287},[3218,3223,3227,3232],{"type":45,"tag":209,"props":3219,"children":3220},{"style":1314},[3221],{"type":59,"value":3222},"  useLocation",{"type":45,"tag":209,"props":3224,"children":3225},{"style":238},[3226],{"type":59,"value":1427},{"type":45,"tag":209,"props":3228,"children":3229},{"style":1314},[3230],{"type":59,"value":3231}," useNavigationType",{"type":45,"tag":209,"props":3233,"children":3234},{"style":238},[3235],{"type":59,"value":1478},{"type":45,"tag":209,"props":3237,"children":3238},{"class":211,"line":320},[3239,3243,3247,3251,3255,3259,3263],{"type":45,"tag":209,"props":3240,"children":3241},{"style":238},[3242],{"type":59,"value":1962},{"type":45,"tag":209,"props":3244,"children":3245},{"style":1298},[3246],{"type":59,"value":2189},{"type":45,"tag":209,"props":3248,"children":3249},{"style":238},[3250],{"type":59,"value":1327},{"type":45,"tag":209,"props":3252,"children":3253},{"style":232},[3254],{"type":59,"value":808},{"type":45,"tag":209,"props":3256,"children":3257},{"style":238},[3258],{"type":59,"value":1336},{"type":45,"tag":209,"props":3260,"children":3261},{"style":238},[3262],{"type":59,"value":2150},{"type":45,"tag":209,"props":3264,"children":3265},{"style":216},[3266],{"type":59,"value":3267}," \u002F\u002F or \"react-router\" for v7\n",{"type":45,"tag":209,"props":3269,"children":3270},{"class":211,"line":328},[3271,3275,3279,3283,3287,3291,3295,3299,3303],{"type":45,"tag":209,"props":3272,"children":3273},{"style":1298},[3274],{"type":59,"value":1301},{"type":45,"tag":209,"props":3276,"children":3277},{"style":238},[3278],{"type":59,"value":1306},{"type":45,"tag":209,"props":3280,"children":3281},{"style":1298},[3282],{"type":59,"value":1311},{"type":45,"tag":209,"props":3284,"children":3285},{"style":1314},[3286],{"type":59,"value":1317},{"type":45,"tag":209,"props":3288,"children":3289},{"style":1298},[3290],{"type":59,"value":1322},{"type":45,"tag":209,"props":3292,"children":3293},{"style":238},[3294],{"type":59,"value":1327},{"type":45,"tag":209,"props":3296,"children":3297},{"style":232},[3298],{"type":59,"value":115},{"type":45,"tag":209,"props":3300,"children":3301},{"style":238},[3302],{"type":59,"value":1336},{"type":45,"tag":209,"props":3304,"children":3305},{"style":238},[3306],{"type":59,"value":1341},{"type":45,"tag":209,"props":3308,"children":3309},{"class":211,"line":337},[3310,3314,3318,3323,3327,3331,3335,3339,3343],{"type":45,"tag":209,"props":3311,"children":3312},{"style":1298},[3313],{"type":59,"value":1301},{"type":45,"tag":209,"props":3315,"children":3316},{"style":238},[3317],{"type":59,"value":2174},{"type":45,"tag":209,"props":3319,"children":3320},{"style":1314},[3321],{"type":59,"value":3322}," reactRouterV6BrowserTracingIntegration",{"type":45,"tag":209,"props":3324,"children":3325},{"style":238},[3326],{"type":59,"value":2184},{"type":45,"tag":209,"props":3328,"children":3329},{"style":1298},[3330],{"type":59,"value":2189},{"type":45,"tag":209,"props":3332,"children":3333},{"style":238},[3334],{"type":59,"value":1327},{"type":45,"tag":209,"props":3336,"children":3337},{"style":232},[3338],{"type":59,"value":115},{"type":45,"tag":209,"props":3340,"children":3341},{"style":238},[3342],{"type":59,"value":1336},{"type":45,"tag":209,"props":3344,"children":3345},{"style":238},[3346],{"type":59,"value":1341},{"type":45,"tag":209,"props":3348,"children":3349},{"class":211,"line":374},[3350,3354,3358,3363,3367,3371,3375,3379,3383],{"type":45,"tag":209,"props":3351,"children":3352},{"style":1298},[3353],{"type":59,"value":1301},{"type":45,"tag":209,"props":3355,"children":3356},{"style":238},[3357],{"type":59,"value":2174},{"type":45,"tag":209,"props":3359,"children":3360},{"style":1314},[3361],{"type":59,"value":3362}," createBrowserRouter",{"type":45,"tag":209,"props":3364,"children":3365},{"style":238},[3366],{"type":59,"value":2184},{"type":45,"tag":209,"props":3368,"children":3369},{"style":1298},[3370],{"type":59,"value":2189},{"type":45,"tag":209,"props":3372,"children":3373},{"style":238},[3374],{"type":59,"value":1327},{"type":45,"tag":209,"props":3376,"children":3377},{"style":232},[3378],{"type":59,"value":808},{"type":45,"tag":209,"props":3380,"children":3381},{"style":238},[3382],{"type":59,"value":1336},{"type":45,"tag":209,"props":3384,"children":3385},{"style":238},[3386],{"type":59,"value":1341},{"type":45,"tag":209,"props":3388,"children":3389},{"class":211,"line":382},[3390],{"type":45,"tag":209,"props":3391,"children":3392},{"emptyLinePlaceholder":40},[3393],{"type":59,"value":275},{"type":45,"tag":209,"props":3395,"children":3396},{"class":211,"line":391},[3397],{"type":45,"tag":209,"props":3398,"children":3399},{"style":216},[3400],{"type":59,"value":3401},"\u002F\u002F Option A — createBrowserRouter (recommended for v6.4+):\n",{"type":45,"tag":209,"props":3403,"children":3404},{"class":211,"line":428},[3405,3410,3415,3420,3425,3429,3434,3439],{"type":45,"tag":209,"props":3406,"children":3407},{"style":2802},[3408],{"type":59,"value":3409},"const",{"type":45,"tag":209,"props":3411,"children":3412},{"style":1314},[3413],{"type":59,"value":3414}," sentryCreateBrowserRouter ",{"type":45,"tag":209,"props":3416,"children":3417},{"style":238},[3418],{"type":59,"value":3419},"=",{"type":45,"tag":209,"props":3421,"children":3422},{"style":1314},[3423],{"type":59,"value":3424}," Sentry",{"type":45,"tag":209,"props":3426,"children":3427},{"style":238},[3428],{"type":59,"value":1360},{"type":45,"tag":209,"props":3430,"children":3431},{"style":1363},[3432],{"type":59,"value":3433},"wrapCreateBrowserRouterV6",{"type":45,"tag":209,"props":3435,"children":3436},{"style":1314},[3437],{"type":59,"value":3438},"(createBrowserRouter)",{"type":45,"tag":209,"props":3440,"children":3441},{"style":238},[3442],{"type":59,"value":1341},{"type":45,"tag":209,"props":3444,"children":3445},{"class":211,"line":436},[3446,3450,3455,3459,3464,3469,3474,3479],{"type":45,"tag":209,"props":3447,"children":3448},{"style":2802},[3449],{"type":59,"value":3409},{"type":45,"tag":209,"props":3451,"children":3452},{"style":1314},[3453],{"type":59,"value":3454}," router ",{"type":45,"tag":209,"props":3456,"children":3457},{"style":238},[3458],{"type":59,"value":3419},{"type":45,"tag":209,"props":3460,"children":3461},{"style":1363},[3462],{"type":59,"value":3463}," sentryCreateBrowserRouter",{"type":45,"tag":209,"props":3465,"children":3466},{"style":1314},[3467],{"type":59,"value":3468},"([",{"type":45,"tag":209,"props":3470,"children":3471},{"style":238},[3472],{"type":59,"value":3473},"...",{"type":45,"tag":209,"props":3475,"children":3476},{"style":1314},[3477],{"type":59,"value":3478},"routes])",{"type":45,"tag":209,"props":3480,"children":3481},{"style":238},[3482],{"type":59,"value":1341},{"type":45,"tag":209,"props":3484,"children":3485},{"class":211,"line":445},[3486],{"type":45,"tag":209,"props":3487,"children":3488},{"emptyLinePlaceholder":40},[3489],{"type":59,"value":275},{"type":45,"tag":209,"props":3491,"children":3492},{"class":211,"line":484},[3493],{"type":45,"tag":209,"props":3494,"children":3495},{"style":216},[3496],{"type":59,"value":3497},"\u002F\u002F Option B — createBrowserRouter for React Router v7:\n",{"type":45,"tag":209,"props":3499,"children":3500},{"class":211,"line":521},[3501],{"type":45,"tag":209,"props":3502,"children":3503},{"style":216},[3504],{"type":59,"value":3505},"\u002F\u002F const sentryCreateBrowserRouter = Sentry.wrapCreateBrowserRouterV7(createBrowserRouter);\n",{"type":45,"tag":209,"props":3507,"children":3508},{"class":211,"line":529},[3509],{"type":45,"tag":209,"props":3510,"children":3511},{"emptyLinePlaceholder":40},[3512],{"type":59,"value":275},{"type":45,"tag":209,"props":3514,"children":3515},{"class":211,"line":538},[3516],{"type":45,"tag":209,"props":3517,"children":3518},{"style":216},[3519],{"type":59,"value":3520},"\u002F\u002F Option C — integration with hooks (v6 without data APIs):\n",{"type":45,"tag":209,"props":3522,"children":3523},{"class":211,"line":575},[3524,3528,3532,3536,3540],{"type":45,"tag":209,"props":3525,"children":3526},{"style":1314},[3527],{"type":59,"value":9},{"type":45,"tag":209,"props":3529,"children":3530},{"style":238},[3531],{"type":59,"value":1360},{"type":45,"tag":209,"props":3533,"children":3534},{"style":1363},[3535],{"type":59,"value":1366},{"type":45,"tag":209,"props":3537,"children":3538},{"style":1314},[3539],{"type":59,"value":1371},{"type":45,"tag":209,"props":3541,"children":3542},{"style":238},[3543],{"type":59,"value":1376},{"type":45,"tag":209,"props":3545,"children":3546},{"class":211,"line":583},[3547,3551,3555],{"type":45,"tag":209,"props":3548,"children":3549},{"style":1382},[3550],{"type":59,"value":1607},{"type":45,"tag":209,"props":3552,"children":3553},{"style":238},[3554],{"type":59,"value":1390},{"type":45,"tag":209,"props":3556,"children":3557},{"style":1314},[3558],{"type":59,"value":1616},{"type":45,"tag":209,"props":3560,"children":3561},{"class":211,"line":592},[3562,3567,3571],{"type":45,"tag":209,"props":3563,"children":3564},{"style":1363},[3565],{"type":59,"value":3566},"    reactRouterV6BrowserTracingIntegration",{"type":45,"tag":209,"props":3568,"children":3569},{"style":1314},[3570],{"type":59,"value":1371},{"type":45,"tag":209,"props":3572,"children":3573},{"style":238},[3574],{"type":59,"value":1376},{"type":45,"tag":209,"props":3576,"children":3577},{"class":211,"line":623},[3578,3583,3587,3592,3596,3600],{"type":45,"tag":209,"props":3579,"children":3580},{"style":1382},[3581],{"type":59,"value":3582},"      useEffect",{"type":45,"tag":209,"props":3584,"children":3585},{"style":238},[3586],{"type":59,"value":1390},{"type":45,"tag":209,"props":3588,"children":3589},{"style":1314},[3590],{"type":59,"value":3591}," React",{"type":45,"tag":209,"props":3593,"children":3594},{"style":238},[3595],{"type":59,"value":1360},{"type":45,"tag":209,"props":3597,"children":3598},{"style":1314},[3599],{"type":59,"value":2964},{"type":45,"tag":209,"props":3601,"children":3602},{"style":238},[3603],{"type":59,"value":1478},{"type":45,"tag":209,"props":3605,"children":3606},{"class":211,"line":1747},[3607,3612],{"type":45,"tag":209,"props":3608,"children":3609},{"style":1314},[3610],{"type":59,"value":3611},"      useLocation",{"type":45,"tag":209,"props":3613,"children":3614},{"style":238},[3615],{"type":59,"value":1478},{"type":45,"tag":209,"props":3617,"children":3618},{"class":211,"line":1756},[3619,3624],{"type":45,"tag":209,"props":3620,"children":3621},{"style":1314},[3622],{"type":59,"value":3623},"      useNavigationType",{"type":45,"tag":209,"props":3625,"children":3626},{"style":238},[3627],{"type":59,"value":1478},{"type":45,"tag":209,"props":3629,"children":3630},{"class":211,"line":1784},[3631,3636],{"type":45,"tag":209,"props":3632,"children":3633},{"style":1314},[3634],{"type":59,"value":3635},"      matchRoutes",{"type":45,"tag":209,"props":3637,"children":3638},{"style":238},[3639],{"type":59,"value":1478},{"type":45,"tag":209,"props":3641,"children":3642},{"class":211,"line":1868},[3643,3648],{"type":45,"tag":209,"props":3644,"children":3645},{"style":1314},[3646],{"type":59,"value":3647},"      createRoutesFromChildren",{"type":45,"tag":209,"props":3649,"children":3650},{"style":238},[3651],{"type":59,"value":1478},{"type":45,"tag":209,"props":3653,"children":3654},{"class":211,"line":1876},[3655,3659,3663],{"type":45,"tag":209,"props":3656,"children":3657},{"style":238},[3658],{"type":59,"value":1716},{"type":45,"tag":209,"props":3660,"children":3661},{"style":1314},[3662],{"type":59,"value":1721},{"type":45,"tag":209,"props":3664,"children":3665},{"style":238},[3666],{"type":59,"value":1478},{"type":45,"tag":209,"props":3668,"children":3669},{"class":211,"line":1885},[3670,3674],{"type":45,"tag":209,"props":3671,"children":3672},{"style":1314},[3673],{"type":59,"value":1733},{"type":45,"tag":209,"props":3675,"children":3676},{"style":238},[3677],{"type":59,"value":1478},{"type":45,"tag":209,"props":3679,"children":3680},{"class":211,"line":1907},[3681,3685,3689],{"type":45,"tag":209,"props":3682,"children":3683},{"style":238},[3684],{"type":59,"value":1962},{"type":45,"tag":209,"props":3686,"children":3687},{"style":1314},[3688],{"type":59,"value":1721},{"type":45,"tag":209,"props":3690,"children":3691},{"style":238},[3692],{"type":59,"value":1341},{"type":45,"tag":50,"props":3694,"children":3695},{},[3696],{"type":45,"tag":129,"props":3697,"children":3698},{},[3699],{"type":59,"value":3700},"TanStack Router setup:",{"type":45,"tag":198,"props":3702,"children":3704},{"className":1286,"code":3703,"language":1288,"meta":203,"style":203},"import { tanstackRouterBrowserTracingIntegration } from \"@sentry\u002Freact\";\n\n\u002F\u002F Pass your TanStack router instance:\nSentry.init({\n  integrations: [tanstackRouterBrowserTracingIntegration(router)],\n});\n",[3705],{"type":45,"tag":110,"props":3706,"children":3707},{"__ignoreMap":203},[3708,3748,3755,3763,3786,3815],{"type":45,"tag":209,"props":3709,"children":3710},{"class":211,"line":212},[3711,3715,3719,3724,3728,3732,3736,3740,3744],{"type":45,"tag":209,"props":3712,"children":3713},{"style":1298},[3714],{"type":59,"value":1301},{"type":45,"tag":209,"props":3716,"children":3717},{"style":238},[3718],{"type":59,"value":2174},{"type":45,"tag":209,"props":3720,"children":3721},{"style":1314},[3722],{"type":59,"value":3723}," tanstackRouterBrowserTracingIntegration",{"type":45,"tag":209,"props":3725,"children":3726},{"style":238},[3727],{"type":59,"value":2184},{"type":45,"tag":209,"props":3729,"children":3730},{"style":1298},[3731],{"type":59,"value":2189},{"type":45,"tag":209,"props":3733,"children":3734},{"style":238},[3735],{"type":59,"value":1327},{"type":45,"tag":209,"props":3737,"children":3738},{"style":232},[3739],{"type":59,"value":115},{"type":45,"tag":209,"props":3741,"children":3742},{"style":238},[3743],{"type":59,"value":1336},{"type":45,"tag":209,"props":3745,"children":3746},{"style":238},[3747],{"type":59,"value":1341},{"type":45,"tag":209,"props":3749,"children":3750},{"class":211,"line":222},[3751],{"type":45,"tag":209,"props":3752,"children":3753},{"emptyLinePlaceholder":40},[3754],{"type":59,"value":275},{"type":45,"tag":209,"props":3756,"children":3757},{"class":211,"line":269},[3758],{"type":45,"tag":209,"props":3759,"children":3760},{"style":216},[3761],{"type":59,"value":3762},"\u002F\u002F Pass your TanStack router instance:\n",{"type":45,"tag":209,"props":3764,"children":3765},{"class":211,"line":278},[3766,3770,3774,3778,3782],{"type":45,"tag":209,"props":3767,"children":3768},{"style":1314},[3769],{"type":59,"value":9},{"type":45,"tag":209,"props":3771,"children":3772},{"style":238},[3773],{"type":59,"value":1360},{"type":45,"tag":209,"props":3775,"children":3776},{"style":1363},[3777],{"type":59,"value":1366},{"type":45,"tag":209,"props":3779,"children":3780},{"style":1314},[3781],{"type":59,"value":1371},{"type":45,"tag":209,"props":3783,"children":3784},{"style":238},[3785],{"type":59,"value":1376},{"type":45,"tag":209,"props":3787,"children":3788},{"class":211,"line":287},[3789,3793,3797,3801,3806,3811],{"type":45,"tag":209,"props":3790,"children":3791},{"style":1382},[3792],{"type":59,"value":1607},{"type":45,"tag":209,"props":3794,"children":3795},{"style":238},[3796],{"type":59,"value":1390},{"type":45,"tag":209,"props":3798,"children":3799},{"style":1314},[3800],{"type":59,"value":1799},{"type":45,"tag":209,"props":3802,"children":3803},{"style":1363},[3804],{"type":59,"value":3805},"tanstackRouterBrowserTracingIntegration",{"type":45,"tag":209,"props":3807,"children":3808},{"style":1314},[3809],{"type":59,"value":3810},"(router)]",{"type":45,"tag":209,"props":3812,"children":3813},{"style":238},[3814],{"type":59,"value":1478},{"type":45,"tag":209,"props":3816,"children":3817},{"class":211,"line":320},[3818,3822,3826],{"type":45,"tag":209,"props":3819,"children":3820},{"style":238},[3821],{"type":59,"value":1962},{"type":45,"tag":209,"props":3823,"children":3824},{"style":1314},[3825],{"type":59,"value":1721},{"type":45,"tag":209,"props":3827,"children":3828},{"style":238},[3829],{"type":59,"value":1341},{"type":45,"tag":1216,"props":3831,"children":3833},{"id":3832},"redux-integration-when-detected",[3834],{"type":59,"value":3835},"Redux Integration (when detected)",{"type":45,"tag":198,"props":3837,"children":3839},{"className":1286,"code":3838,"language":1288,"meta":203,"style":203},"import * as Sentry from \"@sentry\u002Freact\";\nimport { configureStore } from \"@reduxjs\u002Ftoolkit\";\n\nconst store = configureStore({\n  reducer: rootReducer,\n  enhancers: (getDefaultEnhancers) =>\n    getDefaultEnhancers().concat(Sentry.createReduxEnhancer()),\n});\n",[3840],{"type":45,"tag":110,"props":3841,"children":3842},{"__ignoreMap":203},[3843,3882,3923,3930,3958,3979,4011,4055],{"type":45,"tag":209,"props":3844,"children":3845},{"class":211,"line":212},[3846,3850,3854,3858,3862,3866,3870,3874,3878],{"type":45,"tag":209,"props":3847,"children":3848},{"style":1298},[3849],{"type":59,"value":1301},{"type":45,"tag":209,"props":3851,"children":3852},{"style":238},[3853],{"type":59,"value":1306},{"type":45,"tag":209,"props":3855,"children":3856},{"style":1298},[3857],{"type":59,"value":1311},{"type":45,"tag":209,"props":3859,"children":3860},{"style":1314},[3861],{"type":59,"value":1317},{"type":45,"tag":209,"props":3863,"children":3864},{"style":1298},[3865],{"type":59,"value":1322},{"type":45,"tag":209,"props":3867,"children":3868},{"style":238},[3869],{"type":59,"value":1327},{"type":45,"tag":209,"props":3871,"children":3872},{"style":232},[3873],{"type":59,"value":115},{"type":45,"tag":209,"props":3875,"children":3876},{"style":238},[3877],{"type":59,"value":1336},{"type":45,"tag":209,"props":3879,"children":3880},{"style":238},[3881],{"type":59,"value":1341},{"type":45,"tag":209,"props":3883,"children":3884},{"class":211,"line":222},[3885,3889,3893,3898,3902,3906,3910,3915,3919],{"type":45,"tag":209,"props":3886,"children":3887},{"style":1298},[3888],{"type":59,"value":1301},{"type":45,"tag":209,"props":3890,"children":3891},{"style":238},[3892],{"type":59,"value":2174},{"type":45,"tag":209,"props":3894,"children":3895},{"style":1314},[3896],{"type":59,"value":3897}," configureStore",{"type":45,"tag":209,"props":3899,"children":3900},{"style":238},[3901],{"type":59,"value":2184},{"type":45,"tag":209,"props":3903,"children":3904},{"style":1298},[3905],{"type":59,"value":2189},{"type":45,"tag":209,"props":3907,"children":3908},{"style":238},[3909],{"type":59,"value":1327},{"type":45,"tag":209,"props":3911,"children":3912},{"style":232},[3913],{"type":59,"value":3914},"@reduxjs\u002Ftoolkit",{"type":45,"tag":209,"props":3916,"children":3917},{"style":238},[3918],{"type":59,"value":1336},{"type":45,"tag":209,"props":3920,"children":3921},{"style":238},[3922],{"type":59,"value":1341},{"type":45,"tag":209,"props":3924,"children":3925},{"class":211,"line":269},[3926],{"type":45,"tag":209,"props":3927,"children":3928},{"emptyLinePlaceholder":40},[3929],{"type":59,"value":275},{"type":45,"tag":209,"props":3931,"children":3932},{"class":211,"line":278},[3933,3937,3942,3946,3950,3954],{"type":45,"tag":209,"props":3934,"children":3935},{"style":2802},[3936],{"type":59,"value":3409},{"type":45,"tag":209,"props":3938,"children":3939},{"style":1314},[3940],{"type":59,"value":3941}," store ",{"type":45,"tag":209,"props":3943,"children":3944},{"style":238},[3945],{"type":59,"value":3419},{"type":45,"tag":209,"props":3947,"children":3948},{"style":1363},[3949],{"type":59,"value":3897},{"type":45,"tag":209,"props":3951,"children":3952},{"style":1314},[3953],{"type":59,"value":1371},{"type":45,"tag":209,"props":3955,"children":3956},{"style":238},[3957],{"type":59,"value":1376},{"type":45,"tag":209,"props":3959,"children":3960},{"class":211,"line":287},[3961,3966,3970,3975],{"type":45,"tag":209,"props":3962,"children":3963},{"style":1382},[3964],{"type":59,"value":3965},"  reducer",{"type":45,"tag":209,"props":3967,"children":3968},{"style":238},[3969],{"type":59,"value":1390},{"type":45,"tag":209,"props":3971,"children":3972},{"style":1314},[3973],{"type":59,"value":3974}," rootReducer",{"type":45,"tag":209,"props":3976,"children":3977},{"style":238},[3978],{"type":59,"value":1478},{"type":45,"tag":209,"props":3980,"children":3981},{"class":211,"line":320},[3982,3987,3991,3996,4002,4006],{"type":45,"tag":209,"props":3983,"children":3984},{"style":1363},[3985],{"type":59,"value":3986},"  enhancers",{"type":45,"tag":209,"props":3988,"children":3989},{"style":238},[3990],{"type":59,"value":1390},{"type":45,"tag":209,"props":3992,"children":3993},{"style":238},[3994],{"type":59,"value":3995}," (",{"type":45,"tag":209,"props":3997,"children":3999},{"style":3998},"--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#EEFFFF;--shiki-default-font-style:italic;--shiki-dark:#BABED8;--shiki-dark-font-style:italic",[4000],{"type":59,"value":4001},"getDefaultEnhancers",{"type":45,"tag":209,"props":4003,"children":4004},{"style":238},[4005],{"type":59,"value":1721},{"type":45,"tag":209,"props":4007,"children":4008},{"style":2802},[4009],{"type":59,"value":4010}," =>\n",{"type":45,"tag":209,"props":4012,"children":4013},{"class":211,"line":328},[4014,4019,4023,4027,4032,4037,4041,4046,4051],{"type":45,"tag":209,"props":4015,"children":4016},{"style":1363},[4017],{"type":59,"value":4018},"    getDefaultEnhancers",{"type":45,"tag":209,"props":4020,"children":4021},{"style":1314},[4022],{"type":59,"value":1638},{"type":45,"tag":209,"props":4024,"children":4025},{"style":238},[4026],{"type":59,"value":1360},{"type":45,"tag":209,"props":4028,"children":4029},{"style":1363},[4030],{"type":59,"value":4031},"concat",{"type":45,"tag":209,"props":4033,"children":4034},{"style":1314},[4035],{"type":59,"value":4036},"(Sentry",{"type":45,"tag":209,"props":4038,"children":4039},{"style":238},[4040],{"type":59,"value":1360},{"type":45,"tag":209,"props":4042,"children":4043},{"style":1363},[4044],{"type":59,"value":4045},"createReduxEnhancer",{"type":45,"tag":209,"props":4047,"children":4048},{"style":1314},[4049],{"type":59,"value":4050},"())",{"type":45,"tag":209,"props":4052,"children":4053},{"style":238},[4054],{"type":59,"value":1478},{"type":45,"tag":209,"props":4056,"children":4057},{"class":211,"line":337},[4058,4062,4066],{"type":45,"tag":209,"props":4059,"children":4060},{"style":238},[4061],{"type":59,"value":1962},{"type":45,"tag":209,"props":4063,"children":4064},{"style":1314},[4065],{"type":59,"value":1721},{"type":45,"tag":209,"props":4067,"children":4068},{"style":238},[4069],{"type":59,"value":1341},{"type":45,"tag":1216,"props":4071,"children":4073},{"id":4072},"source-maps-setup-strongly-recommended",[4074],{"type":59,"value":4075},"Source Maps Setup (strongly recommended)",{"type":45,"tag":50,"props":4077,"children":4078},{},[4079],{"type":59,"value":4080},"Without source maps, stack traces show minified code. Set up the build plugin to upload source maps automatically:",{"type":45,"tag":50,"props":4082,"children":4083},{},[4084],{"type":45,"tag":129,"props":4085,"children":4086},{},[4087,4089,4095],{"type":59,"value":4088},"Vite (",{"type":45,"tag":110,"props":4090,"children":4092},{"className":4091},[],[4093],{"type":59,"value":4094},"vite.config.ts",{"type":59,"value":4096},"):",{"type":45,"tag":198,"props":4098,"children":4100},{"className":1286,"code":4099,"language":1288,"meta":203,"style":203},"import { defineConfig } from \"vite\";\nimport react from \"@vitejs\u002Fplugin-react\";\nimport { sentryVitePlugin } from \"@sentry\u002Fvite-plugin\";\n\nexport default defineConfig({\n  build: { sourcemap: \"hidden\" },\n  plugins: [\n    react(),\n    sentryVitePlugin({\n      org: process.env.SENTRY_ORG,\n      project: process.env.SENTRY_PROJECT,\n      authToken: process.env.SENTRY_AUTH_TOKEN,\n    }),\n  ],\n});\n",[4101],{"type":45,"tag":110,"props":4102,"children":4103},{"__ignoreMap":203},[4104,4145,4178,4219,4226,4251,4294,4310,4326,4342,4380,4417,4454,4469,4480],{"type":45,"tag":209,"props":4105,"children":4106},{"class":211,"line":212},[4107,4111,4115,4120,4124,4128,4132,4137,4141],{"type":45,"tag":209,"props":4108,"children":4109},{"style":1298},[4110],{"type":59,"value":1301},{"type":45,"tag":209,"props":4112,"children":4113},{"style":238},[4114],{"type":59,"value":2174},{"type":45,"tag":209,"props":4116,"children":4117},{"style":1314},[4118],{"type":59,"value":4119}," defineConfig",{"type":45,"tag":209,"props":4121,"children":4122},{"style":238},[4123],{"type":59,"value":2184},{"type":45,"tag":209,"props":4125,"children":4126},{"style":1298},[4127],{"type":59,"value":2189},{"type":45,"tag":209,"props":4129,"children":4130},{"style":238},[4131],{"type":59,"value":1327},{"type":45,"tag":209,"props":4133,"children":4134},{"style":232},[4135],{"type":59,"value":4136},"vite",{"type":45,"tag":209,"props":4138,"children":4139},{"style":238},[4140],{"type":59,"value":1336},{"type":45,"tag":209,"props":4142,"children":4143},{"style":238},[4144],{"type":59,"value":1341},{"type":45,"tag":209,"props":4146,"children":4147},{"class":211,"line":222},[4148,4152,4157,4161,4165,4170,4174],{"type":45,"tag":209,"props":4149,"children":4150},{"style":1298},[4151],{"type":59,"value":1301},{"type":45,"tag":209,"props":4153,"children":4154},{"style":1314},[4155],{"type":59,"value":4156}," react ",{"type":45,"tag":209,"props":4158,"children":4159},{"style":1298},[4160],{"type":59,"value":1322},{"type":45,"tag":209,"props":4162,"children":4163},{"style":238},[4164],{"type":59,"value":1327},{"type":45,"tag":209,"props":4166,"children":4167},{"style":232},[4168],{"type":59,"value":4169},"@vitejs\u002Fplugin-react",{"type":45,"tag":209,"props":4171,"children":4172},{"style":238},[4173],{"type":59,"value":1336},{"type":45,"tag":209,"props":4175,"children":4176},{"style":238},[4177],{"type":59,"value":1341},{"type":45,"tag":209,"props":4179,"children":4180},{"class":211,"line":269},[4181,4185,4189,4194,4198,4202,4206,4211,4215],{"type":45,"tag":209,"props":4182,"children":4183},{"style":1298},[4184],{"type":59,"value":1301},{"type":45,"tag":209,"props":4186,"children":4187},{"style":238},[4188],{"type":59,"value":2174},{"type":45,"tag":209,"props":4190,"children":4191},{"style":1314},[4192],{"type":59,"value":4193}," sentryVitePlugin",{"type":45,"tag":209,"props":4195,"children":4196},{"style":238},[4197],{"type":59,"value":2184},{"type":45,"tag":209,"props":4199,"children":4200},{"style":1298},[4201],{"type":59,"value":2189},{"type":45,"tag":209,"props":4203,"children":4204},{"style":238},[4205],{"type":59,"value":1327},{"type":45,"tag":209,"props":4207,"children":4208},{"style":232},[4209],{"type":59,"value":4210},"@sentry\u002Fvite-plugin",{"type":45,"tag":209,"props":4212,"children":4213},{"style":238},[4214],{"type":59,"value":1336},{"type":45,"tag":209,"props":4216,"children":4217},{"style":238},[4218],{"type":59,"value":1341},{"type":45,"tag":209,"props":4220,"children":4221},{"class":211,"line":278},[4222],{"type":45,"tag":209,"props":4223,"children":4224},{"emptyLinePlaceholder":40},[4225],{"type":59,"value":275},{"type":45,"tag":209,"props":4227,"children":4228},{"class":211,"line":287},[4229,4234,4239,4243,4247],{"type":45,"tag":209,"props":4230,"children":4231},{"style":1298},[4232],{"type":59,"value":4233},"export",{"type":45,"tag":209,"props":4235,"children":4236},{"style":1298},[4237],{"type":59,"value":4238}," default",{"type":45,"tag":209,"props":4240,"children":4241},{"style":1363},[4242],{"type":59,"value":4119},{"type":45,"tag":209,"props":4244,"children":4245},{"style":1314},[4246],{"type":59,"value":1371},{"type":45,"tag":209,"props":4248,"children":4249},{"style":238},[4250],{"type":59,"value":1376},{"type":45,"tag":209,"props":4252,"children":4253},{"class":211,"line":320},[4254,4259,4263,4267,4272,4276,4280,4285,4289],{"type":45,"tag":209,"props":4255,"children":4256},{"style":1382},[4257],{"type":59,"value":4258},"  build",{"type":45,"tag":209,"props":4260,"children":4261},{"style":238},[4262],{"type":59,"value":1390},{"type":45,"tag":209,"props":4264,"children":4265},{"style":238},[4266],{"type":59,"value":2174},{"type":45,"tag":209,"props":4268,"children":4269},{"style":1382},[4270],{"type":59,"value":4271}," sourcemap",{"type":45,"tag":209,"props":4273,"children":4274},{"style":238},[4275],{"type":59,"value":1390},{"type":45,"tag":209,"props":4277,"children":4278},{"style":238},[4279],{"type":59,"value":1327},{"type":45,"tag":209,"props":4281,"children":4282},{"style":232},[4283],{"type":59,"value":4284},"hidden",{"type":45,"tag":209,"props":4286,"children":4287},{"style":238},[4288],{"type":59,"value":1336},{"type":45,"tag":209,"props":4290,"children":4291},{"style":238},[4292],{"type":59,"value":4293}," },\n",{"type":45,"tag":209,"props":4295,"children":4296},{"class":211,"line":328},[4297,4302,4306],{"type":45,"tag":209,"props":4298,"children":4299},{"style":1382},[4300],{"type":59,"value":4301},"  plugins",{"type":45,"tag":209,"props":4303,"children":4304},{"style":238},[4305],{"type":59,"value":1390},{"type":45,"tag":209,"props":4307,"children":4308},{"style":1314},[4309],{"type":59,"value":1616},{"type":45,"tag":209,"props":4311,"children":4312},{"class":211,"line":337},[4313,4318,4322],{"type":45,"tag":209,"props":4314,"children":4315},{"style":1363},[4316],{"type":59,"value":4317},"    react",{"type":45,"tag":209,"props":4319,"children":4320},{"style":1314},[4321],{"type":59,"value":1638},{"type":45,"tag":209,"props":4323,"children":4324},{"style":238},[4325],{"type":59,"value":1478},{"type":45,"tag":209,"props":4327,"children":4328},{"class":211,"line":374},[4329,4334,4338],{"type":45,"tag":209,"props":4330,"children":4331},{"style":1363},[4332],{"type":59,"value":4333},"    sentryVitePlugin",{"type":45,"tag":209,"props":4335,"children":4336},{"style":1314},[4337],{"type":59,"value":1371},{"type":45,"tag":209,"props":4339,"children":4340},{"style":238},[4341],{"type":59,"value":1376},{"type":45,"tag":209,"props":4343,"children":4344},{"class":211,"line":382},[4345,4350,4354,4359,4363,4367,4371,4376],{"type":45,"tag":209,"props":4346,"children":4347},{"style":1382},[4348],{"type":59,"value":4349},"      org",{"type":45,"tag":209,"props":4351,"children":4352},{"style":238},[4353],{"type":59,"value":1390},{"type":45,"tag":209,"props":4355,"children":4356},{"style":1314},[4357],{"type":59,"value":4358}," process",{"type":45,"tag":209,"props":4360,"children":4361},{"style":238},[4362],{"type":59,"value":1360},{"type":45,"tag":209,"props":4364,"children":4365},{"style":1314},[4366],{"type":59,"value":1413},{"type":45,"tag":209,"props":4368,"children":4369},{"style":238},[4370],{"type":59,"value":1360},{"type":45,"tag":209,"props":4372,"children":4373},{"style":1314},[4374],{"type":59,"value":4375},"SENTRY_ORG",{"type":45,"tag":209,"props":4377,"children":4378},{"style":238},[4379],{"type":59,"value":1478},{"type":45,"tag":209,"props":4381,"children":4382},{"class":211,"line":391},[4383,4388,4392,4396,4400,4404,4408,4413],{"type":45,"tag":209,"props":4384,"children":4385},{"style":1382},[4386],{"type":59,"value":4387},"      project",{"type":45,"tag":209,"props":4389,"children":4390},{"style":238},[4391],{"type":59,"value":1390},{"type":45,"tag":209,"props":4393,"children":4394},{"style":1314},[4395],{"type":59,"value":4358},{"type":45,"tag":209,"props":4397,"children":4398},{"style":238},[4399],{"type":59,"value":1360},{"type":45,"tag":209,"props":4401,"children":4402},{"style":1314},[4403],{"type":59,"value":1413},{"type":45,"tag":209,"props":4405,"children":4406},{"style":238},[4407],{"type":59,"value":1360},{"type":45,"tag":209,"props":4409,"children":4410},{"style":1314},[4411],{"type":59,"value":4412},"SENTRY_PROJECT",{"type":45,"tag":209,"props":4414,"children":4415},{"style":238},[4416],{"type":59,"value":1478},{"type":45,"tag":209,"props":4418,"children":4419},{"class":211,"line":428},[4420,4425,4429,4433,4437,4441,4445,4450],{"type":45,"tag":209,"props":4421,"children":4422},{"style":1382},[4423],{"type":59,"value":4424},"      authToken",{"type":45,"tag":209,"props":4426,"children":4427},{"style":238},[4428],{"type":59,"value":1390},{"type":45,"tag":209,"props":4430,"children":4431},{"style":1314},[4432],{"type":59,"value":4358},{"type":45,"tag":209,"props":4434,"children":4435},{"style":238},[4436],{"type":59,"value":1360},{"type":45,"tag":209,"props":4438,"children":4439},{"style":1314},[4440],{"type":59,"value":1413},{"type":45,"tag":209,"props":4442,"children":4443},{"style":238},[4444],{"type":59,"value":1360},{"type":45,"tag":209,"props":4446,"children":4447},{"style":1314},[4448],{"type":59,"value":4449},"SENTRY_AUTH_TOKEN",{"type":45,"tag":209,"props":4451,"children":4452},{"style":238},[4453],{"type":59,"value":1478},{"type":45,"tag":209,"props":4455,"children":4456},{"class":211,"line":436},[4457,4461,4465],{"type":45,"tag":209,"props":4458,"children":4459},{"style":238},[4460],{"type":59,"value":1716},{"type":45,"tag":209,"props":4462,"children":4463},{"style":1314},[4464],{"type":59,"value":1721},{"type":45,"tag":209,"props":4466,"children":4467},{"style":238},[4468],{"type":59,"value":1478},{"type":45,"tag":209,"props":4470,"children":4471},{"class":211,"line":445},[4472,4476],{"type":45,"tag":209,"props":4473,"children":4474},{"style":1314},[4475],{"type":59,"value":1733},{"type":45,"tag":209,"props":4477,"children":4478},{"style":238},[4479],{"type":59,"value":1478},{"type":45,"tag":209,"props":4481,"children":4482},{"class":211,"line":484},[4483,4487,4491],{"type":45,"tag":209,"props":4484,"children":4485},{"style":238},[4486],{"type":59,"value":1962},{"type":45,"tag":209,"props":4488,"children":4489},{"style":1314},[4490],{"type":59,"value":1721},{"type":45,"tag":209,"props":4492,"children":4493},{"style":238},[4494],{"type":59,"value":1341},{"type":45,"tag":50,"props":4496,"children":4497},{},[4498],{"type":45,"tag":129,"props":4499,"children":4500},{},[4501],{"type":59,"value":4502},"Create React App (via CRACO):",{"type":45,"tag":198,"props":4504,"children":4506},{"className":200,"code":4505,"language":202,"meta":203,"style":203},"npm install @craco\u002Fcraco @sentry\u002Fwebpack-plugin --save-dev\n",[4507],{"type":45,"tag":110,"props":4508,"children":4509},{"__ignoreMap":203},[4510],{"type":45,"tag":209,"props":4511,"children":4512},{"class":211,"line":212},[4513,4517,4521,4526,4531],{"type":45,"tag":209,"props":4514,"children":4515},{"style":226},[4516],{"type":59,"value":1236},{"type":45,"tag":209,"props":4518,"children":4519},{"style":232},[4520],{"type":59,"value":1241},{"type":45,"tag":209,"props":4522,"children":4523},{"style":232},[4524],{"type":59,"value":4525}," @craco\u002Fcraco",{"type":45,"tag":209,"props":4527,"children":4528},{"style":232},[4529],{"type":59,"value":4530}," @sentry\u002Fwebpack-plugin",{"type":45,"tag":209,"props":4532,"children":4533},{"style":232},[4534],{"type":59,"value":4535}," --save-dev\n",{"type":45,"tag":198,"props":4537,"children":4541},{"className":4538,"code":4539,"language":4540,"meta":203,"style":203},"language-javascript shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","\u002F\u002F craco.config.js\nconst { sentryWebpackPlugin } = require(\"@sentry\u002Fwebpack-plugin\");\n\nmodule.exports = {\n  webpack: {\n    plugins: {\n      add: [\n        sentryWebpackPlugin({\n          org: process.env.SENTRY_ORG,\n          project: process.env.SENTRY_PROJECT,\n          authToken: process.env.SENTRY_AUTH_TOKEN,\n        }),\n      ],\n    },\n  },\n};\n","javascript",[4542],{"type":45,"tag":110,"props":4543,"children":4544},{"__ignoreMap":203},[4545,4553,4607,4614,4630,4646,4662,4678,4694,4730,4766,4802,4818,4830,4838,4845],{"type":45,"tag":209,"props":4546,"children":4547},{"class":211,"line":212},[4548],{"type":45,"tag":209,"props":4549,"children":4550},{"style":216},[4551],{"type":59,"value":4552},"\u002F\u002F craco.config.js\n",{"type":45,"tag":209,"props":4554,"children":4555},{"class":211,"line":222},[4556,4560,4564,4569,4573,4578,4583,4587,4591,4595,4599,4603],{"type":45,"tag":209,"props":4557,"children":4558},{"style":2802},[4559],{"type":59,"value":3409},{"type":45,"tag":209,"props":4561,"children":4562},{"style":238},[4563],{"type":59,"value":2174},{"type":45,"tag":209,"props":4565,"children":4566},{"style":1314},[4567],{"type":59,"value":4568}," sentryWebpackPlugin ",{"type":45,"tag":209,"props":4570,"children":4571},{"style":238},[4572],{"type":59,"value":1962},{"type":45,"tag":209,"props":4574,"children":4575},{"style":238},[4576],{"type":59,"value":4577}," =",{"type":45,"tag":209,"props":4579,"children":4580},{"style":1363},[4581],{"type":59,"value":4582}," require",{"type":45,"tag":209,"props":4584,"children":4585},{"style":1314},[4586],{"type":59,"value":1371},{"type":45,"tag":209,"props":4588,"children":4589},{"style":238},[4590],{"type":59,"value":1336},{"type":45,"tag":209,"props":4592,"children":4593},{"style":232},[4594],{"type":59,"value":902},{"type":45,"tag":209,"props":4596,"children":4597},{"style":238},[4598],{"type":59,"value":1336},{"type":45,"tag":209,"props":4600,"children":4601},{"style":1314},[4602],{"type":59,"value":1721},{"type":45,"tag":209,"props":4604,"children":4605},{"style":238},[4606],{"type":59,"value":1341},{"type":45,"tag":209,"props":4608,"children":4609},{"class":211,"line":269},[4610],{"type":45,"tag":209,"props":4611,"children":4612},{"emptyLinePlaceholder":40},[4613],{"type":59,"value":275},{"type":45,"tag":209,"props":4615,"children":4616},{"class":211,"line":278},[4617,4622,4626],{"type":45,"tag":209,"props":4618,"children":4619},{"style":238},[4620],{"type":59,"value":4621},"module.exports",{"type":45,"tag":209,"props":4623,"children":4624},{"style":238},[4625],{"type":59,"value":4577},{"type":45,"tag":209,"props":4627,"children":4628},{"style":238},[4629],{"type":59,"value":1552},{"type":45,"tag":209,"props":4631,"children":4632},{"class":211,"line":287},[4633,4638,4642],{"type":45,"tag":209,"props":4634,"children":4635},{"style":1382},[4636],{"type":59,"value":4637},"  webpack",{"type":45,"tag":209,"props":4639,"children":4640},{"style":238},[4641],{"type":59,"value":1390},{"type":45,"tag":209,"props":4643,"children":4644},{"style":238},[4645],{"type":59,"value":1552},{"type":45,"tag":209,"props":4647,"children":4648},{"class":211,"line":320},[4649,4654,4658],{"type":45,"tag":209,"props":4650,"children":4651},{"style":1382},[4652],{"type":59,"value":4653},"    plugins",{"type":45,"tag":209,"props":4655,"children":4656},{"style":238},[4657],{"type":59,"value":1390},{"type":45,"tag":209,"props":4659,"children":4660},{"style":238},[4661],{"type":59,"value":1552},{"type":45,"tag":209,"props":4663,"children":4664},{"class":211,"line":328},[4665,4670,4674],{"type":45,"tag":209,"props":4666,"children":4667},{"style":1382},[4668],{"type":59,"value":4669},"      add",{"type":45,"tag":209,"props":4671,"children":4672},{"style":238},[4673],{"type":59,"value":1390},{"type":45,"tag":209,"props":4675,"children":4676},{"style":1314},[4677],{"type":59,"value":1616},{"type":45,"tag":209,"props":4679,"children":4680},{"class":211,"line":337},[4681,4686,4690],{"type":45,"tag":209,"props":4682,"children":4683},{"style":1363},[4684],{"type":59,"value":4685},"        sentryWebpackPlugin",{"type":45,"tag":209,"props":4687,"children":4688},{"style":1314},[4689],{"type":59,"value":1371},{"type":45,"tag":209,"props":4691,"children":4692},{"style":238},[4693],{"type":59,"value":1376},{"type":45,"tag":209,"props":4695,"children":4696},{"class":211,"line":374},[4697,4702,4706,4710,4714,4718,4722,4726],{"type":45,"tag":209,"props":4698,"children":4699},{"style":1382},[4700],{"type":59,"value":4701},"          org",{"type":45,"tag":209,"props":4703,"children":4704},{"style":238},[4705],{"type":59,"value":1390},{"type":45,"tag":209,"props":4707,"children":4708},{"style":1314},[4709],{"type":59,"value":4358},{"type":45,"tag":209,"props":4711,"children":4712},{"style":238},[4713],{"type":59,"value":1360},{"type":45,"tag":209,"props":4715,"children":4716},{"style":1314},[4717],{"type":59,"value":1413},{"type":45,"tag":209,"props":4719,"children":4720},{"style":238},[4721],{"type":59,"value":1360},{"type":45,"tag":209,"props":4723,"children":4724},{"style":1314},[4725],{"type":59,"value":4375},{"type":45,"tag":209,"props":4727,"children":4728},{"style":238},[4729],{"type":59,"value":1478},{"type":45,"tag":209,"props":4731,"children":4732},{"class":211,"line":382},[4733,4738,4742,4746,4750,4754,4758,4762],{"type":45,"tag":209,"props":4734,"children":4735},{"style":1382},[4736],{"type":59,"value":4737},"          project",{"type":45,"tag":209,"props":4739,"children":4740},{"style":238},[4741],{"type":59,"value":1390},{"type":45,"tag":209,"props":4743,"children":4744},{"style":1314},[4745],{"type":59,"value":4358},{"type":45,"tag":209,"props":4747,"children":4748},{"style":238},[4749],{"type":59,"value":1360},{"type":45,"tag":209,"props":4751,"children":4752},{"style":1314},[4753],{"type":59,"value":1413},{"type":45,"tag":209,"props":4755,"children":4756},{"style":238},[4757],{"type":59,"value":1360},{"type":45,"tag":209,"props":4759,"children":4760},{"style":1314},[4761],{"type":59,"value":4412},{"type":45,"tag":209,"props":4763,"children":4764},{"style":238},[4765],{"type":59,"value":1478},{"type":45,"tag":209,"props":4767,"children":4768},{"class":211,"line":391},[4769,4774,4778,4782,4786,4790,4794,4798],{"type":45,"tag":209,"props":4770,"children":4771},{"style":1382},[4772],{"type":59,"value":4773},"          authToken",{"type":45,"tag":209,"props":4775,"children":4776},{"style":238},[4777],{"type":59,"value":1390},{"type":45,"tag":209,"props":4779,"children":4780},{"style":1314},[4781],{"type":59,"value":4358},{"type":45,"tag":209,"props":4783,"children":4784},{"style":238},[4785],{"type":59,"value":1360},{"type":45,"tag":209,"props":4787,"children":4788},{"style":1314},[4789],{"type":59,"value":1413},{"type":45,"tag":209,"props":4791,"children":4792},{"style":238},[4793],{"type":59,"value":1360},{"type":45,"tag":209,"props":4795,"children":4796},{"style":1314},[4797],{"type":59,"value":4449},{"type":45,"tag":209,"props":4799,"children":4800},{"style":238},[4801],{"type":59,"value":1478},{"type":45,"tag":209,"props":4803,"children":4804},{"class":211,"line":428},[4805,4810,4814],{"type":45,"tag":209,"props":4806,"children":4807},{"style":238},[4808],{"type":59,"value":4809},"        }",{"type":45,"tag":209,"props":4811,"children":4812},{"style":1314},[4813],{"type":59,"value":1721},{"type":45,"tag":209,"props":4815,"children":4816},{"style":238},[4817],{"type":59,"value":1478},{"type":45,"tag":209,"props":4819,"children":4820},{"class":211,"line":436},[4821,4826],{"type":45,"tag":209,"props":4822,"children":4823},{"style":1314},[4824],{"type":59,"value":4825},"      ]",{"type":45,"tag":209,"props":4827,"children":4828},{"style":238},[4829],{"type":59,"value":1478},{"type":45,"tag":209,"props":4831,"children":4832},{"class":211,"line":445},[4833],{"type":45,"tag":209,"props":4834,"children":4835},{"style":238},[4836],{"type":59,"value":4837},"    },\n",{"type":45,"tag":209,"props":4839,"children":4840},{"class":211,"line":484},[4841],{"type":45,"tag":209,"props":4842,"children":4843},{"style":238},[4844],{"type":59,"value":1592},{"type":45,"tag":209,"props":4846,"children":4847},{"class":211,"line":521},[4848],{"type":45,"tag":209,"props":4849,"children":4850},{"style":238},[4851],{"type":59,"value":4852},"};\n",{"type":45,"tag":50,"props":4854,"children":4855},{},[4856,4861,4863,4868,4869,4874,4876,4886],{"type":45,"tag":110,"props":4857,"children":4859},{"className":4858},[],[4860],{"type":59,"value":4375},{"type":59,"value":4862}," \u002F ",{"type":45,"tag":110,"props":4864,"children":4866},{"className":4865},[],[4867],{"type":59,"value":4412},{"type":59,"value":4862},{"type":45,"tag":110,"props":4870,"children":4872},{"className":4871},[],[4873],{"type":59,"value":4449},{"type":59,"value":4875}," are build-time values; the auth token is a secret (never commit it). For creating the token and wiring it into CI, see ",{"type":45,"tag":54,"props":4877,"children":4879},{"href":4878},"..\u002Fsentry-source-maps\u002FSKILL.md",[4880],{"type":45,"tag":110,"props":4881,"children":4883},{"className":4882},[],[4884],{"type":59,"value":4885},"sentry-source-maps",{"type":59,"value":1360},{"type":45,"tag":1216,"props":4888,"children":4890},{"id":4889},"for-each-agreed-feature",[4891],{"type":59,"value":4892},"For Each Agreed Feature",{"type":45,"tag":50,"props":4894,"children":4895},{},[4896],{"type":59,"value":4897},"Walk through features one at a time. Load the reference file, follow its steps, verify before moving on:",{"type":45,"tag":681,"props":4899,"children":4900},{},[4901,4921],{"type":45,"tag":685,"props":4902,"children":4903},{},[4904],{"type":45,"tag":689,"props":4905,"children":4906},{},[4907,4911,4916],{"type":45,"tag":693,"props":4908,"children":4909},{},[4910],{"type":59,"value":1040},{"type":45,"tag":693,"props":4912,"children":4913},{},[4914],{"type":59,"value":4915},"Reference",{"type":45,"tag":693,"props":4917,"children":4918},{},[4919],{"type":59,"value":4920},"Load when...",{"type":45,"tag":704,"props":4922,"children":4923},{},[4924,4945,4966,4987,5008,5029],{"type":45,"tag":689,"props":4925,"children":4926},{},[4927,4931,4940],{"type":45,"tag":711,"props":4928,"children":4929},{},[4930],{"type":59,"value":952},{"type":45,"tag":711,"props":4932,"children":4933},{},[4934],{"type":45,"tag":110,"props":4935,"children":4937},{"className":4936},[],[4938],{"type":59,"value":4939},"${SKILL_ROOT}\u002Freferences\u002Ferror-monitoring.md",{"type":45,"tag":711,"props":4941,"children":4942},{},[4943],{"type":59,"value":4944},"Always (baseline)",{"type":45,"tag":689,"props":4946,"children":4947},{},[4948,4952,4961],{"type":45,"tag":711,"props":4949,"children":4950},{},[4951],{"type":59,"value":963},{"type":45,"tag":711,"props":4953,"children":4954},{},[4955],{"type":45,"tag":110,"props":4956,"children":4958},{"className":4957},[],[4959],{"type":59,"value":4960},"${SKILL_ROOT}\u002Freferences\u002Ftracing.md",{"type":45,"tag":711,"props":4962,"children":4963},{},[4964],{"type":59,"value":4965},"SPA navigation \u002F API call tracing",{"type":45,"tag":689,"props":4967,"children":4968},{},[4969,4973,4982],{"type":45,"tag":711,"props":4970,"children":4971},{},[4972],{"type":59,"value":974},{"type":45,"tag":711,"props":4974,"children":4975},{},[4976],{"type":45,"tag":110,"props":4977,"children":4979},{"className":4978},[],[4980],{"type":59,"value":4981},"${SKILL_ROOT}\u002Freferences\u002Fsession-replay.md",{"type":45,"tag":711,"props":4983,"children":4984},{},[4985],{"type":59,"value":4986},"User-facing app",{"type":45,"tag":689,"props":4988,"children":4989},{},[4990,4994,5003],{"type":45,"tag":711,"props":4991,"children":4992},{},[4993],{"type":59,"value":997},{"type":45,"tag":711,"props":4995,"children":4996},{},[4997],{"type":45,"tag":110,"props":4998,"children":5000},{"className":4999},[],[5001],{"type":59,"value":5002},"${SKILL_ROOT}\u002Freferences\u002Flogging.md",{"type":45,"tag":711,"props":5004,"children":5005},{},[5006],{"type":59,"value":5007},"Structured log search \u002F log-to-trace",{"type":45,"tag":689,"props":5009,"children":5010},{},[5011,5015,5024],{"type":45,"tag":711,"props":5012,"children":5013},{},[5014],{"type":59,"value":1016},{"type":45,"tag":711,"props":5016,"children":5017},{},[5018],{"type":45,"tag":110,"props":5019,"children":5021},{"className":5020},[],[5022],{"type":59,"value":5023},"${SKILL_ROOT}\u002Freferences\u002Fprofiling.md",{"type":45,"tag":711,"props":5025,"children":5026},{},[5027],{"type":59,"value":5028},"Performance-critical app",{"type":45,"tag":689,"props":5030,"children":5031},{},[5032,5037,5046],{"type":45,"tag":711,"props":5033,"children":5034},{},[5035],{"type":59,"value":5036},"React Features",{"type":45,"tag":711,"props":5038,"children":5039},{},[5040],{"type":45,"tag":110,"props":5041,"children":5043},{"className":5042},[],[5044],{"type":59,"value":5045},"${SKILL_ROOT}\u002Freferences\u002Freact-features.md",{"type":45,"tag":711,"props":5047,"children":5048},{},[5049],{"type":59,"value":5050},"Redux, component tracking, source maps, integrations catalog",{"type":45,"tag":50,"props":5052,"children":5053},{},[5054,5056,5062],{"type":59,"value":5055},"For each feature: ",{"type":45,"tag":110,"props":5057,"children":5059},{"className":5058},[],[5060],{"type":59,"value":5061},"Read ${SKILL_ROOT}\u002Freferences\u002F\u003Cfeature>.md",{"type":59,"value":5063},", follow steps exactly, verify it works.",{"type":45,"tag":183,"props":5065,"children":5066},{},[],{"type":45,"tag":83,"props":5068,"children":5070},{"id":5069},"configuration-reference",[5071],{"type":59,"value":5072},"Configuration Reference",{"type":45,"tag":1216,"props":5074,"children":5076},{"id":5075},"key-sentryinit-options",[5077,5079,5084],{"type":59,"value":5078},"Key ",{"type":45,"tag":110,"props":5080,"children":5082},{"className":5081},[],[5083],{"type":59,"value":1281},{"type":59,"value":5085}," Options",{"type":45,"tag":681,"props":5087,"children":5088},{},[5089,5114],{"type":45,"tag":685,"props":5090,"children":5091},{},[5092],{"type":45,"tag":689,"props":5093,"children":5094},{},[5095,5100,5105,5110],{"type":45,"tag":693,"props":5096,"children":5097},{},[5098],{"type":59,"value":5099},"Option",{"type":45,"tag":693,"props":5101,"children":5102},{},[5103],{"type":59,"value":5104},"Type",{"type":45,"tag":693,"props":5106,"children":5107},{},[5108],{"type":59,"value":5109},"Default",{"type":45,"tag":693,"props":5111,"children":5112},{},[5113],{"type":59,"value":2935},{"type":45,"tag":704,"props":5115,"children":5116},{},[5117,5153,5200,5236,5334,5380,5410,5440,5469,5498,5539,5580,5614,5647],{"type":45,"tag":689,"props":5118,"children":5119},{},[5120,5129,5138,5143],{"type":45,"tag":711,"props":5121,"children":5122},{},[5123],{"type":45,"tag":110,"props":5124,"children":5126},{"className":5125},[],[5127],{"type":59,"value":5128},"dsn",{"type":45,"tag":711,"props":5130,"children":5131},{},[5132],{"type":45,"tag":110,"props":5133,"children":5135},{"className":5134},[],[5136],{"type":59,"value":5137},"string",{"type":45,"tag":711,"props":5139,"children":5140},{},[5141],{"type":59,"value":5142},"—",{"type":45,"tag":711,"props":5144,"children":5145},{},[5146,5151],{"type":45,"tag":129,"props":5147,"children":5148},{},[5149],{"type":59,"value":5150},"Required.",{"type":59,"value":5152}," SDK disabled when empty",{"type":45,"tag":689,"props":5154,"children":5155},{},[5156,5165,5173,5182],{"type":45,"tag":711,"props":5157,"children":5158},{},[5159],{"type":45,"tag":110,"props":5160,"children":5162},{"className":5161},[],[5163],{"type":59,"value":5164},"environment",{"type":45,"tag":711,"props":5166,"children":5167},{},[5168],{"type":45,"tag":110,"props":5169,"children":5171},{"className":5170},[],[5172],{"type":59,"value":5137},{"type":45,"tag":711,"props":5174,"children":5175},{},[5176],{"type":45,"tag":110,"props":5177,"children":5179},{"className":5178},[],[5180],{"type":59,"value":5181},"\"production\"",{"type":45,"tag":711,"props":5183,"children":5184},{},[5185,5187,5193,5194],{"type":59,"value":5186},"e.g., ",{"type":45,"tag":110,"props":5188,"children":5190},{"className":5189},[],[5191],{"type":59,"value":5192},"\"staging\"",{"type":59,"value":779},{"type":45,"tag":110,"props":5195,"children":5197},{"className":5196},[],[5198],{"type":59,"value":5199},"\"development\"",{"type":45,"tag":689,"props":5201,"children":5202},{},[5203,5212,5220,5224],{"type":45,"tag":711,"props":5204,"children":5205},{},[5206],{"type":45,"tag":110,"props":5207,"children":5209},{"className":5208},[],[5210],{"type":59,"value":5211},"release",{"type":45,"tag":711,"props":5213,"children":5214},{},[5215],{"type":45,"tag":110,"props":5216,"children":5218},{"className":5217},[],[5219],{"type":59,"value":5137},{"type":45,"tag":711,"props":5221,"children":5222},{},[5223],{"type":59,"value":5142},{"type":45,"tag":711,"props":5225,"children":5226},{},[5227,5228,5234],{"type":59,"value":5186},{"type":45,"tag":110,"props":5229,"children":5231},{"className":5230},[],[5232],{"type":59,"value":5233},"\"my-app@1.0.0\"",{"type":59,"value":5235}," or git SHA — links errors to releases",{"type":45,"tag":689,"props":5237,"children":5238},{},[5239,5248,5257,5262],{"type":45,"tag":711,"props":5240,"children":5241},{},[5242],{"type":45,"tag":110,"props":5243,"children":5245},{"className":5244},[],[5246],{"type":59,"value":5247},"dataCollection",{"type":45,"tag":711,"props":5249,"children":5250},{},[5251],{"type":45,"tag":110,"props":5252,"children":5254},{"className":5253},[],[5255],{"type":59,"value":5256},"object",{"type":45,"tag":711,"props":5258,"children":5259},{},[5260],{"type":59,"value":5261},"conservative unless set",{"type":45,"tag":711,"props":5263,"children":5264},{},[5265,5267,5273,5274,5280,5281,5287,5288,5294,5295,5301,5302,5308,5310,5316,5318,5324,5326,5332],{"type":59,"value":5266},"Fine-grained control over auto-collected categories (",{"type":45,"tag":110,"props":5268,"children":5270},{"className":5269},[],[5271],{"type":59,"value":5272},"userInfo",{"type":59,"value":779},{"type":45,"tag":110,"props":5275,"children":5277},{"className":5276},[],[5278],{"type":59,"value":5279},"cookies",{"type":59,"value":779},{"type":45,"tag":110,"props":5282,"children":5284},{"className":5283},[],[5285],{"type":59,"value":5286},"httpHeaders",{"type":59,"value":779},{"type":45,"tag":110,"props":5289,"children":5291},{"className":5290},[],[5292],{"type":59,"value":5293},"httpBodies",{"type":59,"value":779},{"type":45,"tag":110,"props":5296,"children":5298},{"className":5297},[],[5299],{"type":59,"value":5300},"queryParams",{"type":59,"value":779},{"type":45,"tag":110,"props":5303,"children":5305},{"className":5304},[],[5306],{"type":59,"value":5307},"genAI",{"type":59,"value":5309},"). When omitted, the SDK falls back to ",{"type":45,"tag":110,"props":5311,"children":5313},{"className":5312},[],[5314],{"type":59,"value":5315},"sendDefaultPii",{"type":59,"value":5317}," (default ",{"type":45,"tag":110,"props":5319,"children":5321},{"className":5320},[],[5322],{"type":59,"value":5323},"false",{"type":59,"value":5325},"). Passing the object — even ",{"type":45,"tag":110,"props":5327,"children":5329},{"className":5328},[],[5330],{"type":59,"value":5331},"{}",{"type":59,"value":5333}," — flips unset categories to their permissive defaults; opt out per category.",{"type":45,"tag":689,"props":5335,"children":5336},{},[5337,5346,5355,5359],{"type":45,"tag":711,"props":5338,"children":5339},{},[5340],{"type":45,"tag":110,"props":5341,"children":5343},{"className":5342},[],[5344],{"type":59,"value":5345},"tracesSampleRate",{"type":45,"tag":711,"props":5347,"children":5348},{},[5349],{"type":45,"tag":110,"props":5350,"children":5352},{"className":5351},[],[5353],{"type":59,"value":5354},"number",{"type":45,"tag":711,"props":5356,"children":5357},{},[5358],{"type":59,"value":5142},{"type":45,"tag":711,"props":5360,"children":5361},{},[5362,5364,5370,5372,5378],{"type":59,"value":5363},"0–1; ",{"type":45,"tag":110,"props":5365,"children":5367},{"className":5366},[],[5368],{"type":59,"value":5369},"1.0",{"type":59,"value":5371}," in dev, ",{"type":45,"tag":110,"props":5373,"children":5375},{"className":5374},[],[5376],{"type":59,"value":5377},"0.1–0.2",{"type":59,"value":5379}," in prod",{"type":45,"tag":689,"props":5381,"children":5382},{},[5383,5392,5401,5405],{"type":45,"tag":711,"props":5384,"children":5385},{},[5386],{"type":45,"tag":110,"props":5387,"children":5389},{"className":5388},[],[5390],{"type":59,"value":5391},"tracesSampler",{"type":45,"tag":711,"props":5393,"children":5394},{},[5395],{"type":45,"tag":110,"props":5396,"children":5398},{"className":5397},[],[5399],{"type":59,"value":5400},"function",{"type":45,"tag":711,"props":5402,"children":5403},{},[5404],{"type":59,"value":5142},{"type":45,"tag":711,"props":5406,"children":5407},{},[5408],{"type":59,"value":5409},"Per-transaction sampling; overrides rate",{"type":45,"tag":689,"props":5411,"children":5412},{},[5413,5422,5431,5435],{"type":45,"tag":711,"props":5414,"children":5415},{},[5416],{"type":45,"tag":110,"props":5417,"children":5419},{"className":5418},[],[5420],{"type":59,"value":5421},"tracePropagationTargets",{"type":45,"tag":711,"props":5423,"children":5424},{},[5425],{"type":45,"tag":110,"props":5426,"children":5428},{"className":5427},[],[5429],{"type":59,"value":5430},"(string|RegExp)[]",{"type":45,"tag":711,"props":5432,"children":5433},{},[5434],{"type":59,"value":5142},{"type":45,"tag":711,"props":5436,"children":5437},{},[5438],{"type":59,"value":5439},"Outgoing URLs that receive distributed tracing headers",{"type":45,"tag":689,"props":5441,"children":5442},{},[5443,5452,5460,5464],{"type":45,"tag":711,"props":5444,"children":5445},{},[5446],{"type":45,"tag":110,"props":5447,"children":5449},{"className":5448},[],[5450],{"type":59,"value":5451},"replaysSessionSampleRate",{"type":45,"tag":711,"props":5453,"children":5454},{},[5455],{"type":45,"tag":110,"props":5456,"children":5458},{"className":5457},[],[5459],{"type":59,"value":5354},{"type":45,"tag":711,"props":5461,"children":5462},{},[5463],{"type":59,"value":5142},{"type":45,"tag":711,"props":5465,"children":5466},{},[5467],{"type":59,"value":5468},"Fraction of all sessions recorded",{"type":45,"tag":689,"props":5470,"children":5471},{},[5472,5481,5489,5493],{"type":45,"tag":711,"props":5473,"children":5474},{},[5475],{"type":45,"tag":110,"props":5476,"children":5478},{"className":5477},[],[5479],{"type":59,"value":5480},"replaysOnErrorSampleRate",{"type":45,"tag":711,"props":5482,"children":5483},{},[5484],{"type":45,"tag":110,"props":5485,"children":5487},{"className":5486},[],[5488],{"type":59,"value":5354},{"type":45,"tag":711,"props":5490,"children":5491},{},[5492],{"type":59,"value":5142},{"type":45,"tag":711,"props":5494,"children":5495},{},[5496],{"type":59,"value":5497},"Fraction of error sessions recorded",{"type":45,"tag":689,"props":5499,"children":5500},{},[5501,5510,5519,5527],{"type":45,"tag":711,"props":5502,"children":5503},{},[5504],{"type":45,"tag":110,"props":5505,"children":5507},{"className":5506},[],[5508],{"type":59,"value":5509},"enableLogs",{"type":45,"tag":711,"props":5511,"children":5512},{},[5513],{"type":45,"tag":110,"props":5514,"children":5516},{"className":5515},[],[5517],{"type":59,"value":5518},"boolean",{"type":45,"tag":711,"props":5520,"children":5521},{},[5522],{"type":45,"tag":110,"props":5523,"children":5525},{"className":5524},[],[5526],{"type":59,"value":5323},{"type":45,"tag":711,"props":5528,"children":5529},{},[5530,5532,5537],{"type":59,"value":5531},"Enable ",{"type":45,"tag":110,"props":5533,"children":5535},{"className":5534},[],[5536],{"type":59,"value":1005},{"type":59,"value":5538}," API",{"type":45,"tag":689,"props":5540,"children":5541},{},[5542,5551,5559,5567],{"type":45,"tag":711,"props":5543,"children":5544},{},[5545],{"type":45,"tag":110,"props":5546,"children":5548},{"className":5547},[],[5549],{"type":59,"value":5550},"attachStacktrace",{"type":45,"tag":711,"props":5552,"children":5553},{},[5554],{"type":45,"tag":110,"props":5555,"children":5557},{"className":5556},[],[5558],{"type":59,"value":5518},{"type":45,"tag":711,"props":5560,"children":5561},{},[5562],{"type":45,"tag":110,"props":5563,"children":5565},{"className":5564},[],[5566],{"type":59,"value":5323},{"type":45,"tag":711,"props":5568,"children":5569},{},[5570,5572,5578],{"type":59,"value":5571},"Stack traces on ",{"type":45,"tag":110,"props":5573,"children":5575},{"className":5574},[],[5576],{"type":59,"value":5577},"captureMessage()",{"type":59,"value":5579}," calls",{"type":45,"tag":689,"props":5581,"children":5582},{},[5583,5592,5600,5609],{"type":45,"tag":711,"props":5584,"children":5585},{},[5586],{"type":45,"tag":110,"props":5587,"children":5589},{"className":5588},[],[5590],{"type":59,"value":5591},"maxBreadcrumbs",{"type":45,"tag":711,"props":5593,"children":5594},{},[5595],{"type":45,"tag":110,"props":5596,"children":5598},{"className":5597},[],[5599],{"type":59,"value":5354},{"type":45,"tag":711,"props":5601,"children":5602},{},[5603],{"type":45,"tag":110,"props":5604,"children":5606},{"className":5605},[],[5607],{"type":59,"value":5608},"100",{"type":45,"tag":711,"props":5610,"children":5611},{},[5612],{"type":59,"value":5613},"Breadcrumbs stored per event",{"type":45,"tag":689,"props":5615,"children":5616},{},[5617,5626,5634,5642],{"type":45,"tag":711,"props":5618,"children":5619},{},[5620],{"type":45,"tag":110,"props":5621,"children":5623},{"className":5622},[],[5624],{"type":59,"value":5625},"debug",{"type":45,"tag":711,"props":5627,"children":5628},{},[5629],{"type":45,"tag":110,"props":5630,"children":5632},{"className":5631},[],[5633],{"type":59,"value":5518},{"type":45,"tag":711,"props":5635,"children":5636},{},[5637],{"type":45,"tag":110,"props":5638,"children":5640},{"className":5639},[],[5641],{"type":59,"value":5323},{"type":45,"tag":711,"props":5643,"children":5644},{},[5645],{"type":59,"value":5646},"Verbose SDK output to console",{"type":45,"tag":689,"props":5648,"children":5649},{},[5650,5659,5667,5671],{"type":45,"tag":711,"props":5651,"children":5652},{},[5653],{"type":45,"tag":110,"props":5654,"children":5656},{"className":5655},[],[5657],{"type":59,"value":5658},"tunnel",{"type":45,"tag":711,"props":5660,"children":5661},{},[5662],{"type":45,"tag":110,"props":5663,"children":5665},{"className":5664},[],[5666],{"type":59,"value":5137},{"type":45,"tag":711,"props":5668,"children":5669},{},[5670],{"type":59,"value":5142},{"type":45,"tag":711,"props":5672,"children":5673},{},[5674],{"type":59,"value":5675},"Proxy URL to bypass ad blockers",{"type":45,"tag":1216,"props":5677,"children":5679},{"id":5678},"datacollection-options-sdk-10570",[5680,5685],{"type":45,"tag":110,"props":5681,"children":5683},{"className":5682},[],[5684],{"type":59,"value":5247},{"type":59,"value":5686}," Options (SDK ≥10.57.0)",{"type":45,"tag":50,"props":5688,"children":5689},{},[5690],{"type":59,"value":5691},"Fine-grained control over what data the SDK collects. Collection is on by default (with sensitive-value scrubbing); opt out per category:",{"type":45,"tag":681,"props":5693,"children":5694},{},[5695,5718],{"type":45,"tag":685,"props":5696,"children":5697},{},[5698],{"type":45,"tag":689,"props":5699,"children":5700},{},[5701,5706,5710,5714],{"type":45,"tag":693,"props":5702,"children":5703},{},[5704],{"type":59,"value":5705},"Field",{"type":45,"tag":693,"props":5707,"children":5708},{},[5709],{"type":59,"value":5104},{"type":45,"tag":693,"props":5711,"children":5712},{},[5713],{"type":59,"value":5109},{"type":45,"tag":693,"props":5715,"children":5716},{},[5717],{"type":59,"value":2935},{"type":45,"tag":704,"props":5719,"children":5720},{},[5721,5754,5794,5827,5860,5892,5953,5986,6019,6052],{"type":45,"tag":689,"props":5722,"children":5723},{},[5724,5732,5740,5749],{"type":45,"tag":711,"props":5725,"children":5726},{},[5727],{"type":45,"tag":110,"props":5728,"children":5730},{"className":5729},[],[5731],{"type":59,"value":5272},{"type":45,"tag":711,"props":5733,"children":5734},{},[5735],{"type":45,"tag":110,"props":5736,"children":5738},{"className":5737},[],[5739],{"type":59,"value":5518},{"type":45,"tag":711,"props":5741,"children":5742},{},[5743],{"type":45,"tag":110,"props":5744,"children":5746},{"className":5745},[],[5747],{"type":59,"value":5748},"true",{"type":45,"tag":711,"props":5750,"children":5751},{},[5752],{"type":59,"value":5753},"Collect user id, email, and IP",{"type":45,"tag":689,"props":5755,"children":5756},{},[5757,5765,5774,5782],{"type":45,"tag":711,"props":5758,"children":5759},{},[5760],{"type":45,"tag":110,"props":5761,"children":5763},{"className":5762},[],[5764],{"type":59,"value":5279},{"type":45,"tag":711,"props":5766,"children":5767},{},[5768],{"type":45,"tag":110,"props":5769,"children":5771},{"className":5770},[],[5772],{"type":59,"value":5773},"boolean | { allow: string[] } | { deny: string[] }",{"type":45,"tag":711,"props":5775,"children":5776},{},[5777],{"type":45,"tag":110,"props":5778,"children":5780},{"className":5779},[],[5781],{"type":59,"value":5748},{"type":45,"tag":711,"props":5783,"children":5784},{},[5785,5787,5792],{"type":59,"value":5786},"Cookie collection and filtering; ",{"type":45,"tag":110,"props":5788,"children":5790},{"className":5789},[],[5791],{"type":59,"value":5748},{"type":59,"value":5793}," = all cookies (sensitive keys filtered)",{"type":45,"tag":689,"props":5795,"children":5796},{},[5797,5806,5814,5822],{"type":45,"tag":711,"props":5798,"children":5799},{},[5800],{"type":45,"tag":110,"props":5801,"children":5803},{"className":5802},[],[5804],{"type":59,"value":5805},"httpHeaders.request",{"type":45,"tag":711,"props":5807,"children":5808},{},[5809],{"type":45,"tag":110,"props":5810,"children":5812},{"className":5811},[],[5813],{"type":59,"value":5773},{"type":45,"tag":711,"props":5815,"children":5816},{},[5817],{"type":45,"tag":110,"props":5818,"children":5820},{"className":5819},[],[5821],{"type":59,"value":5748},{"type":45,"tag":711,"props":5823,"children":5824},{},[5825],{"type":59,"value":5826},"HTTP request header collection",{"type":45,"tag":689,"props":5828,"children":5829},{},[5830,5839,5847,5855],{"type":45,"tag":711,"props":5831,"children":5832},{},[5833],{"type":45,"tag":110,"props":5834,"children":5836},{"className":5835},[],[5837],{"type":59,"value":5838},"httpHeaders.response",{"type":45,"tag":711,"props":5840,"children":5841},{},[5842],{"type":45,"tag":110,"props":5843,"children":5845},{"className":5844},[],[5846],{"type":59,"value":5773},{"type":45,"tag":711,"props":5848,"children":5849},{},[5850],{"type":45,"tag":110,"props":5851,"children":5853},{"className":5852},[],[5854],{"type":59,"value":5748},{"type":45,"tag":711,"props":5856,"children":5857},{},[5858],{"type":59,"value":5859},"HTTP response header collection",{"type":45,"tag":689,"props":5861,"children":5862},{},[5863,5871,5879,5887],{"type":45,"tag":711,"props":5864,"children":5865},{},[5866],{"type":45,"tag":110,"props":5867,"children":5869},{"className":5868},[],[5870],{"type":59,"value":5300},{"type":45,"tag":711,"props":5872,"children":5873},{},[5874],{"type":45,"tag":110,"props":5875,"children":5877},{"className":5876},[],[5878],{"type":59,"value":5773},{"type":45,"tag":711,"props":5880,"children":5881},{},[5882],{"type":45,"tag":110,"props":5883,"children":5885},{"className":5884},[],[5886],{"type":59,"value":5748},{"type":45,"tag":711,"props":5888,"children":5889},{},[5890],{"type":59,"value":5891},"Query parameter collection and filtering",{"type":45,"tag":689,"props":5893,"children":5894},{},[5895,5903,5912,5921],{"type":45,"tag":711,"props":5896,"children":5897},{},[5898],{"type":45,"tag":110,"props":5899,"children":5901},{"className":5900},[],[5902],{"type":59,"value":5293},{"type":45,"tag":711,"props":5904,"children":5905},{},[5906],{"type":45,"tag":110,"props":5907,"children":5909},{"className":5908},[],[5910],{"type":59,"value":5911},"HttpBodyCollectionTarget[]",{"type":45,"tag":711,"props":5913,"children":5914},{},[5915],{"type":45,"tag":110,"props":5916,"children":5918},{"className":5917},[],[5919],{"type":59,"value":5920},"[\"incomingRequest\", \"outgoingRequest\", \"incomingResponse\", \"outgoingResponse\"]",{"type":45,"tag":711,"props":5922,"children":5923},{},[5924,5926,5932,5933,5939,5940,5946,5947],{"type":59,"value":5925},"Collect request\u002Fresponse bodies; options: ",{"type":45,"tag":110,"props":5927,"children":5929},{"className":5928},[],[5930],{"type":59,"value":5931},"'incomingRequest'",{"type":59,"value":779},{"type":45,"tag":110,"props":5934,"children":5936},{"className":5935},[],[5937],{"type":59,"value":5938},"'outgoingRequest'",{"type":59,"value":779},{"type":45,"tag":110,"props":5941,"children":5943},{"className":5942},[],[5944],{"type":59,"value":5945},"'incomingResponse'",{"type":59,"value":779},{"type":45,"tag":110,"props":5948,"children":5950},{"className":5949},[],[5951],{"type":59,"value":5952},"'outgoingResponse'",{"type":45,"tag":689,"props":5954,"children":5955},{},[5956,5965,5973,5981],{"type":45,"tag":711,"props":5957,"children":5958},{},[5959],{"type":45,"tag":110,"props":5960,"children":5962},{"className":5961},[],[5963],{"type":59,"value":5964},"genAI.inputs",{"type":45,"tag":711,"props":5966,"children":5967},{},[5968],{"type":45,"tag":110,"props":5969,"children":5971},{"className":5970},[],[5972],{"type":59,"value":5518},{"type":45,"tag":711,"props":5974,"children":5975},{},[5976],{"type":45,"tag":110,"props":5977,"children":5979},{"className":5978},[],[5980],{"type":59,"value":5748},{"type":45,"tag":711,"props":5982,"children":5983},{},[5984],{"type":59,"value":5985},"Record AI model inputs (for AI monitoring)",{"type":45,"tag":689,"props":5987,"children":5988},{},[5989,5998,6006,6014],{"type":45,"tag":711,"props":5990,"children":5991},{},[5992],{"type":45,"tag":110,"props":5993,"children":5995},{"className":5994},[],[5996],{"type":59,"value":5997},"genAI.outputs",{"type":45,"tag":711,"props":5999,"children":6000},{},[6001],{"type":45,"tag":110,"props":6002,"children":6004},{"className":6003},[],[6005],{"type":59,"value":5518},{"type":45,"tag":711,"props":6007,"children":6008},{},[6009],{"type":45,"tag":110,"props":6010,"children":6012},{"className":6011},[],[6013],{"type":59,"value":5748},{"type":45,"tag":711,"props":6015,"children":6016},{},[6017],{"type":59,"value":6018},"Record AI model outputs (for AI monitoring)",{"type":45,"tag":689,"props":6020,"children":6021},{},[6022,6031,6039,6047],{"type":45,"tag":711,"props":6023,"children":6024},{},[6025],{"type":45,"tag":110,"props":6026,"children":6028},{"className":6027},[],[6029],{"type":59,"value":6030},"stackFrameVariables",{"type":45,"tag":711,"props":6032,"children":6033},{},[6034],{"type":45,"tag":110,"props":6035,"children":6037},{"className":6036},[],[6038],{"type":59,"value":5518},{"type":45,"tag":711,"props":6040,"children":6041},{},[6042],{"type":45,"tag":110,"props":6043,"children":6045},{"className":6044},[],[6046],{"type":59,"value":5748},{"type":45,"tag":711,"props":6048,"children":6049},{},[6050],{"type":59,"value":6051},"Capture local variable values in stack frames",{"type":45,"tag":689,"props":6053,"children":6054},{},[6055,6064,6072,6081],{"type":45,"tag":711,"props":6056,"children":6057},{},[6058],{"type":45,"tag":110,"props":6059,"children":6061},{"className":6060},[],[6062],{"type":59,"value":6063},"frameContextLines",{"type":45,"tag":711,"props":6065,"children":6066},{},[6067],{"type":45,"tag":110,"props":6068,"children":6070},{"className":6069},[],[6071],{"type":59,"value":5354},{"type":45,"tag":711,"props":6073,"children":6074},{},[6075],{"type":45,"tag":110,"props":6076,"children":6078},{"className":6077},[],[6079],{"type":59,"value":6080},"5",{"type":45,"tag":711,"props":6082,"children":6083},{},[6084],{"type":59,"value":6085},"Source code context lines around stack frames",{"type":45,"tag":50,"props":6087,"children":6088},{},[6089,6094],{"type":45,"tag":129,"props":6090,"children":6091},{},[6092],{"type":59,"value":6093},"Example:",{"type":59,"value":6095}," Allow only specific cookies and headers:",{"type":45,"tag":198,"props":6097,"children":6099},{"className":1286,"code":6098,"language":1288,"meta":203,"style":203},"Sentry.init({\n  dataCollection: {\n    cookies: { allow: ['session', 'user_id'] },\n    httpHeaders: {\n      request: { allow: ['authorization', 'x-request-id'] },\n      response: { deny: ['set-cookie'] },\n    },\n  },\n});\n",[6100],{"type":45,"tag":110,"props":6101,"children":6102},{"__ignoreMap":203},[6103,6126,6141,6211,6227,6293,6343,6350,6357],{"type":45,"tag":209,"props":6104,"children":6105},{"class":211,"line":212},[6106,6110,6114,6118,6122],{"type":45,"tag":209,"props":6107,"children":6108},{"style":1314},[6109],{"type":59,"value":9},{"type":45,"tag":209,"props":6111,"children":6112},{"style":238},[6113],{"type":59,"value":1360},{"type":45,"tag":209,"props":6115,"children":6116},{"style":1363},[6117],{"type":59,"value":1366},{"type":45,"tag":209,"props":6119,"children":6120},{"style":1314},[6121],{"type":59,"value":1371},{"type":45,"tag":209,"props":6123,"children":6124},{"style":238},[6125],{"type":59,"value":1376},{"type":45,"tag":209,"props":6127,"children":6128},{"class":211,"line":222},[6129,6133,6137],{"type":45,"tag":209,"props":6130,"children":6131},{"style":1382},[6132],{"type":59,"value":1543},{"type":45,"tag":209,"props":6134,"children":6135},{"style":238},[6136],{"type":59,"value":1390},{"type":45,"tag":209,"props":6138,"children":6139},{"style":238},[6140],{"type":59,"value":1552},{"type":45,"tag":209,"props":6142,"children":6143},{"class":211,"line":269},[6144,6149,6153,6157,6162,6166,6170,6175,6180,6184,6188,6192,6197,6201,6206],{"type":45,"tag":209,"props":6145,"children":6146},{"style":1382},[6147],{"type":59,"value":6148},"    cookies",{"type":45,"tag":209,"props":6150,"children":6151},{"style":238},[6152],{"type":59,"value":1390},{"type":45,"tag":209,"props":6154,"children":6155},{"style":238},[6156],{"type":59,"value":2174},{"type":45,"tag":209,"props":6158,"children":6159},{"style":1382},[6160],{"type":59,"value":6161}," allow",{"type":45,"tag":209,"props":6163,"children":6164},{"style":238},[6165],{"type":59,"value":1390},{"type":45,"tag":209,"props":6167,"children":6168},{"style":1314},[6169],{"type":59,"value":1799},{"type":45,"tag":209,"props":6171,"children":6172},{"style":238},[6173],{"type":59,"value":6174},"'",{"type":45,"tag":209,"props":6176,"children":6177},{"style":232},[6178],{"type":59,"value":6179},"session",{"type":45,"tag":209,"props":6181,"children":6182},{"style":238},[6183],{"type":59,"value":6174},{"type":45,"tag":209,"props":6185,"children":6186},{"style":238},[6187],{"type":59,"value":1427},{"type":45,"tag":209,"props":6189,"children":6190},{"style":238},[6191],{"type":59,"value":256},{"type":45,"tag":209,"props":6193,"children":6194},{"style":232},[6195],{"type":59,"value":6196},"user_id",{"type":45,"tag":209,"props":6198,"children":6199},{"style":238},[6200],{"type":59,"value":6174},{"type":45,"tag":209,"props":6202,"children":6203},{"style":1314},[6204],{"type":59,"value":6205},"] ",{"type":45,"tag":209,"props":6207,"children":6208},{"style":238},[6209],{"type":59,"value":6210},"},\n",{"type":45,"tag":209,"props":6212,"children":6213},{"class":211,"line":278},[6214,6219,6223],{"type":45,"tag":209,"props":6215,"children":6216},{"style":1382},[6217],{"type":59,"value":6218},"    httpHeaders",{"type":45,"tag":209,"props":6220,"children":6221},{"style":238},[6222],{"type":59,"value":1390},{"type":45,"tag":209,"props":6224,"children":6225},{"style":238},[6226],{"type":59,"value":1552},{"type":45,"tag":209,"props":6228,"children":6229},{"class":211,"line":287},[6230,6235,6239,6243,6247,6251,6255,6259,6264,6268,6272,6276,6281,6285,6289],{"type":45,"tag":209,"props":6231,"children":6232},{"style":1382},[6233],{"type":59,"value":6234},"      request",{"type":45,"tag":209,"props":6236,"children":6237},{"style":238},[6238],{"type":59,"value":1390},{"type":45,"tag":209,"props":6240,"children":6241},{"style":238},[6242],{"type":59,"value":2174},{"type":45,"tag":209,"props":6244,"children":6245},{"style":1382},[6246],{"type":59,"value":6161},{"type":45,"tag":209,"props":6248,"children":6249},{"style":238},[6250],{"type":59,"value":1390},{"type":45,"tag":209,"props":6252,"children":6253},{"style":1314},[6254],{"type":59,"value":1799},{"type":45,"tag":209,"props":6256,"children":6257},{"style":238},[6258],{"type":59,"value":6174},{"type":45,"tag":209,"props":6260,"children":6261},{"style":232},[6262],{"type":59,"value":6263},"authorization",{"type":45,"tag":209,"props":6265,"children":6266},{"style":238},[6267],{"type":59,"value":6174},{"type":45,"tag":209,"props":6269,"children":6270},{"style":238},[6271],{"type":59,"value":1427},{"type":45,"tag":209,"props":6273,"children":6274},{"style":238},[6275],{"type":59,"value":256},{"type":45,"tag":209,"props":6277,"children":6278},{"style":232},[6279],{"type":59,"value":6280},"x-request-id",{"type":45,"tag":209,"props":6282,"children":6283},{"style":238},[6284],{"type":59,"value":6174},{"type":45,"tag":209,"props":6286,"children":6287},{"style":1314},[6288],{"type":59,"value":6205},{"type":45,"tag":209,"props":6290,"children":6291},{"style":238},[6292],{"type":59,"value":6210},{"type":45,"tag":209,"props":6294,"children":6295},{"class":211,"line":320},[6296,6301,6305,6309,6314,6318,6322,6326,6331,6335,6339],{"type":45,"tag":209,"props":6297,"children":6298},{"style":1382},[6299],{"type":59,"value":6300},"      response",{"type":45,"tag":209,"props":6302,"children":6303},{"style":238},[6304],{"type":59,"value":1390},{"type":45,"tag":209,"props":6306,"children":6307},{"style":238},[6308],{"type":59,"value":2174},{"type":45,"tag":209,"props":6310,"children":6311},{"style":1382},[6312],{"type":59,"value":6313}," deny",{"type":45,"tag":209,"props":6315,"children":6316},{"style":238},[6317],{"type":59,"value":1390},{"type":45,"tag":209,"props":6319,"children":6320},{"style":1314},[6321],{"type":59,"value":1799},{"type":45,"tag":209,"props":6323,"children":6324},{"style":238},[6325],{"type":59,"value":6174},{"type":45,"tag":209,"props":6327,"children":6328},{"style":232},[6329],{"type":59,"value":6330},"set-cookie",{"type":45,"tag":209,"props":6332,"children":6333},{"style":238},[6334],{"type":59,"value":6174},{"type":45,"tag":209,"props":6336,"children":6337},{"style":1314},[6338],{"type":59,"value":6205},{"type":45,"tag":209,"props":6340,"children":6341},{"style":238},[6342],{"type":59,"value":6210},{"type":45,"tag":209,"props":6344,"children":6345},{"class":211,"line":328},[6346],{"type":45,"tag":209,"props":6347,"children":6348},{"style":238},[6349],{"type":59,"value":4837},{"type":45,"tag":209,"props":6351,"children":6352},{"class":211,"line":337},[6353],{"type":45,"tag":209,"props":6354,"children":6355},{"style":238},[6356],{"type":59,"value":1592},{"type":45,"tag":209,"props":6358,"children":6359},{"class":211,"line":374},[6360,6364,6368],{"type":45,"tag":209,"props":6361,"children":6362},{"style":238},[6363],{"type":59,"value":1962},{"type":45,"tag":209,"props":6365,"children":6366},{"style":1314},[6367],{"type":59,"value":1721},{"type":45,"tag":209,"props":6369,"children":6370},{"style":238},[6371],{"type":59,"value":1341},{"type":45,"tag":1216,"props":6373,"children":6375},{"id":6374},"react-compatibility-matrix",[6376],{"type":59,"value":6377},"React Compatibility Matrix",{"type":45,"tag":681,"props":6379,"children":6380},{},[6381,6402],{"type":45,"tag":685,"props":6382,"children":6383},{},[6384],{"type":45,"tag":689,"props":6385,"children":6386},{},[6387,6392,6397],{"type":45,"tag":693,"props":6388,"children":6389},{},[6390],{"type":59,"value":6391},"React Version",{"type":45,"tag":693,"props":6393,"children":6394},{},[6395],{"type":59,"value":6396},"Error handling approach",{"type":45,"tag":693,"props":6398,"children":6399},{},[6400],{"type":59,"value":6401},"SDK minimum",{"type":45,"tag":704,"props":6403,"children":6404},{},[6405,6436,6464],{"type":45,"tag":689,"props":6406,"children":6407},{},[6408,6412,6426],{"type":45,"tag":711,"props":6409,"children":6410},{},[6411],{"type":59,"value":2427},{"type":45,"tag":711,"props":6413,"children":6414},{},[6415,6420,6421],{"type":45,"tag":110,"props":6416,"children":6418},{"className":6417},[],[6419],{"type":59,"value":726},{"type":59,"value":1149},{"type":45,"tag":110,"props":6422,"children":6424},{"className":6423},[],[6425],{"type":59,"value":1155},{"type":45,"tag":711,"props":6427,"children":6428},{},[6429,6434],{"type":45,"tag":110,"props":6430,"children":6432},{"className":6431},[],[6433],{"type":59,"value":115},{"type":59,"value":6435}," ≥8.0.0",{"type":45,"tag":689,"props":6437,"children":6438},{},[6439,6444,6454],{"type":45,"tag":711,"props":6440,"children":6441},{},[6442],{"type":59,"value":6443},"React 16–18",{"type":45,"tag":711,"props":6445,"children":6446},{},[6447,6452],{"type":45,"tag":110,"props":6448,"children":6450},{"className":6449},[],[6451],{"type":59,"value":746},{"type":59,"value":6453}," component",{"type":45,"tag":711,"props":6455,"children":6456},{},[6457,6462],{"type":45,"tag":110,"props":6458,"children":6460},{"className":6459},[],[6461],{"type":59,"value":115},{"type":59,"value":6463}," ≥7.0.0",{"type":45,"tag":689,"props":6465,"children":6466},{},[6467,6472,6483],{"type":45,"tag":711,"props":6468,"children":6469},{},[6470],{"type":59,"value":6471},"React 16",{"type":45,"tag":711,"props":6473,"children":6474},{},[6475,6481],{"type":45,"tag":110,"props":6476,"children":6478},{"className":6477},[],[6479],{"type":59,"value":6480},"componentDidCatch",{"type":59,"value":6482}," class boundaries",{"type":45,"tag":711,"props":6484,"children":6485},{},[6486,6491],{"type":45,"tag":110,"props":6487,"children":6489},{"className":6488},[],[6490],{"type":59,"value":115},{"type":59,"value":6492}," ≥6.0.0",{"type":45,"tag":183,"props":6494,"children":6495},{},[],{"type":45,"tag":83,"props":6497,"children":6499},{"id":6498},"verification",[6500],{"type":59,"value":6501},"Verification",{"type":45,"tag":50,"props":6503,"children":6504},{},[6505],{"type":59,"value":6506},"Trigger test events to confirm Sentry is receiving data:",{"type":45,"tag":198,"props":6508,"children":6510},{"className":2111,"code":6509,"language":2113,"meta":203,"style":203},"\u002F\u002F Add a temporary test button anywhere in your app\nimport * as Sentry from \"@sentry\u002Freact\";\n\nfunction SentryTest() {\n  return (\n    \u003C>\n      \u003Cbutton onClick={() => { throw new Error(\"Sentry React test error\"); }}>\n        Test Error\n      \u003C\u002Fbutton>\n      \u003Cbutton onClick={() => Sentry.captureMessage(\"Sentry test message\", \"info\")}>\n        Test Message\n      \u003C\u002Fbutton>\n    \u003C\u002F>\n  );\n}\n",[6511],{"type":45,"tag":110,"props":6512,"children":6513},{"__ignoreMap":203},[6514,6522,6561,6568,6588,6601,6609,6686,6694,6710,6789,6797,6812,6820,6832],{"type":45,"tag":209,"props":6515,"children":6516},{"class":211,"line":212},[6517],{"type":45,"tag":209,"props":6518,"children":6519},{"style":216},[6520],{"type":59,"value":6521},"\u002F\u002F Add a temporary test button anywhere in your app\n",{"type":45,"tag":209,"props":6523,"children":6524},{"class":211,"line":222},[6525,6529,6533,6537,6541,6545,6549,6553,6557],{"type":45,"tag":209,"props":6526,"children":6527},{"style":1298},[6528],{"type":59,"value":1301},{"type":45,"tag":209,"props":6530,"children":6531},{"style":238},[6532],{"type":59,"value":1306},{"type":45,"tag":209,"props":6534,"children":6535},{"style":1298},[6536],{"type":59,"value":1311},{"type":45,"tag":209,"props":6538,"children":6539},{"style":1314},[6540],{"type":59,"value":1317},{"type":45,"tag":209,"props":6542,"children":6543},{"style":1298},[6544],{"type":59,"value":1322},{"type":45,"tag":209,"props":6546,"children":6547},{"style":238},[6548],{"type":59,"value":1327},{"type":45,"tag":209,"props":6550,"children":6551},{"style":232},[6552],{"type":59,"value":115},{"type":45,"tag":209,"props":6554,"children":6555},{"style":238},[6556],{"type":59,"value":1336},{"type":45,"tag":209,"props":6558,"children":6559},{"style":238},[6560],{"type":59,"value":1341},{"type":45,"tag":209,"props":6562,"children":6563},{"class":211,"line":269},[6564],{"type":45,"tag":209,"props":6565,"children":6566},{"emptyLinePlaceholder":40},[6567],{"type":59,"value":275},{"type":45,"tag":209,"props":6569,"children":6570},{"class":211,"line":278},[6571,6575,6580,6584],{"type":45,"tag":209,"props":6572,"children":6573},{"style":2802},[6574],{"type":59,"value":5400},{"type":45,"tag":209,"props":6576,"children":6577},{"style":1363},[6578],{"type":59,"value":6579}," SentryTest",{"type":45,"tag":209,"props":6581,"children":6582},{"style":238},[6583],{"type":59,"value":1638},{"type":45,"tag":209,"props":6585,"children":6586},{"style":238},[6587],{"type":59,"value":1552},{"type":45,"tag":209,"props":6589,"children":6590},{"class":211,"line":287},[6591,6596],{"type":45,"tag":209,"props":6592,"children":6593},{"style":1298},[6594],{"type":59,"value":6595},"  return",{"type":45,"tag":209,"props":6597,"children":6598},{"style":1382},[6599],{"type":59,"value":6600}," (\n",{"type":45,"tag":209,"props":6602,"children":6603},{"class":211,"line":320},[6604],{"type":45,"tag":209,"props":6605,"children":6606},{"style":238},[6607],{"type":59,"value":6608},"    \u003C>\n",{"type":45,"tag":209,"props":6610,"children":6611},{"class":211,"line":328},[6612,6617,6622,6627,6632,6637,6641,6646,6651,6656,6660,6664,6669,6673,6677,6681],{"type":45,"tag":209,"props":6613,"children":6614},{"style":238},[6615],{"type":59,"value":6616},"      \u003C",{"type":45,"tag":209,"props":6618,"children":6619},{"style":1382},[6620],{"type":59,"value":6621},"button",{"type":45,"tag":209,"props":6623,"children":6624},{"style":2802},[6625],{"type":59,"value":6626}," onClick",{"type":45,"tag":209,"props":6628,"children":6629},{"style":238},[6630],{"type":59,"value":6631},"={()",{"type":45,"tag":209,"props":6633,"children":6634},{"style":2802},[6635],{"type":59,"value":6636}," =>",{"type":45,"tag":209,"props":6638,"children":6639},{"style":238},[6640],{"type":59,"value":2174},{"type":45,"tag":209,"props":6642,"children":6643},{"style":1298},[6644],{"type":59,"value":6645}," throw",{"type":45,"tag":209,"props":6647,"children":6648},{"style":238},[6649],{"type":59,"value":6650}," new",{"type":45,"tag":209,"props":6652,"children":6653},{"style":1363},[6654],{"type":59,"value":6655}," Error",{"type":45,"tag":209,"props":6657,"children":6658},{"style":1382},[6659],{"type":59,"value":1371},{"type":45,"tag":209,"props":6661,"children":6662},{"style":238},[6663],{"type":59,"value":1336},{"type":45,"tag":209,"props":6665,"children":6666},{"style":232},[6667],{"type":59,"value":6668},"Sentry React test error",{"type":45,"tag":209,"props":6670,"children":6671},{"style":238},[6672],{"type":59,"value":1336},{"type":45,"tag":209,"props":6674,"children":6675},{"style":1382},[6676],{"type":59,"value":1721},{"type":45,"tag":209,"props":6678,"children":6679},{"style":238},[6680],{"type":59,"value":2150},{"type":45,"tag":209,"props":6682,"children":6683},{"style":238},[6684],{"type":59,"value":6685}," }}>\n",{"type":45,"tag":209,"props":6687,"children":6688},{"class":211,"line":337},[6689],{"type":45,"tag":209,"props":6690,"children":6691},{"style":1314},[6692],{"type":59,"value":6693},"        Test Error\n",{"type":45,"tag":209,"props":6695,"children":6696},{"class":211,"line":374},[6697,6702,6706],{"type":45,"tag":209,"props":6698,"children":6699},{"style":238},[6700],{"type":59,"value":6701},"      \u003C\u002F",{"type":45,"tag":209,"props":6703,"children":6704},{"style":1382},[6705],{"type":59,"value":6621},{"type":45,"tag":209,"props":6707,"children":6708},{"style":238},[6709],{"type":59,"value":2368},{"type":45,"tag":209,"props":6711,"children":6712},{"class":211,"line":382},[6713,6717,6721,6725,6729,6733,6737,6741,6746,6750,6754,6759,6763,6767,6771,6776,6780,6784],{"type":45,"tag":209,"props":6714,"children":6715},{"style":238},[6716],{"type":59,"value":6616},{"type":45,"tag":209,"props":6718,"children":6719},{"style":1382},[6720],{"type":59,"value":6621},{"type":45,"tag":209,"props":6722,"children":6723},{"style":2802},[6724],{"type":59,"value":6626},{"type":45,"tag":209,"props":6726,"children":6727},{"style":238},[6728],{"type":59,"value":6631},{"type":45,"tag":209,"props":6730,"children":6731},{"style":2802},[6732],{"type":59,"value":6636},{"type":45,"tag":209,"props":6734,"children":6735},{"style":1314},[6736],{"type":59,"value":3424},{"type":45,"tag":209,"props":6738,"children":6739},{"style":238},[6740],{"type":59,"value":1360},{"type":45,"tag":209,"props":6742,"children":6743},{"style":1363},[6744],{"type":59,"value":6745},"captureMessage",{"type":45,"tag":209,"props":6747,"children":6748},{"style":1314},[6749],{"type":59,"value":1371},{"type":45,"tag":209,"props":6751,"children":6752},{"style":238},[6753],{"type":59,"value":1336},{"type":45,"tag":209,"props":6755,"children":6756},{"style":232},[6757],{"type":59,"value":6758},"Sentry test message",{"type":45,"tag":209,"props":6760,"children":6761},{"style":238},[6762],{"type":59,"value":1336},{"type":45,"tag":209,"props":6764,"children":6765},{"style":238},[6766],{"type":59,"value":1427},{"type":45,"tag":209,"props":6768,"children":6769},{"style":238},[6770],{"type":59,"value":1327},{"type":45,"tag":209,"props":6772,"children":6773},{"style":232},[6774],{"type":59,"value":6775},"info",{"type":45,"tag":209,"props":6777,"children":6778},{"style":238},[6779],{"type":59,"value":1336},{"type":45,"tag":209,"props":6781,"children":6782},{"style":1314},[6783],{"type":59,"value":1721},{"type":45,"tag":209,"props":6785,"children":6786},{"style":238},[6787],{"type":59,"value":6788},"}>\n",{"type":45,"tag":209,"props":6790,"children":6791},{"class":211,"line":391},[6792],{"type":45,"tag":209,"props":6793,"children":6794},{"style":1314},[6795],{"type":59,"value":6796},"        Test Message\n",{"type":45,"tag":209,"props":6798,"children":6799},{"class":211,"line":428},[6800,6804,6808],{"type":45,"tag":209,"props":6801,"children":6802},{"style":238},[6803],{"type":59,"value":6701},{"type":45,"tag":209,"props":6805,"children":6806},{"style":1382},[6807],{"type":59,"value":6621},{"type":45,"tag":209,"props":6809,"children":6810},{"style":238},[6811],{"type":59,"value":2368},{"type":45,"tag":209,"props":6813,"children":6814},{"class":211,"line":436},[6815],{"type":45,"tag":209,"props":6816,"children":6817},{"style":238},[6818],{"type":59,"value":6819},"    \u003C\u002F>\n",{"type":45,"tag":209,"props":6821,"children":6822},{"class":211,"line":445},[6823,6828],{"type":45,"tag":209,"props":6824,"children":6825},{"style":1382},[6826],{"type":59,"value":6827},"  )",{"type":45,"tag":209,"props":6829,"children":6830},{"style":238},[6831],{"type":59,"value":1341},{"type":45,"tag":209,"props":6833,"children":6834},{"class":211,"line":484},[6835],{"type":45,"tag":209,"props":6836,"children":6837},{"style":238},[6838],{"type":59,"value":6839},"}\n",{"type":45,"tag":50,"props":6841,"children":6842},{},[6843],{"type":59,"value":6844},"Check the Sentry dashboard:",{"type":45,"tag":90,"props":6846,"children":6847},{},[6848,6858,6868,6878],{"type":45,"tag":94,"props":6849,"children":6850},{},[6851,6856],{"type":45,"tag":129,"props":6852,"children":6853},{},[6854],{"type":59,"value":6855},"Issues",{"type":59,"value":6857}," → error appears within seconds",{"type":45,"tag":94,"props":6859,"children":6860},{},[6861,6866],{"type":45,"tag":129,"props":6862,"children":6863},{},[6864],{"type":59,"value":6865},"Traces",{"type":59,"value":6867}," → page load and navigation transactions visible",{"type":45,"tag":94,"props":6869,"children":6870},{},[6871,6876],{"type":45,"tag":129,"props":6872,"children":6873},{},[6874],{"type":59,"value":6875},"Replays",{"type":59,"value":6877}," → session recording visible after page interaction",{"type":45,"tag":94,"props":6879,"children":6880},{},[6881,6886],{"type":45,"tag":129,"props":6882,"children":6883},{},[6884],{"type":59,"value":6885},"Logs",{"type":59,"value":6887}," → structured log entries if logging enabled",{"type":45,"tag":50,"props":6889,"children":6890},{},[6891,6893,6899,6901,6906],{"type":59,"value":6892},"Set ",{"type":45,"tag":110,"props":6894,"children":6896},{"className":6895},[],[6897],{"type":59,"value":6898},"debug: true",{"type":59,"value":6900}," in ",{"type":45,"tag":110,"props":6902,"children":6904},{"className":6903},[],[6905],{"type":59,"value":1281},{"type":59,"value":6907}," and check the browser console if nothing appears.",{"type":45,"tag":183,"props":6909,"children":6910},{},[],{"type":45,"tag":83,"props":6912,"children":6914},{"id":6913},"phase-4-cross-link",[6915],{"type":59,"value":6916},"Phase 4: Cross-Link",{"type":45,"tag":50,"props":6918,"children":6919},{},[6920],{"type":59,"value":6921},"After completing React setup, check for a companion backend missing Sentry coverage:",{"type":45,"tag":198,"props":6923,"children":6925},{"className":200,"code":6924,"language":202,"meta":203,"style":203},"ls ..\u002Fbackend ..\u002Fserver ..\u002Fapi ..\u002Fgo ..\u002Fpython 2>\u002Fdev\u002Fnull\ncat ..\u002Fgo.mod 2>\u002Fdev\u002Fnull | head -3\ncat ..\u002Frequirements.txt ..\u002Fpyproject.toml 2>\u002Fdev\u002Fnull | head -3\ncat ..\u002FGemfile 2>\u002Fdev\u002Fnull | head -3\ncat ..\u002Fpom.xml 2>\u002Fdev\u002Fnull | grep '\u003CartifactId>' | head -3\n",[6926],{"type":45,"tag":110,"props":6927,"children":6928},{"__ignoreMap":203},[6929,6966,6997,7033,7064],{"type":45,"tag":209,"props":6930,"children":6931},{"class":211,"line":212},[6932,6936,6940,6944,6948,6953,6958,6962],{"type":45,"tag":209,"props":6933,"children":6934},{"style":226},[6935],{"type":59,"value":451},{"type":45,"tag":209,"props":6937,"children":6938},{"style":232},[6939],{"type":59,"value":602},{"type":45,"tag":209,"props":6941,"children":6942},{"style":232},[6943],{"type":59,"value":607},{"type":45,"tag":209,"props":6945,"children":6946},{"style":232},[6947],{"type":59,"value":612},{"type":45,"tag":209,"props":6949,"children":6950},{"style":232},[6951],{"type":59,"value":6952}," ..\u002Fgo",{"type":45,"tag":209,"props":6954,"children":6955},{"style":232},[6956],{"type":59,"value":6957}," ..\u002Fpython",{"type":45,"tag":209,"props":6959,"children":6960},{"style":238},[6961],{"type":59,"value":476},{"type":45,"tag":209,"props":6963,"children":6964},{"style":232},[6965],{"type":59,"value":481},{"type":45,"tag":209,"props":6967,"children":6968},{"class":211,"line":222},[6969,6973,6977,6981,6985,6989,6993],{"type":45,"tag":209,"props":6970,"children":6971},{"style":226},[6972],{"type":59,"value":229},{"type":45,"tag":209,"props":6974,"children":6975},{"style":232},[6976],{"type":59,"value":633},{"type":45,"tag":209,"props":6978,"children":6979},{"style":238},[6980],{"type":59,"value":476},{"type":45,"tag":209,"props":6982,"children":6983},{"style":232},[6984],{"type":59,"value":657},{"type":45,"tag":209,"props":6986,"children":6987},{"style":238},[6988],{"type":59,"value":241},{"type":45,"tag":209,"props":6990,"children":6991},{"style":226},[6992],{"type":59,"value":666},{"type":45,"tag":209,"props":6994,"children":6995},{"style":232},[6996],{"type":59,"value":671},{"type":45,"tag":209,"props":6998,"children":6999},{"class":211,"line":269},[7000,7004,7008,7013,7017,7021,7025,7029],{"type":45,"tag":209,"props":7001,"children":7002},{"style":226},[7003],{"type":59,"value":229},{"type":45,"tag":209,"props":7005,"children":7006},{"style":232},[7007],{"type":59,"value":638},{"type":45,"tag":209,"props":7009,"children":7010},{"style":232},[7011],{"type":59,"value":7012}," ..\u002Fpyproject.toml",{"type":45,"tag":209,"props":7014,"children":7015},{"style":238},[7016],{"type":59,"value":476},{"type":45,"tag":209,"props":7018,"children":7019},{"style":232},[7020],{"type":59,"value":657},{"type":45,"tag":209,"props":7022,"children":7023},{"style":238},[7024],{"type":59,"value":241},{"type":45,"tag":209,"props":7026,"children":7027},{"style":226},[7028],{"type":59,"value":666},{"type":45,"tag":209,"props":7030,"children":7031},{"style":232},[7032],{"type":59,"value":671},{"type":45,"tag":209,"props":7034,"children":7035},{"class":211,"line":278},[7036,7040,7044,7048,7052,7056,7060],{"type":45,"tag":209,"props":7037,"children":7038},{"style":226},[7039],{"type":59,"value":229},{"type":45,"tag":209,"props":7041,"children":7042},{"style":232},[7043],{"type":59,"value":643},{"type":45,"tag":209,"props":7045,"children":7046},{"style":238},[7047],{"type":59,"value":476},{"type":45,"tag":209,"props":7049,"children":7050},{"style":232},[7051],{"type":59,"value":657},{"type":45,"tag":209,"props":7053,"children":7054},{"style":238},[7055],{"type":59,"value":241},{"type":45,"tag":209,"props":7057,"children":7058},{"style":226},[7059],{"type":59,"value":666},{"type":45,"tag":209,"props":7061,"children":7062},{"style":232},[7063],{"type":59,"value":671},{"type":45,"tag":209,"props":7065,"children":7066},{"class":211,"line":287},[7067,7071,7075,7079,7083,7087,7091,7095,7100,7104,7108,7112],{"type":45,"tag":209,"props":7068,"children":7069},{"style":226},[7070],{"type":59,"value":229},{"type":45,"tag":209,"props":7072,"children":7073},{"style":232},[7074],{"type":59,"value":648},{"type":45,"tag":209,"props":7076,"children":7077},{"style":238},[7078],{"type":59,"value":476},{"type":45,"tag":209,"props":7080,"children":7081},{"style":232},[7082],{"type":59,"value":657},{"type":45,"tag":209,"props":7084,"children":7085},{"style":238},[7086],{"type":59,"value":241},{"type":45,"tag":209,"props":7088,"children":7089},{"style":226},[7090],{"type":59,"value":246},{"type":45,"tag":209,"props":7092,"children":7093},{"style":238},[7094],{"type":59,"value":256},{"type":45,"tag":209,"props":7096,"children":7097},{"style":232},[7098],{"type":59,"value":7099},"\u003CartifactId>",{"type":45,"tag":209,"props":7101,"children":7102},{"style":238},[7103],{"type":59,"value":6174},{"type":45,"tag":209,"props":7105,"children":7106},{"style":238},[7107],{"type":59,"value":241},{"type":45,"tag":209,"props":7109,"children":7110},{"style":226},[7111],{"type":59,"value":666},{"type":45,"tag":209,"props":7113,"children":7114},{"style":232},[7115],{"type":59,"value":671},{"type":45,"tag":50,"props":7117,"children":7118},{},[7119],{"type":59,"value":7120},"If a backend exists without Sentry configured, suggest the matching skill:",{"type":45,"tag":681,"props":7122,"children":7123},{},[7124,7140],{"type":45,"tag":685,"props":7125,"children":7126},{},[7127],{"type":45,"tag":689,"props":7128,"children":7129},{},[7130,7135],{"type":45,"tag":693,"props":7131,"children":7132},{},[7133],{"type":59,"value":7134},"Backend detected",{"type":45,"tag":693,"props":7136,"children":7137},{},[7138],{"type":59,"value":7139},"Suggest skill",{"type":45,"tag":704,"props":7141,"children":7142},{},[7143,7167,7198,7222,7263],{"type":45,"tag":689,"props":7144,"children":7145},{},[7146,7158],{"type":45,"tag":711,"props":7147,"children":7148},{},[7149,7151,7157],{"type":59,"value":7150},"Go (",{"type":45,"tag":110,"props":7152,"children":7154},{"className":7153},[],[7155],{"type":59,"value":7156},"go.mod",{"type":59,"value":1721},{"type":45,"tag":711,"props":7159,"children":7160},{},[7161],{"type":45,"tag":110,"props":7162,"children":7164},{"className":7163},[],[7165],{"type":59,"value":7166},"sentry-go-sdk",{"type":45,"tag":689,"props":7168,"children":7169},{},[7170,7189],{"type":45,"tag":711,"props":7171,"children":7172},{},[7173,7175,7181,7182,7188],{"type":59,"value":7174},"Python (",{"type":45,"tag":110,"props":7176,"children":7178},{"className":7177},[],[7179],{"type":59,"value":7180},"requirements.txt",{"type":59,"value":779},{"type":45,"tag":110,"props":7183,"children":7185},{"className":7184},[],[7186],{"type":59,"value":7187},"pyproject.toml",{"type":59,"value":1721},{"type":45,"tag":711,"props":7190,"children":7191},{},[7192],{"type":45,"tag":110,"props":7193,"children":7195},{"className":7194},[],[7196],{"type":59,"value":7197},"sentry-python-sdk",{"type":45,"tag":689,"props":7199,"children":7200},{},[7201,7213],{"type":45,"tag":711,"props":7202,"children":7203},{},[7204,7206,7212],{"type":59,"value":7205},"Ruby (",{"type":45,"tag":110,"props":7207,"children":7209},{"className":7208},[],[7210],{"type":59,"value":7211},"Gemfile",{"type":59,"value":1721},{"type":45,"tag":711,"props":7214,"children":7215},{},[7216],{"type":45,"tag":110,"props":7217,"children":7219},{"className":7218},[],[7220],{"type":59,"value":7221},"sentry-ruby-sdk",{"type":45,"tag":689,"props":7223,"children":7224},{},[7225,7244],{"type":45,"tag":711,"props":7226,"children":7227},{},[7228,7230,7236,7237,7243],{"type":59,"value":7229},"Java (",{"type":45,"tag":110,"props":7231,"children":7233},{"className":7232},[],[7234],{"type":59,"value":7235},"pom.xml",{"type":59,"value":779},{"type":45,"tag":110,"props":7238,"children":7240},{"className":7239},[],[7241],{"type":59,"value":7242},"build.gradle",{"type":59,"value":1721},{"type":45,"tag":711,"props":7245,"children":7246},{},[7247,7248,7254,7256],{"type":59,"value":720},{"type":45,"tag":110,"props":7249,"children":7251},{"className":7250},[],[7252],{"type":59,"value":7253},"@sentry\u002Fjava",{"type":59,"value":7255}," — see ",{"type":45,"tag":54,"props":7257,"children":7260},{"href":7258,"rel":7259},"https:\u002F\u002Fdocs.sentry.io\u002Fplatforms\u002Fjava\u002F",[176],[7261],{"type":59,"value":7262},"docs.sentry.io\u002Fplatforms\u002Fjava\u002F",{"type":45,"tag":689,"props":7264,"children":7265},{},[7266,7271],{"type":45,"tag":711,"props":7267,"children":7268},{},[7269],{"type":59,"value":7270},"Node.js (Express, Fastify)",{"type":45,"tag":711,"props":7272,"children":7273},{},[7274,7275,7281,7282],{"type":59,"value":720},{"type":45,"tag":110,"props":7276,"children":7278},{"className":7277},[],[7279],{"type":59,"value":7280},"@sentry\u002Fnode",{"type":59,"value":7255},{"type":45,"tag":54,"props":7283,"children":7286},{"href":7284,"rel":7285},"https:\u002F\u002Fdocs.sentry.io\u002Fplatforms\u002Fjavascript\u002Fguides\u002Fexpress\u002F",[176],[7287],{"type":59,"value":7288},"docs.sentry.io\u002Fplatforms\u002Fjavascript\u002Fguides\u002Fexpress\u002F",{"type":45,"tag":183,"props":7290,"children":7291},{},[],{"type":45,"tag":83,"props":7293,"children":7295},{"id":7294},"troubleshooting",[7296],{"type":59,"value":7297},"Troubleshooting",{"type":45,"tag":681,"props":7299,"children":7300},{},[7301,7317],{"type":45,"tag":685,"props":7302,"children":7303},{},[7304],{"type":45,"tag":689,"props":7305,"children":7306},{},[7307,7312],{"type":45,"tag":693,"props":7308,"children":7309},{},[7310],{"type":59,"value":7311},"Issue",{"type":45,"tag":693,"props":7313,"children":7314},{},[7315],{"type":59,"value":7316},"Solution",{"type":45,"tag":704,"props":7318,"children":7319},{},[7320,7339,7367,7380,7398,7425,7445,7464,7489,7514,7535,7555,7581],{"type":45,"tag":689,"props":7321,"children":7322},{},[7323,7328],{"type":45,"tag":711,"props":7324,"children":7325},{},[7326],{"type":59,"value":7327},"Events not appearing",{"type":45,"tag":711,"props":7329,"children":7330},{},[7331,7332,7337],{"type":59,"value":6892},{"type":45,"tag":110,"props":7333,"children":7335},{"className":7334},[],[7336],{"type":59,"value":6898},{"type":59,"value":7338},", check DSN, open browser console for SDK errors",{"type":45,"tag":689,"props":7340,"children":7341},{},[7342,7347],{"type":45,"tag":711,"props":7343,"children":7344},{},[7345],{"type":59,"value":7346},"Source maps not working",{"type":45,"tag":711,"props":7348,"children":7349},{},[7350,7352,7358,7360,7365],{"type":59,"value":7351},"Build in production mode (",{"type":45,"tag":110,"props":7353,"children":7355},{"className":7354},[],[7356],{"type":59,"value":7357},"npm run build",{"type":59,"value":7359},"); verify ",{"type":45,"tag":110,"props":7361,"children":7363},{"className":7362},[],[7364],{"type":59,"value":4449},{"type":59,"value":7366}," is set",{"type":45,"tag":689,"props":7368,"children":7369},{},[7370,7375],{"type":45,"tag":711,"props":7371,"children":7372},{},[7373],{"type":59,"value":7374},"Minified stack traces",{"type":45,"tag":711,"props":7376,"children":7377},{},[7378],{"type":59,"value":7379},"Source maps not uploading — check plugin config and auth token",{"type":45,"tag":689,"props":7381,"children":7382},{},[7383,7393],{"type":45,"tag":711,"props":7384,"children":7385},{},[7386,7391],{"type":45,"tag":110,"props":7387,"children":7389},{"className":7388},[],[7390],{"type":59,"value":2099},{"type":59,"value":7392}," not running first",{"type":45,"tag":711,"props":7394,"children":7395},{},[7396],{"type":59,"value":7397},"Verify it's the first import in entry file before React\u002Fapp imports",{"type":45,"tag":689,"props":7399,"children":7400},{},[7401,7406],{"type":45,"tag":711,"props":7402,"children":7403},{},[7404],{"type":59,"value":7405},"React 19 errors not captured",{"type":45,"tag":711,"props":7407,"children":7408},{},[7409,7411,7416,7418,7423],{"type":59,"value":7410},"Confirm ",{"type":45,"tag":110,"props":7412,"children":7414},{"className":7413},[],[7415],{"type":59,"value":726},{"type":59,"value":7417}," is passed to all three ",{"type":45,"tag":110,"props":7419,"children":7421},{"className":7420},[],[7422],{"type":59,"value":1155},{"type":59,"value":7424}," options",{"type":45,"tag":689,"props":7426,"children":7427},{},[7428,7433],{"type":45,"tag":711,"props":7429,"children":7430},{},[7431],{"type":59,"value":7432},"React \u003C19 errors not captured",{"type":45,"tag":711,"props":7434,"children":7435},{},[7436,7438,7443],{"type":59,"value":7437},"Ensure ",{"type":45,"tag":110,"props":7439,"children":7441},{"className":7440},[],[7442],{"type":59,"value":2898},{"type":59,"value":7444}," wraps the component tree",{"type":45,"tag":689,"props":7446,"children":7447},{},[7448,7459],{"type":45,"tag":711,"props":7449,"children":7450},{},[7451,7453],{"type":59,"value":7452},"Router transactions named ",{"type":45,"tag":110,"props":7454,"children":7456},{"className":7455},[],[7457],{"type":59,"value":7458},"\u003Cunknown>",{"type":45,"tag":711,"props":7460,"children":7461},{},[7462],{"type":59,"value":7463},"Add router integration matching your router version",{"type":45,"tag":689,"props":7465,"children":7466},{},[7467,7477],{"type":45,"tag":711,"props":7468,"children":7469},{},[7470,7475],{"type":45,"tag":110,"props":7471,"children":7473},{"className":7472},[],[7474],{"type":59,"value":5421},{"type":59,"value":7476}," not matching",{"type":45,"tag":711,"props":7478,"children":7479},{},[7480,7482,7487],{"type":59,"value":7481},"Check regex escaping; default is ",{"type":45,"tag":110,"props":7483,"children":7485},{"className":7484},[],[7486],{"type":59,"value":1808},{"type":59,"value":7488}," and your DSN origin only",{"type":45,"tag":689,"props":7490,"children":7491},{},[7492,7497],{"type":45,"tag":711,"props":7493,"children":7494},{},[7495],{"type":59,"value":7496},"Session replay not recording",{"type":45,"tag":711,"props":7498,"children":7499},{},[7500,7501,7507,7509],{"type":59,"value":7410},{"type":45,"tag":110,"props":7502,"children":7504},{"className":7503},[],[7505],{"type":59,"value":7506},"replayIntegration()",{"type":59,"value":7508}," is in init; check ",{"type":45,"tag":110,"props":7510,"children":7512},{"className":7511},[],[7513],{"type":59,"value":5451},{"type":45,"tag":689,"props":7515,"children":7516},{},[7517,7522],{"type":45,"tag":711,"props":7518,"children":7519},{},[7520],{"type":59,"value":7521},"Redux actions not in breadcrumbs",{"type":45,"tag":711,"props":7523,"children":7524},{},[7525,7527,7533],{"type":59,"value":7526},"Add ",{"type":45,"tag":110,"props":7528,"children":7530},{"className":7529},[],[7531],{"type":59,"value":7532},"Sentry.createReduxEnhancer()",{"type":59,"value":7534}," to store enhancers",{"type":45,"tag":689,"props":7536,"children":7537},{},[7538,7543],{"type":45,"tag":711,"props":7539,"children":7540},{},[7541],{"type":59,"value":7542},"Ad blockers dropping events",{"type":45,"tag":711,"props":7544,"children":7545},{},[7546,7547,7553],{"type":59,"value":6892},{"type":45,"tag":110,"props":7548,"children":7550},{"className":7549},[],[7551],{"type":59,"value":7552},"tunnel: \"\u002Fsentry-tunnel\"",{"type":59,"value":7554}," and add server-side relay endpoint",{"type":45,"tag":689,"props":7556,"children":7557},{},[7558,7563],{"type":45,"tag":711,"props":7559,"children":7560},{},[7561],{"type":59,"value":7562},"High replay storage costs",{"type":45,"tag":711,"props":7564,"children":7565},{},[7566,7568,7573,7575],{"type":59,"value":7567},"Lower ",{"type":45,"tag":110,"props":7569,"children":7571},{"className":7570},[],[7572],{"type":59,"value":5451},{"type":59,"value":7574},"; keep ",{"type":45,"tag":110,"props":7576,"children":7578},{"className":7577},[],[7579],{"type":59,"value":7580},"replaysOnErrorSampleRate: 1.0",{"type":45,"tag":689,"props":7582,"children":7583},{},[7584,7589],{"type":45,"tag":711,"props":7585,"children":7586},{},[7587],{"type":59,"value":7588},"Profiling not working",{"type":45,"tag":711,"props":7590,"children":7591},{},[7592,7594,7599],{"type":59,"value":7593},"Verify ",{"type":45,"tag":110,"props":7595,"children":7597},{"className":7596},[],[7598],{"type":59,"value":1124},{"type":59,"value":7600}," header is set on document responses",{"type":45,"tag":7602,"props":7603,"children":7604},"style",{},[7605],{"type":59,"value":7606},"html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"items":7608,"total":7786},[7609,7634,7648,7663,7677,7694,7710,7724,7734,7745,7755,7773],{"slug":7610,"name":7610,"fn":7611,"description":7612,"org":7613,"tags":7614,"stars":7631,"repoUrl":7632,"updatedAt":7633},"xcodebuildmcp","build and test Apple apps with XcodeBuildMCP","Official skill for XcodeBuildMCP. Use when doing iOS\u002FmacOS\u002FwatchOS\u002FtvOS\u002FvisionOS work (build, test, run, debug, log, UI automation).",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[7615,7618,7621,7624,7625,7628],{"name":7616,"slug":7617,"type":16},"Debugging","debugging",{"name":7619,"slug":7620,"type":16},"iOS","ios",{"name":7622,"slug":7623,"type":16},"macOS","macos",{"name":9,"slug":8,"type":16},{"name":7626,"slug":7627,"type":16},"Testing","testing",{"name":7629,"slug":7630,"type":16},"Xcode","xcode",6176,"https:\u002F\u002Fgithub.com\u002Fgetsentry\u002FXcodeBuildMCP","2026-04-06T18:13:34.8719",{"slug":7635,"name":7635,"fn":7636,"description":7637,"org":7638,"tags":7639,"stars":7631,"repoUrl":7632,"updatedAt":7647},"xcodebuildmcp-cli","build and test Apple apps via CLI","Official skill for the XcodeBuildMCP CLI. Use when doing iOS\u002FmacOS\u002FwatchOS\u002FtvOS\u002FvisionOS work (build, test, run, debug, log, UI automation).",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[7640,7643,7644,7645,7646],{"name":7641,"slug":7642,"type":16},"CLI","cli",{"name":7619,"slug":7620,"type":16},{"name":7622,"slug":7623,"type":16},{"name":7626,"slug":7627,"type":16},{"name":7629,"slug":7630,"type":16},"2026-04-06T18:13:36.13414",{"slug":7649,"name":7649,"fn":7650,"description":7651,"org":7652,"tags":7653,"stars":7660,"repoUrl":7661,"updatedAt":7662},"agents-md","maintain project instruction files","Creates and maintains concise AGENTS.md and CLAUDE.md project instruction files. Use when asked to create AGENTS.md, update AGENTS.md, maintain agent docs, set up CLAUDE.md, document repository agent conventions, or keep coding-agent instructions minimal and reference-backed.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[7654,7657],{"name":7655,"slug":7656,"type":16},"Documentation","documentation",{"name":7658,"slug":7659,"type":16},"Engineering","engineering",861,"https:\u002F\u002Fgithub.com\u002Fgetsentry\u002Fskills","2026-05-15T06:16:29.695991",{"slug":7664,"name":7664,"fn":7665,"description":7666,"org":7667,"tags":7668,"stars":7660,"repoUrl":7661,"updatedAt":7676},"blog-writing-guide","write and review engineering blog posts","Write, review, and improve blog posts for the Sentry engineering blog following Sentry's specific writing standards, voice, and quality bar. Use this skill whenever someone asks to write a blog post, draft a technical article, review blog content, improve a draft, write a product announcement, create an engineering deep-dive, or produce any written content destined for the Sentry blog or developer audience. Also trigger when the user mentions \"blog post,\" \"blog draft,\" \"write-up,\" \"announcement post,\" \"engineering post,\" \"deep dive,\" \"postmortem,\" or asks for help with technical writing for Sentry. Even if the user just says \"help me write about [feature\u002Ftopic]\" — if it sounds like it could become a Sentry blog post, use this skill.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[7669,7672,7673],{"name":7670,"slug":7671,"type":16},"Communications","communications",{"name":9,"slug":8,"type":16},{"name":7674,"slug":7675,"type":16},"Technical Writing","technical-writing","2026-05-15T06:16:33.38217",{"slug":7678,"name":7678,"fn":7679,"description":7680,"org":7681,"tags":7682,"stars":7660,"repoUrl":7661,"updatedAt":7693},"brand-guidelines","write copy following Sentry brand guidelines","Write copy following Sentry brand guidelines. Use when writing UI text, error messages, empty states, onboarding flows, 404 pages, documentation, marketing copy, or any user-facing content. Covers both Plain Speech (default) and Sentry Voice tones.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[7683,7686,7689,7690],{"name":7684,"slug":7685,"type":16},"Branding","branding",{"name":7687,"slug":7688,"type":16},"Content Creation","content-creation",{"name":9,"slug":8,"type":16},{"name":7691,"slug":7692,"type":16},"UX Copy","ux-copy","2026-05-15T06:16:22.395707",{"slug":7695,"name":7695,"fn":7696,"description":7697,"org":7698,"tags":7699,"stars":7660,"repoUrl":7661,"updatedAt":7709},"claude-settings-audit","generate Claude Code settings permissions","Analyze a repository to generate recommended Claude Code settings.json permissions. Use when setting up a new project, auditing existing settings, or determining which read-only bash commands to allow. Detects tech stack, build tools, and monorepo structure.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[7700,7703,7706],{"name":7701,"slug":7702,"type":16},"Claude Code","claude-code",{"name":7704,"slug":7705,"type":16},"Configuration","configuration",{"name":7707,"slug":7708,"type":16},"Security","security","2026-05-15T06:16:44.335977",{"slug":7711,"name":7711,"fn":7712,"description":7713,"org":7714,"tags":7715,"stars":7660,"repoUrl":7661,"updatedAt":7723},"code-review","perform code reviews for Sentry projects","Perform code reviews following Sentry engineering practices. Use when reviewing pull requests, examining code changes, or providing feedback on code quality. Covers security, performance, testing, and design review.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[7716,7718,7719,7722],{"name":7717,"slug":7711,"type":16},"Code Review",{"name":7658,"slug":7659,"type":16},{"name":7720,"slug":7721,"type":16},"Performance","performance",{"name":7707,"slug":7708,"type":16},"2026-05-15T06:16:35.824864",{"slug":7725,"name":7725,"fn":7726,"description":7727,"org":7728,"tags":7729,"stars":7660,"repoUrl":7661,"updatedAt":7733},"code-simplifier","simplify and refine source code","Simplifies and refines code for clarity, consistency, and maintainability while preserving all functionality. Use when asked to \"simplify code\", \"clean up code\", \"refactor for clarity\", \"improve readability\", or review recently modified code for elegance. Focuses on project-specific best practices.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[7730],{"name":7731,"slug":7732,"type":16},"Code Analysis","code-analysis","2026-05-15T06:16:32.127981",{"slug":7735,"name":7735,"fn":7736,"description":7737,"org":7738,"tags":7739,"stars":7660,"repoUrl":7661,"updatedAt":7744},"commit","create commits with Sentry conventions","Use for every request to commit changes or draft a commit message. Creates Sentry-style conventional commits with issue references.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[7740,7743],{"name":7741,"slug":7742,"type":16},"Git","git",{"name":9,"slug":8,"type":16},"2026-07-18T05:15:10.723937",{"slug":7746,"name":7746,"fn":7747,"description":7748,"org":7749,"tags":7750,"stars":7660,"repoUrl":7661,"updatedAt":7754},"create-branch","create git branches for Sentry workflows","Create a git branch following Sentry naming conventions. Use when asked to \"create a branch\", \"new branch\", \"start a branch\", \"make a branch\", \"switch to a new branch\", or when starting new work on the default branch.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[7751,7752,7753],{"name":7658,"slug":7659,"type":16},{"name":7741,"slug":7742,"type":16},{"name":9,"slug":8,"type":16},"2026-05-15T06:16:39.458431",{"slug":7756,"name":7756,"fn":7757,"description":7758,"org":7759,"tags":7760,"stars":7660,"repoUrl":7661,"updatedAt":7772},"django-access-review","review Django access control and IDOR","Django access control and IDOR security review. Use when reviewing Django views, DRF viewsets, ORM queries, or any Python\u002FDjango code handling user authorization. Trigger keywords: \"IDOR\", \"access control\", \"authorization\", \"Django permissions\", \"object permissions\", \"tenant isolation\", \"broken access\".",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[7761,7764,7765,7768,7771],{"name":7762,"slug":7763,"type":16},"Access Control","access-control",{"name":7731,"slug":7732,"type":16},{"name":7766,"slug":7767,"type":16},"Django","django",{"name":7769,"slug":7770,"type":16},"Python","python",{"name":7707,"slug":7708,"type":16},"2026-05-15T06:16:43.098698",{"slug":7774,"name":7774,"fn":7775,"description":7776,"org":7777,"tags":7778,"stars":7660,"repoUrl":7661,"updatedAt":7785},"django-perf-review","review and optimize Django performance","Django performance code review. Use when asked to \"review Django performance\", \"find N+1 queries\", \"optimize Django\", \"check queryset performance\", \"database performance\", \"Django ORM issues\", or audit Django code for performance problems.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[7779,7780,7783,7784],{"name":7717,"slug":7711,"type":16},{"name":7781,"slug":7782,"type":16},"Database","database",{"name":7766,"slug":7767,"type":16},{"name":7720,"slug":7721,"type":16},"2026-05-15T06:16:24.832813",88,{"items":7788,"total":1876},[7789,7805,7819,7835,7847,7861,7876],{"slug":7790,"name":7790,"fn":7791,"description":7792,"org":7793,"tags":7794,"stars":24,"repoUrl":25,"updatedAt":7804},"sentry-android-sdk","setup Sentry SDK for Android","Full Sentry SDK setup for Android. Use when asked to \"add Sentry to Android\", \"install sentry-android\", \"setup Sentry in Android\", or configure error monitoring, tracing, profiling, session replay, or logging for Android applications. Supports Kotlin and Java codebases.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[7795,7798,7799,7800,7803],{"name":7796,"slug":7797,"type":16},"Android","android",{"name":7616,"slug":7617,"type":16},{"name":14,"slug":15,"type":16},{"name":7801,"slug":7802,"type":16},"SDK","sdk",{"name":9,"slug":8,"type":16},"2026-07-12T06:08:32.396344",{"slug":7806,"name":7806,"fn":7807,"description":7808,"org":7809,"tags":7810,"stars":24,"repoUrl":25,"updatedAt":7818},"sentry-browser-sdk","setup Sentry error monitoring for browser applications","Full Sentry SDK setup for browser JavaScript. Use when asked to \"add Sentry to a website\", \"install @sentry\u002Fbrowser\", or configure error monitoring, tracing, session replay, or logging for vanilla JavaScript, jQuery, static sites, or WordPress.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[7811,7812,7814,7817],{"name":7616,"slug":7617,"type":16},{"name":7813,"slug":4540,"type":16},"JavaScript",{"name":7815,"slug":7816,"type":16},"Monitoring","monitoring",{"name":9,"slug":8,"type":16},"2026-07-18T05:47:44.437436",{"slug":7820,"name":7820,"fn":7821,"description":7822,"org":7823,"tags":7824,"stars":24,"repoUrl":25,"updatedAt":7834},"sentry-cloudflare-sdk","setup Sentry monitoring for Cloudflare","Full Sentry SDK setup for Cloudflare Workers and Pages. Use when asked to \"add Sentry to Cloudflare Workers\", \"install @sentry\u002Fcloudflare\", or configure error monitoring, tracing, logging, crons, or AI monitoring for Cloudflare Workers, Pages, Durable Objects, Queues, Workflows, or Hono on Cloudflare.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[7825,7828,7831,7832,7833],{"name":7826,"slug":7827,"type":16},"Cloudflare","cloudflare",{"name":7829,"slug":7830,"type":16},"Edge Functions","edge-functions",{"name":7815,"slug":7816,"type":16},{"name":14,"slug":15,"type":16},{"name":9,"slug":8,"type":16},"2026-07-11T05:53:25.361175",{"slug":7836,"name":7836,"fn":7837,"description":7838,"org":7839,"tags":7840,"stars":24,"repoUrl":25,"updatedAt":7846},"sentry-cocoa-sdk","integrate Sentry SDK into Apple applications","Full Sentry SDK setup for Apple platforms (iOS, macOS, tvOS, watchOS, visionOS). Use when asked to \"add Sentry to iOS\", \"add Sentry to Swift\", \"install sentry-cocoa\", or configure error monitoring, tracing, profiling, session replay, logging, or metrics for Apple applications. Supports SwiftUI and UIKit.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[7841,7842,7843,7844,7845],{"name":7619,"slug":7620,"type":16},{"name":7622,"slug":7623,"type":16},{"name":7815,"slug":7816,"type":16},{"name":14,"slug":15,"type":16},{"name":9,"slug":8,"type":16},"2026-07-11T05:52:57.042493",{"slug":7848,"name":7848,"fn":7849,"description":7850,"org":7851,"tags":7852,"stars":24,"repoUrl":25,"updatedAt":7860},"sentry-dotnet-sdk","setup Sentry SDK for .NET","Full Sentry SDK setup for .NET. Use when asked to \"add Sentry to .NET\", \"install Sentry for C#\", or configure error monitoring, tracing, profiling, logging, or crons for ASP.NET Core, MAUI, WPF, WinForms, Blazor, Azure Functions, or any other .NET application.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[7853,7856,7857,7858,7859],{"name":7854,"slug":7855,"type":16},".NET","net",{"name":7616,"slug":7617,"type":16},{"name":14,"slug":15,"type":16},{"name":7801,"slug":7802,"type":16},{"name":9,"slug":8,"type":16},"2026-07-12T06:08:33.793148",{"slug":7862,"name":7862,"fn":7863,"description":7864,"org":7865,"tags":7866,"stars":24,"repoUrl":25,"updatedAt":7875},"sentry-elixir-sdk","setup Sentry SDK for Elixir","Full Sentry SDK setup for Elixir. Use when asked to \"add Sentry to Elixir\", \"install sentry for Elixir\", or configure error monitoring, tracing, logging, or crons for Elixir, Phoenix, or Plug applications. Supports Phoenix, Plug, LiveView, Oban, and Quantum.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[7867,7870,7873,7874],{"name":7868,"slug":7869,"type":16},"Backend","backend",{"name":7871,"slug":7872,"type":16},"Elixir","elixir",{"name":14,"slug":15,"type":16},{"name":9,"slug":8,"type":16},"2026-07-11T05:53:11.69581",{"slug":7877,"name":7877,"fn":7878,"description":7879,"org":7880,"tags":7881,"stars":24,"repoUrl":25,"updatedAt":7888},"sentry-fix-issues","fix production issues with Sentry","Find and fix issues from Sentry using MCP. Use when asked to fix Sentry errors, debug production issues, investigate exceptions, or resolve bugs reported in Sentry. Methodically analyzes stack traces, breadcrumbs, traces, and context to identify root causes.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[7882,7883,7886,7887],{"name":7616,"slug":7617,"type":16},{"name":7884,"slug":7885,"type":16},"Incident Response","incident-response",{"name":14,"slug":15,"type":16},{"name":9,"slug":8,"type":16},"2026-07-12T06:08:35.550824"]