mirror of
https://github.com/melgarafael/DeskcommCRM.git
synced 2026-10-02 01:28:34 +08:00
O Sentry 11 trocou `sendDefaultPii` por `dataCollection`, com default AMPLO (IP, cookies, corpo de requisição/resposta, entrada/saída de IA, dados de query, filas). Omitir a opção, que era o conserto óbvio para o TS2353, faria o DSN da comunidade receber dado de titular de terceiros (issue #100). - lib/sentry/privacidade.ts: ponto único com `dataCollection` restritivo explícito (base "v10" do MIGRATION.md + stackFrameVariables: false) e os hooks de scrub; espalhado nos 4 Sentry.init (server, edge, client, worker). - lib/sentry/scrub.ts: beforeSendSpan no formato streamed (name/attributes), limpando também `sentry.segment.name`, headers-credencial/IP, corpo, user.* e client.address; beforeSend apaga request.data, request.cookies e user e passa a mensagem por scrubUrl (o token do path saía na mensagem do erro); beforeSendTransaction removido (no-op no 11, confirmado pelo guia). - lib/sentry/privacidade.sdk.test.ts: prova pelo envelope do SDK real, com transporte de captura e controles positivos; 4 sabotagens ficam vermelhas. - withSentryConfig de @sentry/nextjs/config; enableLogs removido; AGENTS.md cita Sentry 11; fragmento em .changes/. Substitui #1743. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
19 lines
685 B
TypeScript
19 lines
685 B
TypeScript
// This file configures the initialization of Sentry for edge features (middleware, edge routes, and so on).
|
|
// https://docs.sentry.io/platforms/javascript/guides/nextjs/
|
|
|
|
import * as Sentry from "@sentry/nextjs";
|
|
import { resolveSentryDsn, isCommunityDsn } from "./lib/sentry/dsn";
|
|
import { opcoesDePrivacidade } from "./lib/sentry/privacidade";
|
|
|
|
const sentryDsn = resolveSentryDsn(process.env.SENTRY_DSN);
|
|
|
|
Sentry.init({
|
|
dsn: sentryDsn,
|
|
|
|
// No Sentry da comunidade, só erro (issue #100). Ver isCommunityDsn().
|
|
tracesSampleRate: isCommunityDsn(sentryDsn) ? 0 : 1,
|
|
|
|
// Coleta restrita + scrub, num ponto só (Sentry 11 coleta amplo por default).
|
|
...opcoesDePrivacidade,
|
|
});
|