From c82c84d1faadfc48954f906f97f8f963e22b7a72 Mon Sep 17 00:00:00 2001 From: Abhijeet Prasad Date: Mon, 20 Sep 2021 18:13:16 -0400 Subject: [PATCH 1/2] fix(browser): Use getGlobalObject for document check This should fix possible web worker issues --- packages/browser/src/transports/base.ts | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/packages/browser/src/transports/base.ts b/packages/browser/src/transports/base.ts index a4a8f054524e..87278d6e34ec 100644 --- a/packages/browser/src/transports/base.ts +++ b/packages/browser/src/transports/base.ts @@ -8,7 +8,14 @@ import { Transport, TransportOptions, } from '@sentry/types'; -import { dateTimestampInSeconds, logger, parseRetryAfterHeader, PromiseBuffer, SentryError } from '@sentry/utils'; +import { + dateTimestampInSeconds, + logger, + parseRetryAfterHeader, + PromiseBuffer, + SentryError, + getGlobalObject, +} from '@sentry/utils'; const CATEGORY_MAPPING: { [key in SentryRequestType]: string; @@ -19,6 +26,8 @@ const CATEGORY_MAPPING: { attachment: 'attachment', }; +const global = getGlobalObject(); + /** Base Transport class implementation */ export abstract class BaseTransport implements Transport { /** @@ -42,9 +51,9 @@ export abstract class BaseTransport implements Transport { // eslint-disable-next-line deprecation/deprecation this.url = this._api.getStoreEndpointWithUrlEncodedAuth(); - if (this.options.sendClientReports && document) { - document.addEventListener('visibilitychange', () => { - if (document.visibilityState === 'hidden') { + if (this.options.sendClientReports && global && global.document) { + global.document.addEventListener('visibilitychange', () => { + if (global.document.visibilityState === 'hidden') { this._flushOutcomes(); } }); From cd3f308c8a64d6f31a6a2904759bedb67c930e69 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kamil=20Og=C3=B3rek?= Date: Tue, 21 Sep 2021 09:45:29 +0200 Subject: [PATCH 2/2] linters --- packages/browser/src/transports/base.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/browser/src/transports/base.ts b/packages/browser/src/transports/base.ts index 87278d6e34ec..a2955f7c5969 100644 --- a/packages/browser/src/transports/base.ts +++ b/packages/browser/src/transports/base.ts @@ -10,11 +10,11 @@ import { } from '@sentry/types'; import { dateTimestampInSeconds, + getGlobalObject, logger, parseRetryAfterHeader, PromiseBuffer, SentryError, - getGlobalObject, } from '@sentry/utils'; const CATEGORY_MAPPING: {