feat: Sentry error monitoring for React frontend #98

Merged
chihlasm merged 2 commits from feat/sentry-frontend into main 2026-03-08 00:29:58 +00:00
chihlasm commented 2026-03-08 00:16:36 +00:00 (Migrated from github.com)

Summary

  • Adds @sentry/react with error monitoring, browser tracing, and session replay
  • React 19 reactErrorHandler() on all createRoot error hooks
  • React Router v7 integration via wrapCreateBrowserRouterV7 for route-aware transactions
  • Source map uploads via @sentry/vite-plugin for readable stack traces

Railway env vars needed

  • VITE_SENTRY_DSN — Sentry DSN (shared variable)
  • SENTRY_ORG — Sentry org slug (for source map uploads)
  • SENTRY_PROJECT — Sentry project slug
  • SENTRY_AUTH_TOKEN — Sentry auth token with org:read + project:releases

Test plan

  • Set VITE_SENTRY_DSN in Railway shared variables
  • Deploy PR env, open app, verify no console errors
  • Trigger a test error and confirm it appears in Sentry dashboard
  • Verify navigation transactions appear in Sentry Performance

🤖 Generated with Claude Code

## Summary - Adds `@sentry/react` with error monitoring, browser tracing, and session replay - React 19 `reactErrorHandler()` on all `createRoot` error hooks - React Router v7 integration via `wrapCreateBrowserRouterV7` for route-aware transactions - Source map uploads via `@sentry/vite-plugin` for readable stack traces ## Railway env vars needed - `VITE_SENTRY_DSN` — Sentry DSN (shared variable) - `SENTRY_ORG` — Sentry org slug (for source map uploads) - `SENTRY_PROJECT` — Sentry project slug - `SENTRY_AUTH_TOKEN` — Sentry auth token with `org:read` + `project:releases` ## Test plan - [ ] Set `VITE_SENTRY_DSN` in Railway shared variables - [ ] Deploy PR env, open app, verify no console errors - [ ] Trigger a test error and confirm it appears in Sentry dashboard - [ ] Verify navigation transactions appear in Sentry Performance 🤖 Generated with [Claude Code](https://claude.com/claude-code)
railway-app[bot] commented 2026-03-08 00:16:46 +00:00 (Migrated from github.com)

🚅 Deployed to the patherly-pr-98 environment in selfless-grace

Service Status Web Updated (UTC)
patherly Success (View Logs) Mar 8, 2026 at 12:24 am
hopeful-liberation Success (View Logs) Mar 8, 2026 at 12:23 am
<!-- railway-bot-comment-version=2 --> <!-- railway-project-id="22b9b58c-271b-42e5-a10e-6fdec8d00134" railway-project-name="selfless-grace" --> 🚅 Deployed to the [patherly-pr-98](https://railway.com/project/22b9b58c-271b-42e5-a10e-6fdec8d00134?environmentId=d0d921c0-a5bb-4faa-b3cb-1214600039a9) environment in **[selfless-grace](https://railway.com/project/22b9b58c-271b-42e5-a10e-6fdec8d00134)** | **Service** | **Status** | **Web** | **Updated** (UTC) | | :--- | :--- | :--- | :--- | | patherly | ✅ Success ([View Logs](https://railway.com/project/22b9b58c-271b-42e5-a10e-6fdec8d00134/service/95f556ff-5264-4116-a0c2-618a2fc53ba4?id=78d0021f-2a89-434c-9a2f-e13c511c0841&environmentId=d0d921c0-a5bb-4faa-b3cb-1214600039a9)) | | Mar 8, 2026 at 12:24 am | | hopeful-liberation | ✅ Success ([View Logs](https://railway.com/project/22b9b58c-271b-42e5-a10e-6fdec8d00134/service/e1db2ee3-d241-4f45-abe4-c9c5fdf483d5?id=32d52405-f71c-477f-9437-95f6ef5cc2fd&environmentId=d0d921c0-a5bb-4faa-b3cb-1214600039a9)) | | Mar 8, 2026 at 12:23 am |
Sign in to join this conversation.