From 3b034176ed57612b9b555cf13babb88483ea650a Mon Sep 17 00:00:00 2001 From: Ben Wilson Date: Mon, 22 Jul 2024 17:32:17 +0100 Subject: [PATCH 1/3] feat: :sparkles: add correlation property to eventPayload --- CHANGELOG.md | 4 ++++ packages/delivery-react-native/delivery.js | 3 ++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index d8c393070..623c1b68e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,10 @@ ## [8.0.0] - Unreleased +### Added + +- (delivery-react-native) Support error correlation properties in event payloads [#2174](https://github.com/bugsnag/bugsnag-js/pull/2174) + ### Fixed - (plugin-angular) Prevent excess change detection cycles when calling `Bugsnag.notify` [#1861](https://github.com/bugsnag/bugsnag-js/pull/1861) diff --git a/packages/delivery-react-native/delivery.js b/packages/delivery-react-native/delivery.js index aae87a237..8c2b2f5d3 100644 --- a/packages/delivery-react-native/delivery.js +++ b/packages/delivery-react-native/delivery.js @@ -29,7 +29,8 @@ module.exports = (client, NativeClient) => ({ groupingHash: event.groupingHash, apiKey: event.apiKey, featureFlags: event.toJSON().featureFlags, - nativeStack: nativeStack + nativeStack: nativeStack, + correlation: event.toJSON().correlation } if (isTurboModuleEnabled) { From d15e41d9177a0c6eedb8719ff4a6207e2fc4d11f Mon Sep 17 00:00:00 2001 From: Ben Wilson Date: Tue, 23 Jul 2024 13:44:53 +0100 Subject: [PATCH 2/3] test: :test_tube: test correlation property in delivery --- packages/delivery-react-native/test/delivery.test.ts | 3 +++ 1 file changed, 3 insertions(+) diff --git a/packages/delivery-react-native/test/delivery.test.ts b/packages/delivery-react-native/test/delivery.test.ts index 18fb877b8..023124101 100644 --- a/packages/delivery-react-native/test/delivery.test.ts +++ b/packages/delivery-react-native/test/delivery.test.ts @@ -26,6 +26,7 @@ type NativeClientEvent = Pick { c.setContext('test screen') c.setUser('123') c.notify(new Error('oh no'), (e) => { + e.setTraceCorrelation('trace-id', 'span-id') e.groupingHash = 'ER_GRP_098' e.apiKey = 'abcdef123456abcdef123456abcdef123456' }, (err, event) => { @@ -80,6 +82,7 @@ describe('delivery: react native', () => { expect(sent[0].metadata).toEqual({}) expect(sent[0].groupingHash).toEqual('ER_GRP_098') expect(sent[0].apiKey).toBe('abcdef123456abcdef123456abcdef123456') + expect(sent[0].correlation).toEqual({ traceId: 'trace-id', spanId: 'span-id' }) done() }) }) From 4c1af120cf476a163f398cbdc9fca4b620fd899e Mon Sep 17 00:00:00 2001 From: Ben Wilson Date: Wed, 24 Jul 2024 08:57:39 +0100 Subject: [PATCH 3/3] access `event._correlation` without use of .toJSON method --- packages/delivery-react-native/delivery.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/delivery-react-native/delivery.js b/packages/delivery-react-native/delivery.js index 8c2b2f5d3..d109af4b5 100644 --- a/packages/delivery-react-native/delivery.js +++ b/packages/delivery-react-native/delivery.js @@ -30,7 +30,7 @@ module.exports = (client, NativeClient) => ({ apiKey: event.apiKey, featureFlags: event.toJSON().featureFlags, nativeStack: nativeStack, - correlation: event.toJSON().correlation + correlation: event._correlation } if (isTurboModuleEnabled) {