getsentry / getsentry/sentry-javascript
Elysia on Node reports `runtime: {name: 'bun', version: 'unknown'}`
- Langage dominant
- TypeScript
- Étoiles
- 8.7k
- Forks
- 1.8k
- Merge moyen
- 1 j 17 h
- PR mergées (30 j)
- 523
Description
`elysia/src/sdk.ts:46` sets `runtime: getRuntime()`, which correctly returns `{name:'node'}` off Bun. Then `bun/src/sdk.ts:145` spreads the user options and overwrites `runtime` with its own hard-coded Bun value. Every Elysia-on-Node event is attributed to the wrong runtime. There is an `elysia-node` e2e app, so this configuration is supported.
**Work item** Make `bun/src/sdk.ts:148` respect a caller-supplied `runtime` (only default it when absent), matching `packages/node/src/sdk/client.ts:47`. Assert both runtimes in the Bun tests, and again in the Elysia tests.
**Prior art**: [#19269]() is the same bug one layer up: "`NodeClient` always overrides runtime context to 'node', ignoring Bun SDK's runtime option". It was fixed by making `NodeClient` respect a caller-supplied value, which is now `packages/node/src/sdk/client.ts:47`:
```ts
runtime: options.runtime || { name: 'node', version: global.process.version },
```
`packages/bun/src/sdk.ts:145` still does the unconditional override that #19269 removed from `NodeClient`, so any SDK wrapping `@sentry/bun` hits it. Apply the same one-line remedy there.
Guide de contribution
Ouvrir le guide de contribution
Piste de recherche
Commencez par packages/bun/src/sdk.ts:145-148 et comparez sa gestion de l’exécution avec packages/node/src/sdk/client.ts:47. Mettez à jour les tests Bun et les tests e2e de elysia-node afin de vérifier les deux valeurs d’exécution, y compris une valeur d’exécution fournie par l’appelant. Le travail est terminé lorsque Elysia sur Node indique Node, tandis que Bun indique toujours Bun.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- typescript
- Domaine
- backend
- Type d'issue
- Bug
- Difficulté
- 2/5
- Temps estimé
- 1-3 heures
- Activité
- Active
- Clarté
- Clairement spécifiée
- Accessibilité débutants
- 88/100