From 95d2034af247ed995e7c5cda644b06c372be87fe Mon Sep 17 00:00:00 2001 From: Abhijeet Prasad Date: Tue, 7 Jun 2022 16:56:00 -0400 Subject: [PATCH] fix(node): Only set contexts runtime if not set. Make sure we don't overwrite contexts runtime if it has already been set. --- packages/node/src/client.ts | 2 +- packages/node/test/client.test.ts | 18 ++++++++++++++++++ 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/packages/node/src/client.ts b/packages/node/src/client.ts index c222bbe08b91..0dae7cd3d5c4 100644 --- a/packages/node/src/client.ts +++ b/packages/node/src/client.ts @@ -142,7 +142,7 @@ export class NodeClient extends BaseClient { event.platform = event.platform || 'node'; event.contexts = { ...event.contexts, - runtime: { + runtime: event.contexts?.runtime || { name: 'node', version: global.process.version, }, diff --git a/packages/node/test/client.test.ts b/packages/node/test/client.test.ts index 584bf74de257..30bc4db6f97e 100644 --- a/packages/node/test/client.test.ts +++ b/packages/node/test/client.test.ts @@ -216,6 +216,24 @@ describe('NodeClient', () => { }); }); + test('does not add runtime context to event if already defined on event', () => { + const options = getDefaultNodeClientOptions({ dsn: PUBLIC_DSN }); + client = new NodeClient(options); + + const event: Event = { + contexts: { + runtime: { + name: 'Electron', + version: '19.0.0', + }, + }, + }; + const hint: EventHint = {}; + (client as any)._prepareEvent(event, hint); + + expect(event.contexts?.runtime).toEqual(event.contexts?.runtime); + }); + test('adds server name to event when value passed in options', () => { const options = getDefaultNodeClientOptions({ dsn: PUBLIC_DSN, serverName: 'foo' }); client = new NodeClient(options);