import * as Sentry from '@sentry/react'; /** * Shared Sentry bootstrap for both marketing entries (/pro and root welcome). * Must be imported before the React render in every entry's main file. */ export function initSentry(): void { const sentryDsn = import.meta.env.VITE_SENTRY_DSN?.trim(); Sentry.init({ dsn: sentryDsn || undefined, environment: (location.hostname === 'worldmonitor.app' || location.hostname.endsWith('.worldmonitor.app')) ? 'production' : location.hostname.includes('vercel.app') ? 'preview' : 'development', enabled: Boolean(sentryDsn) && !location.hostname.startsWith('localhost'), allowUrls: [ /https?:\/\/(www\.|tech\.|finance\.|commodity\.|happy\.)?worldmonitor\.app/, /https?:\/\/.*\.vercel\.app/, ], tracesSampleRate: 0.1, ignoreErrors: [ /ResizeObserver loop/, /^TypeError: Load failed/, /^TypeError: Failed to fetch/, /^TypeError: NetworkError/, /Non-Error promise rejection captured with value:/, ], }); }