diff --git a/apps/frontend/src/app/(app)/layout.tsx b/apps/frontend/src/app/(app)/layout.tsx index 2ab02025..9c3373e0 100644 --- a/apps/frontend/src/app/(app)/layout.tsx +++ b/apps/frontend/src/app/(app)/layout.tsx @@ -43,6 +43,7 @@ export default async function AppLayout({ children }: { children: ReactNode }) { storageProvider={ process.env.STORAGE_PROVIDER! as 'local' | 'cloudflare' } + environment={process.env.NODE_ENV!} backendUrl={process.env.NEXT_PUBLIC_BACKEND_URL!} plontoKey={process.env.NEXT_PUBLIC_POLOTNO!} billingEnabled={!!process.env.STRIPE_PUBLISHABLE_KEY} diff --git a/apps/frontend/src/app/(extension)/layout.tsx b/apps/frontend/src/app/(extension)/layout.tsx index b49ec63d..844bdddd 100644 --- a/apps/frontend/src/app/(extension)/layout.tsx +++ b/apps/frontend/src/app/(extension)/layout.tsx @@ -27,6 +27,7 @@ export default async function AppLayout({ children }: { children: ReactNode }) { storageProvider={ process.env.STORAGE_PROVIDER! as 'local' | 'cloudflare' } + environment={process.env.NODE_ENV!} backendUrl={process.env.NEXT_PUBLIC_BACKEND_URL!} plontoKey={process.env.NEXT_PUBLIC_POLOTNO!} billingEnabled={!!process.env.STRIPE_PUBLISHABLE_KEY} diff --git a/apps/frontend/src/components/layout/sentry.component.tsx b/apps/frontend/src/components/layout/sentry.component.tsx index 3835f267..b9d9d497 100644 --- a/apps/frontend/src/components/layout/sentry.component.tsx +++ b/apps/frontend/src/components/layout/sentry.component.tsx @@ -5,14 +5,14 @@ import { useVariables } from '@gitroom/react/helpers/variable.context'; import { initializeSentryClient } from '@gitroom/react/sentry/initialize.sentry.client'; export const SentryComponent: FC<{ children: ReactNode }> = ({ children }) => { - const { sentryDsn: dsn } = useVariables(); + const { sentryDsn: dsn, environment } = useVariables(); useEffect(() => { if (!dsn) { return; } - initializeSentryClient(dsn); + initializeSentryClient(environment, dsn); }, [dsn]); // Always render children - don't block the app diff --git a/apps/frontend/src/sentry.edge.config.ts b/apps/frontend/src/sentry.edge.config.ts index b7f50a9a..7293c1b6 100644 --- a/apps/frontend/src/sentry.edge.config.ts +++ b/apps/frontend/src/sentry.edge.config.ts @@ -1,3 +1,3 @@ import { initializeSentryServer } from '@gitroom/react/sentry/initialize.sentry.server'; -initializeSentryServer(process.env.NEXT_PUBLIC_SENTRY_DSN); \ No newline at end of file +initializeSentryServer(process.env.NODE_ENV, process.env.NEXT_PUBLIC_SENTRY_DSN); \ No newline at end of file diff --git a/apps/frontend/src/sentry.server.config.ts b/apps/frontend/src/sentry.server.config.ts index f5c10c33..c845abfc 100644 --- a/apps/frontend/src/sentry.server.config.ts +++ b/apps/frontend/src/sentry.server.config.ts @@ -1,3 +1,3 @@ import { initializeSentryServer } from '@gitroom/react/sentry/initialize.sentry.server'; -initializeSentryServer(process.env.NEXT_PUBLIC_SENTRY_DSN); +initializeSentryServer(process.env.NODE_ENV!, process.env.NEXT_PUBLIC_SENTRY_DSN!); diff --git a/libraries/react-shared-libraries/src/helpers/variable.context.tsx b/libraries/react-shared-libraries/src/helpers/variable.context.tsx index 31b76c10..79ca812a 100644 --- a/libraries/react-shared-libraries/src/helpers/variable.context.tsx +++ b/libraries/react-shared-libraries/src/helpers/variable.context.tsx @@ -11,6 +11,7 @@ interface VariableContextInterface { plontoKey: string; storageProvider: 'local' | 'cloudflare'; backendUrl: string; + environment: string; discordUrl: string; uploadDirectory: string; facebookPixel: string; diff --git a/libraries/react-shared-libraries/src/sentry/initialize.sentry.client.ts b/libraries/react-shared-libraries/src/sentry/initialize.sentry.client.ts index 6479c6e0..416a96ef 100644 --- a/libraries/react-shared-libraries/src/sentry/initialize.sentry.client.ts +++ b/libraries/react-shared-libraries/src/sentry/initialize.sentry.client.ts @@ -1,8 +1,8 @@ import * as Sentry from '@sentry/nextjs'; import { initializeSentryBasic } from '@gitroom/react/sentry/initialize.sentry.next.basic'; -export const initializeSentryClient = (dsn: string) => - initializeSentryBasic(dsn, { +export const initializeSentryClient = (environment: string, dsn: string) => + initializeSentryBasic(environment, dsn, { integrations: [ // Add default integrations back Sentry.browserTracingIntegration(), @@ -12,7 +12,7 @@ export const initializeSentryClient = (dsn: string) => }), ], replaysSessionSampleRate: - process.env.NODE_ENV === 'development' ? 1.0 : 0.1, + environment === 'development' ? 1.0 : 0.1, replaysOnErrorSampleRate: - process.env.NODE_ENV === 'development' ? 1.0 : 0.1, + environment === 'development' ? 1.0 : 0.1, }); diff --git a/libraries/react-shared-libraries/src/sentry/initialize.sentry.next.basic.ts b/libraries/react-shared-libraries/src/sentry/initialize.sentry.next.basic.ts index beb91f84..27fa9169 100644 --- a/libraries/react-shared-libraries/src/sentry/initialize.sentry.next.basic.ts +++ b/libraries/react-shared-libraries/src/sentry/initialize.sentry.next.basic.ts @@ -1,6 +1,6 @@ import * as Sentry from '@sentry/nextjs'; -export const initializeSentryBasic = (dsn: string, extension: any) => { +export const initializeSentryBasic = (environment: string, dsn: string, extension: any) => { if (!dsn) { return; } @@ -20,11 +20,12 @@ export const initializeSentryBasic = (dsn: string, extension: any) => { }, }, }, + environment, dsn, sendDefaultPii: true, ...extension, - debug: process.env.NODE_ENV === 'development', - tracesSampleRate: process.env.NODE_ENV === 'development' ? 1.0 : 0.3, + debug: environment === 'development', + tracesSampleRate: environment === 'development' ? 1.0 : 0.3, }); } catch (err) {} }; diff --git a/libraries/react-shared-libraries/src/sentry/initialize.sentry.server.ts b/libraries/react-shared-libraries/src/sentry/initialize.sentry.server.ts index 61954f48..66e20445 100644 --- a/libraries/react-shared-libraries/src/sentry/initialize.sentry.server.ts +++ b/libraries/react-shared-libraries/src/sentry/initialize.sentry.server.ts @@ -1,5 +1,5 @@ import * as Sentry from '@sentry/nextjs'; import { initializeSentryBasic } from '@gitroom/react/sentry/initialize.sentry.next.basic'; -export const initializeSentryServer = (dsn: string) => - initializeSentryBasic(dsn, {}); +export const initializeSentryServer = (environment: string, dsn: string) => + initializeSentryBasic(environment, dsn, {});