getsentry / getsentry/sentry-javascript

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

Offen
#24,049 1 Kommentar 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
Bug Bun javascript
Vorherrschende Sprache
TypeScript
Sterne
8.7k
Forks
1.8k
Ø Merge
1 T. 17 Std.
Gemergte PRs (30 T.)
523

Beschreibung

```
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.

Beitragsleitfaden

Beitragsleitfaden öffnen

Rechercherichtung

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.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
bun, deno, nodejs, typescript
Bereich
backend, observability
Issue-Typ
Bug
Schwierigkeit
3/5
Geschätzter Aufwand
1-2 Tage
Aktivitätsstatus
Aktiv
Klarheit
Klar beschrieben
Anfängerfreundlichkeit
76/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.