diff --git a/apps/web/__tests__/unit/sentry-server-propagation.test.ts b/apps/web/__tests__/unit/sentry-server-propagation.test.ts new file mode 100644 index 0000000000..8aee14dfd5 --- /dev/null +++ b/apps/web/__tests__/unit/sentry-server-propagation.test.ts @@ -0,0 +1,29 @@ +import { beforeEach, describe, expect, it, vi } from "vitest"; + +const init = vi.hoisted(() => vi.fn()); +vi.mock("@sentry/nextjs", () => ({ init })); + +describe("server Sentry setup", () => { + beforeEach(() => { + init.mockReset(); + vi.resetModules(); + vi.stubEnv( + "NEXT_PUBLIC_SENTRY_DSN", + "https://public@example.ingest.sentry.io/1", + ); + }); + + it.each([ + ["node", "../../sentry.server.config"], + ["edge", "../../sentry.edge.config"], + ])( + "adds no trace headers to outgoing requests on the %s runtime", + async (_runtime, path) => { + await import(path); + expect(init).toHaveBeenCalledTimes(1); + const options = init.mock.calls[0]?.[0]; + expect(options.tracePropagationTargets).toEqual([]); + expect(options.tracesSampleRate).toBe(0); + }, + ); +}); diff --git a/apps/web/sentry.edge.config.ts b/apps/web/sentry.edge.config.ts index d5c5f513bd..8e01ed8982 100644 --- a/apps/web/sentry.edge.config.ts +++ b/apps/web/sentry.edge.config.ts @@ -7,6 +7,9 @@ if (dsn) { dsn, sendDefaultPii: false, tracesSampleRate: 0, + // Tracing is off, so the trace headers serve nothing on outgoing + // requests, and some of those go to customers' own servers. + tracePropagationTargets: [], maxBreadcrumbs: 30, }); } diff --git a/apps/web/sentry.server.config.ts b/apps/web/sentry.server.config.ts index d5c5f513bd..8e01ed8982 100644 --- a/apps/web/sentry.server.config.ts +++ b/apps/web/sentry.server.config.ts @@ -7,6 +7,9 @@ if (dsn) { dsn, sendDefaultPii: false, tracesSampleRate: 0, + // Tracing is off, so the trace headers serve nothing on outgoing + // requests, and some of those go to customers' own servers. + tracePropagationTargets: [], maxBreadcrumbs: 30, }); }