From b433b0c9d89308853ff0fb41fda2a1dde8aa8acc Mon Sep 17 00:00:00 2001 From: Rodolfo Carvalho Date: Thu, 4 Jun 2020 19:07:19 +0200 Subject: [PATCH 1/2] feat: Remove normalization of contexts All of the context types documented in [1] are flat objects. The more recent addition contexts.trace is the only context type that may have nested objects under contexts.trace.data. That value holds the data for the Transaction Span and matches spans[].data for invidual Spans. Removing normalization is one solution to the inconsistency in which data in Transactions is heavily limited, while data in Span is ignored by normalization. This is the simplest to implement fix to #2646, thus what we implement here to evaluate. We expect that no other key under contexts will be affected negatively by this change. [1]: https://develop.sentry.dev/sdk/event-payloads/contexts/ Fixes #2646 --- packages/core/src/baseclient.ts | 4 ---- packages/core/test/lib/base.test.ts | 4 ++-- 2 files changed, 2 insertions(+), 6 deletions(-) diff --git a/packages/core/src/baseclient.ts b/packages/core/src/baseclient.ts index 8052e6e91605..60d31c54a640 100644 --- a/packages/core/src/baseclient.ts +++ b/packages/core/src/baseclient.ts @@ -289,7 +289,6 @@ export abstract class BaseClient implement * Normalized keys: * - `breadcrumbs.data` * - `user` - * - `contexts` * - `extra` * @param event Event * @returns Normalized event @@ -313,9 +312,6 @@ export abstract class BaseClient implement ...(event.user && { user: normalize(event.user, depth), }), - ...(event.contexts && { - contexts: normalize(event.contexts, depth), - }), ...(event.extra && { extra: normalize(event.extra, depth), }), diff --git a/packages/core/test/lib/base.test.ts b/packages/core/test/lib/base.test.ts index c3aa8a62f08f..ac0387f3f546 100644 --- a/packages/core/test/lib/base.test.ts +++ b/packages/core/test/lib/base.test.ts @@ -467,7 +467,7 @@ describe('BaseClient', () => { }); expect(TestBackend.instance!.event!).toEqual({ breadcrumbs: [normalizedBreadcrumb, normalizedBreadcrumb, normalizedBreadcrumb], - contexts: normalizedObject, + contexts: fourLevelsObject, event_id: '42', extra: normalizedObject, timestamp: 2020, @@ -512,7 +512,7 @@ describe('BaseClient', () => { }); expect(TestBackend.instance!.event!).toEqual({ breadcrumbs: [normalizedBreadcrumb, normalizedBreadcrumb, normalizedBreadcrumb], - contexts: normalizedObject, + contexts: fourLevelsObject, event_id: '42', extra: normalizedObject, timestamp: 2020, From 71b2ad3c15c170aec4f3842bebaaf7960f610edb Mon Sep 17 00:00:00 2001 From: Rodolfo Carvalho Date: Fri, 5 Jun 2020 15:22:09 +0200 Subject: [PATCH 2/2] misc: CHANGELOG --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index d14bf0d4c9af..86255b523c41 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,7 @@ - "You miss 100 percent of the chances you don't take. — Wayne Gretzky" — Michael Scott - [react] feat: Add @sentry/react package (#2631) +- [core] feat: Remove normalization of contexts (#2649) ## 5.16.1