import * as Sentry from "@sentry/nextjs"; const GLITCHTIP_DSN = process.env.NEXT_PUBLIC_GLITCHTIP_DSN; // Only initialize Sentry if DSN is configured if (GLITCHTIP_DSN) { Sentry.init({ dsn: GLITCHTIP_DSN, // Environment environment: process.env.NODE_ENV, // Sample rate for error events (1.0 = 100%) sampleRate: 1.0, // Performance monitoring sample rate (0.1 = 10%) tracesSampleRate: 0.1, // Use tunnel to bypass ad blockers tunnel: "/api/glitchtip-tunnel", // Disable debug in production debug: process.env.NODE_ENV === "development", // Ignore common non-actionable errors ignoreErrors: [ "ResizeObserver loop limit exceeded", "ResizeObserver loop completed with undelivered notifications", "Non-Error promise rejection captured", ], }); console.log("[Sentry] Client initialized with GlitchTip"); } else { console.log("[Sentry] Client disabled - no DSN configured"); }