`beforeSend`: type `event_id` and `timestamp` as required
Mantenedores costumam responder em até 1 dia
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 2/5
- Tempo estimado
- 1-3 horas
- Facilidade para iniciantes
- 65/100
- Tipo de issue
- Bug
- Clareza
- Claramente especificada
- Status de atividade
- Ativa
- Stack de tecnologia
- typescript
- Domínio
- developer-experience
Direção de pesquisa
Comece rastreando _processEvent por prepareEvent até processBeforeSend e encontre os tipos dos callbacks beforeSend e beforeSendTransaction em @sentry/core. Atualize os tipos dos parâmetros para que os eventos preparados exijam event_id e timestamp e, em seguida, execute as verificações de tipos do TypeScript e os testes relacionados. O trabalho estará concluído quando ambos os callbacks expuserem esses campos como obrigatórios e os tipos de retorno existentes dos callbacks permanecerem inalterados.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
Problem Statement
beforeSend receives an ErrorEvent, which inherits event_id?: string and timestamp?: number from Event. But by the time beforeSend runs, both are always set: _processEvent only calls processBeforeSend with the result of prepareEvent, which does
event_id: event.event_id || hint.event_id || uuid4(),
timestamp: event.timestamp || dateTimestampInSeconds(),
So a common beforeSend use, like showing the user the event ID in a "report this error" link, needs a ! or a fallback that can never run.
Solution Brainstorm
Type the beforeSend parameter as ErrorEvent & { event_id: string; timestamp: number } (or a named "prepared event" type), and do the same for beforeSendTransaction. This only narrows a callback parameter, so existing callbacks still type-check, and the return type can stay ErrorEvent | null.
Additional Context
@sentry/core 11.6.0
Priority
React with 👍 to help prioritize this issue. Please use comments to provide useful context, avoiding +1 or me too, to help us triage it.
- Linguagem predominante
- TypeScript
- Estrelas
- 8.8k
- Forks
- 1.9k
- Merge médio
- 1d 10h
- PRs com merge (30d)
- 580
Preparar o ambiente
- Sem Dockerfile nem arquivo Docker Compose
- Tem um modelo de pull request
- Ler o guia de contribuição
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de getsentry/sentry-javascript
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 80/100
getsentry/sentry-javascript#24860 · 1 comentário ·
Mantenedores costumam responder em até 1 dia
-
javascript
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 75/100
getsentry/sentry-javascript#24200 · 2 comentários ·
Mantenedores costumam responder em até 1 dia
-
Cloudflare Workers javascript Tests
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
getsentry/sentry-javascript#24051 · 1 comentário ·
Mantenedores costumam responder em até 1 dia
-
Elysia events report as `sentry.javascript.bun`Talvez já em andamento @Shubham-Padkonde assumiu há 26 dias. AbertaBug Bun javascript
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 92/100
getsentry/sentry-javascript#24045 · 1 comentário ·
Mantenedores costumam responder em até 1 dia
-
vercel-edge: Missing exportsTalvez já em andamento Um pull request vinculado a esta issue está aberto ou já foi mesclado. Abertajavascript
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 75/100
getsentry/sentry-javascript#24043 · 1 comentário ·
Mantenedores costumam responder em até 1 dia
Todas as issues de getsentry/sentry-javascript
Issues semelhantes
-
bug
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 85/100
juice-shop/juice-shop#3686 ·
Mantenedores costumam responder em até 1 dia
-
bug
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
dsh-market/dsh-market#877 ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 82/100
-
enhancement
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 74/100
ScottKirvan/GOMAC#61 ·
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
stellar/stellar-dev-skill#151 ·
Mantenedores costumam responder em até 1 dia