getsentry / getsentry/sentry-javascript

hono: Double `init()` behaves differently per runtime

Abierto
#24,049 1 comentario 0 reacciones 0 asignados Ver en GitHub
Bug Bun javascript
Lenguaje dominante
TypeScript
Estrellas
8.7k
Forks
1.8k
Merge medio
1 d 17 h
PR fusionados (30 d)
523

Descripción

```
node : same client after 2nd init? true | release now: 1.0.0
bun : same client after 2nd init? false | release now: 2.0.0
(plus a console warning)
```

`hono/src/node/sdk.ts:15` returns the existing client and skips re-initialization. `hono/src/bun/sdk.ts:17` and `hono/src/deno/sdk.ts:17` warn and then re-initialize anyway, replacing the client. Anything buffered on the first client is dropped, and its integrations stay installed against a dead client.

The Hono docs tell users to init through the `sentry()` middleware, so a user who also calls `Sentry.init()` hits exactly this path.

**Work item.** Make all four entries behave the same way. Returning the existing client (the Node behavior) is the safer default. Keep the loud warning from bun/deno on all of them.

**Prior art **[#21176]() asked for the Bun middleware to follow the Node pattern. getsentry/sentry-javascript#21195 closed it by adding the warning only. The behavior divergence this item describes is what is left over: bun and deno warn and then re-initialize anyway.

Guía de contribución

Abrir la guía de contribución

Línea de trabajo

Start with hono/src/node/sdk.ts:15 and compare it with hono/src/bun/sdk.ts:17 and hono/src/deno/sdk.ts:17, then locate the fourth runtime entry. Check the initialization and warning behavior across all four entries. Done means every runtime warns on a second init while preserving and returning the existing client rather than replacing it.

Escrito por el modelo de indexación a partir del texto del issue.

Evaluación

Stack tecnológico
bun, deno, nodejs, typescript
Área
backend, observability
Tipo de issue
Error
Dificultad
3/5
Tiempo estimado
1-2 días
Estado de actividad
Activo
Claridad
Bien especificado
Aptitud para principiantes
76/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.