amplitude / amplitude/Amplitude-TypeScript

unhandledRejection: TypeError: globalScope.addEventListener is not a function

Abierto
#942 0 comentarios 0 reacciones 0 asignados Ver en GitHub
bug
Lenguaje dominante
TypeScript
Estrellas
180
Forks
68
Merge medio
3 d 1 h
PR fusionados (30 d)
29

Descripción

## Expected Behavior
This exception should not be raised when `autocapture` options are enabled (seen with `pageViews`, `formInteractions`, and `fileDownloads`, but shouldn't happen with any configuration), or when `offline` mode is enabled (which is the default).

## Current Behavior
One of four different exceptions are raised:

1.
```
TypeError: _a.addEventListener is not a function
at eval (webpack-internal:///(rsc)/./node_modules/@amplitude/analytics-browser/lib/esm/plugins/file-download-tracking.js:39:145)
at step (webpack-internal:///(rsc)/./node_modules/tslib/tslib.es6.mjs:183:21)
at Object.eval [as next] (webpack-internal:///(rsc)/./node_modules/tslib/tslib.es6.mjs:164:51)
at eval (webpack-internal:///(rsc)/./node_modules/tslib/tslib.es6.mjs:157:69)
at new Promise ()
at __awaiter (webpack-internal:///(rsc)/./node_modules/tslib/tslib.es6.mjs:153:10)
at Object.setup (webpack-internal:///(rsc)/./node_modules/@amplitude/analytics-browser/lib/esm/plugins/file-download-tracking.js:32:103)
at Timeline.eval (webpack-internal:///(rsc)/./node_modules/@amplitude/analytics-browser/node_modules/@amplitude/analytics-core/lib/esm/timeline.js:37:107)
at step (webpack-internal:///(rsc)/./node_modules/tslib/tslib.es6.mjs:183:21)
at Object.eval [as next] (webpack-internal:///(rsc)/./node_modules/tslib/tslib.es6.mjs:164:51)
at eval (webpack-internal:///(rsc)/./node_modules/tslib/tslib.es6.mjs:157:69)
at new Promise ()
at __awaiter (webpack-internal:///(rsc)/./node_modules/tslib/tslib.es6.mjs:153:10)
at Timeline.register (webpack-internal:///(rsc)/./node_modules/@amplitude/analytics-browser/node_modules/@amplitude/analytics-core/lib/esm/timeline.js:23:64)
at AmplitudeCore._addPlugin (webpack-internal:///(rsc)/./node_modules/@amplitude/analytics-browser/node_modules/@amplitude/analytics-core/lib/esm/core-client.js:124:99)
at AmplitudeCore.add (webpack-internal:///(rsc)/./node_modules/@amplitude/analytics-browser/node_modules/@amplitude/analytics-core/lib/esm/core-client.js:121:21)
at AmplitudeBrowser.eval (webpack-internal:///(rsc)/./node_modules/@amplitude/analytics-browser/lib/esm/browser-client.js:136:51)
at step (webpack-internal:///(rsc)/./node_modules/tslib/tslib.es6.mjs:183:21)
at Object.eval [as next] (webpack-internal:///(rsc)/./node_modules/tslib/tslib.es6.mjs:164:51)
at fulfilled (webpack-internal:///(rsc)/./node_modules/tslib/tslib.es6.mjs:154:56)
```

2.
```
⨯ unhandledRejection: TypeError: _a.addEventListener is not a function
at eval (webpack-internal:///(rsc)/./node_modules/@amplitude/analytics-browser/lib/esm/plugins/file-download-tracking.js:39:145)
at step (webpack-internal:///(rsc)/./node_modules/tslib/tslib.es6.mjs:183:21)
at Object.eval [as next] (webpack-internal:///(rsc)/./node_modules/tslib/tslib.es6.mjs:164:51)
at eval (webpack-internal:///(rsc)/./node_modules/tslib/tslib.es6.mjs:157:69)
at new Promise ()
at __awaiter (webpack-internal:///(rsc)/./node_modules/tslib/tslib.es6.mjs:153:10)
at Object.setup (webpack-internal:///(rsc)/./node_modules/@amplitude/analytics-browser/lib/esm/plugins/file-download-tracking.js:32:103)
at Timeline.eval (webpack-internal:///(rsc)/./node_modules/@amplitude/analytics-browser/node_modules/@amplitude/analytics-core/lib/esm/timeline.js:37:107)
at step (webpack-internal:///(rsc)/./node_modules/tslib/tslib.es6.mjs:183:21)
at Object.eval [as next] (webpack-internal:///(rsc)/./node_modules/tslib/tslib.es6.mjs:164:51)
at eval (webpack-internal:///(rsc)/./node_modules/tslib/tslib.es6.mjs:157:69)
at new Promise ()
at __awaiter (webpack-internal:///(rsc)/./node_modules/tslib/tslib.es6.mjs:153:10)
at Timeline.register (webpack-internal:///(rsc)/./node_modules/@amplitude/analytics-browser/node_modules/@amplitude/analytics-core/lib/esm/timeline.js:23:64)
at AmplitudeCore._addPlugin (webpack-internal:///(rsc)/./node_modules/@amplitude/analytics-browser/node_modules/@amplitude/analytics-core/lib/esm/core-client.js:124:99)
at AmplitudeCore.add (webpack-internal:///(rsc)/./node_modules/@amplitude/analytics-browser/node_modules/@amplitude/analytics-core/lib/esm/core-client.js:121:21)
at AmplitudeBrowser.eval (webpack-internal:///(rsc)/./node_modules/@amplitude/analytics-browser/lib/esm/browser-client.js:136:51)
at step (webpack-internal:///(rsc)/./node_modules/tslib/tslib.es6.mjs:183:21)
at Object.eval [as next] (webpack-internal:///(rsc)/./node_modules/tslib/tslib.es6.mjs:164:51)
at fulfilled (webpack-internal:///(rsc)/./node_modules/tslib/tslib.es6.mjs:154:56)
```

3.

```
unhandledRejection: TypeError: _a.addEventListener is not a function
at eval (webpack-internal:///(rsc)/./node_modules/@amplitude/analytics-browser/lib/esm/plugins/file-download-tracking.js:39:145)
at step (webpack-internal:///(rsc)/./node_modules/tslib/tslib.es6.mjs:183:21)
at Object.eval [as next] (webpack-internal:///(rsc)/./node_modules/tslib/tslib.es6.mjs:164:51)
at eval (webpack-internal:///(rsc)/./node_modules/tslib/tslib.es6.mjs:157:69)
at new Promise ()
at __awaiter (webpack-internal:///(rsc)/./node_modules/tslib/tslib.es6.mjs:153:10)
at Object.setup (webpack-internal:///(rsc)/./node_modules/@amplitude/analytics-browser/lib/esm/plugins/file-download-tracking.js:32:103)
at Timeline.eval (webpack-internal:///(rsc)/./node_modules/@amplitude/analytics-browser/node_modules/@amplitude/analytics-core/lib/esm/timeline.js:37:107)
at step (webpack-internal:///(rsc)/./node_modules/tslib/tslib.es6.mjs:183:21)
at Object.eval [as next] (webpack-internal:///(rsc)/./node_modules/tslib/tslib.es6.mjs:164:51)
at eval (webpack-internal:///(rsc)/./node_modules/tslib/tslib.es6.mjs:157:69)
at new Promise ()
at __awaiter (webpack-internal:///(rsc)/./node_modules/tslib/tslib.es6.mjs:153:10)
at Timeline.register (webpack-internal:///(rsc)/./node_modules/@amplitude/analytics-browser/node_modules/@amplitude/analytics-core/lib/esm/timeline.js:23:64)
at AmplitudeCore._addPlugin (webpack-internal:///(rsc)/./node_modules/@amplitude/analytics-browser/node_modules/@amplitude/analytics-core/lib/esm/core-client.js:124:99)
at AmplitudeCore.add (webpack-internal:///(rsc)/./node_modules/@amplitude/analytics-browser/node_modules/@amplitude/analytics-core/lib/esm/core-client.js:121:21)
at AmplitudeBrowser.eval (webpack-internal:///(rsc)/./node_modules/@amplitude/analytics-browser/lib/esm/browser-client.js:136:51)
at step (webpack-internal:///(rsc)/./node_modules/tslib/tslib.es6.mjs:183:21)
at Object.eval [as next] (webpack-internal:///(rsc)/./node_modules/tslib/tslib.es6.mjs:164:51)
at fulfilled (webpack-internal:///(rsc)/./node_modules/tslib/tslib.es6.mjs:154:56)
```

4.

```
TypeError: globalScope.addEventListener is not a function
at addNetworkListener (webpack-internal:///(rsc)/./node_modules/@amplitude/analytics-browser/lib/esm/plugins/network-connectivity-checker.js:16:25)
at eval (webpack-internal:///(rsc)/./node_modules/@amplitude/analytics-browser/lib/esm/plugins/network-connectivity-checker.js:40:13)
at step (webpack-internal:///(rsc)/./node_modules/tslib/tslib.es6.mjs:183:21)
at Object.eval [as next] (webpack-internal:///(rsc)/./node_modules/tslib/tslib.es6.mjs:164:51)
at eval (webpack-internal:///(rsc)/./node_modules/tslib/tslib.es6.mjs:157:69)
at new Promise ()
at __awaiter (webpack-internal:///(rsc)/./node_modules/tslib/tslib.es6.mjs:153:10)
at Object.setup (webpack-internal:///(rsc)/./node_modules/@amplitude/analytics-browser/lib/esm/plugins/network-connectivity-checker.js:32:103)
at Timeline.eval (webpack-internal:///(rsc)/./node_modules/@amplitude/analytics-browser/node_modules/@amplitude/analytics-core/lib/esm/timeline.js:37:107)
at step (webpack-internal:///(rsc)/./node_modules/tslib/tslib.es6.mjs:183:21)
at Object.eval [as next] (webpack-internal:///(rsc)/./node_modules/tslib/tslib.es6.mjs:164:51)
at eval (webpack-internal:///(rsc)/./node_modules/tslib/tslib.es6.mjs:157:69)
at new Promise ()
at __awaiter (webpack-internal:///(rsc)/./node_modules/tslib/tslib.es6.mjs:153:10)
at Timeline.register (webpack-internal:///(rsc)/./node_modules/@amplitude/analytics-browser/node_modules/@amplitude/analytics-core/lib/esm/timeline.js:23:64)
at AmplitudeCore._addPlugin (webpack-internal:///(rsc)/./node_modules/@amplitude/analytics-browser/node_modules/@amplitude/analytics-core/lib/esm/core-client.js:124:99)
at AmplitudeCore.add (webpack-internal:///(rsc)/./node_modules/@amplitude/analytics-browser/node_modules/@amplitude/analytics-core/lib/esm/core-client.js:121:21)
at AmplitudeBrowser.eval (webpack-internal:///(rsc)/./node_modules/@amplitude/analytics-browser/lib/esm/browser-client.js:119:51)
at step (webpack-internal:///(rsc)/./node_modules/tslib/tslib.es6.mjs:183:21)
at Object.eval [as next] (webpack-internal:///(rsc)/./node_modules/tslib/tslib.es6.mjs:164:51)
at fulfilled (webpack-internal:///(rsc)/./node_modules/tslib/tslib.es6.mjs:154:56)
```

## Possible Solution
Disabling these autocapture features circumvents these errors, but is not ideal:
```
autocapture: {
pageViews: false,
formInteractions: false,
fileDownloads: false,
},
offline: amplitude.Types.OfflineDisabled,
```

## Steps to Reproduce
1. Call `amplitude.init(` with autocapture enabled on a standard NextJS `page.tsx`
2. Observe exceptions

## Environment
- JS SDK Version: `"@amplitude/analytics-browser": "^2.11.10",`
- Installation Method: npm
- Browser and Version: Firefox, latest

Guía de contribución

Abrir la guía de contribución

Evaluación

Este issue todavía no se ha evaluado.

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.