@openreplay/tracker 9.0.4 → 9.0.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,3 +1,7 @@
1
+ # 9.0.5
2
+
3
+ - same fixes but for fetch proxy
4
+
1
5
  # 9.0.2 & 9.0.3 & 9.0.4
2
6
 
3
7
  - fixes for "setSessionTokenHeader" method
package/cjs/app/index.js CHANGED
@@ -24,6 +24,13 @@ var ActivityState;
24
24
  })(ActivityState || (ActivityState = {}));
25
25
  // TODO: use backendHost only
26
26
  exports.DEFAULT_INGEST_POINT = 'https://api.openreplay.com/ingest';
27
+ function getTimezone() {
28
+ const offset = new Date().getTimezoneOffset() * -1;
29
+ const sign = offset >= 0 ? '+' : '-';
30
+ const hours = Math.floor(Math.abs(offset) / 60);
31
+ const minutes = Math.abs(offset) % 60;
32
+ return `UTC${sign}${String(hours).padStart(2, '0')}:${String(minutes).padStart(2, '0')}`;
33
+ }
27
34
  class App {
28
35
  constructor(projectKey, sessionToken, options) {
29
36
  // if (options.onStart !== undefined) {
@@ -35,7 +42,7 @@ class App {
35
42
  this.stopCallbacks = [];
36
43
  this.commitCallbacks = [];
37
44
  this.activityState = ActivityState.NotActive;
38
- this.version = '9.0.4'; // TODO: version compatability check inside each plugin.
45
+ this.version = '9.0.5'; // TODO: version compatability check inside each plugin.
39
46
  this.compressionThreshold = 24 * 1000;
40
47
  this.restartAttempts = 0;
41
48
  this.bc = null;
package/cjs/index.js CHANGED
@@ -153,7 +153,7 @@ class API {
153
153
  // no-cors issue only with text/plain or not-set Content-Type
154
154
  // req.setRequestHeader("Content-Type", "application/json;charset=UTF-8");
155
155
  req.send(JSON.stringify({
156
- trackerVersion: '9.0.4',
156
+ trackerVersion: '9.0.5',
157
157
  projectKey: options.projectKey,
158
158
  doNotTrack,
159
159
  // TODO: add precise reason (an exact API missing)
@@ -129,8 +129,10 @@ class FetchProxyHandler {
129
129
  return argsList[0].headers.append(name, value);
130
130
  }
131
131
  else {
132
+ if (!argsList[1])
133
+ argsList[1] = {};
132
134
  if (argsList[1].headers === undefined) {
133
- argsList[1].headers = {};
135
+ argsList[1] = Object.assign(Object.assign({}, argsList[1]), { headers: {} });
134
136
  }
135
137
  if (argsList[1].headers instanceof Headers) {
136
138
  argsList[1].headers.append(name, value);
@@ -139,6 +141,7 @@ class FetchProxyHandler {
139
141
  argsList[1].headers.push([name, value]);
140
142
  }
141
143
  else {
144
+ // @ts-ignore
142
145
  argsList[1].headers[name] = value;
143
146
  }
144
147
  }
package/lib/app/index.js CHANGED
@@ -21,6 +21,13 @@ var ActivityState;
21
21
  })(ActivityState || (ActivityState = {}));
22
22
  // TODO: use backendHost only
23
23
  export const DEFAULT_INGEST_POINT = 'https://api.openreplay.com/ingest';
24
+ function getTimezone() {
25
+ const offset = new Date().getTimezoneOffset() * -1;
26
+ const sign = offset >= 0 ? '+' : '-';
27
+ const hours = Math.floor(Math.abs(offset) / 60);
28
+ const minutes = Math.abs(offset) % 60;
29
+ return `UTC${sign}${String(hours).padStart(2, '0')}:${String(minutes).padStart(2, '0')}`;
30
+ }
24
31
  export default class App {
25
32
  constructor(projectKey, sessionToken, options) {
26
33
  // if (options.onStart !== undefined) {
@@ -32,7 +39,7 @@ export default class App {
32
39
  this.stopCallbacks = [];
33
40
  this.commitCallbacks = [];
34
41
  this.activityState = ActivityState.NotActive;
35
- this.version = '9.0.4'; // TODO: version compatability check inside each plugin.
42
+ this.version = '9.0.5'; // TODO: version compatability check inside each plugin.
36
43
  this.compressionThreshold = 24 * 1000;
37
44
  this.restartAttempts = 0;
38
45
  this.bc = null;
package/lib/index.js CHANGED
@@ -148,7 +148,7 @@ export default class API {
148
148
  // no-cors issue only with text/plain or not-set Content-Type
149
149
  // req.setRequestHeader("Content-Type", "application/json;charset=UTF-8");
150
150
  req.send(JSON.stringify({
151
- trackerVersion: '9.0.4',
151
+ trackerVersion: '9.0.5',
152
152
  projectKey: options.projectKey,
153
153
  doNotTrack,
154
154
  // TODO: add precise reason (an exact API missing)
@@ -125,8 +125,10 @@ export class FetchProxyHandler {
125
125
  return argsList[0].headers.append(name, value);
126
126
  }
127
127
  else {
128
+ if (!argsList[1])
129
+ argsList[1] = {};
128
130
  if (argsList[1].headers === undefined) {
129
- argsList[1].headers = {};
131
+ argsList[1] = Object.assign(Object.assign({}, argsList[1]), { headers: {} });
130
132
  }
131
133
  if (argsList[1].headers instanceof Headers) {
132
134
  argsList[1].headers.append(name, value);
@@ -135,6 +137,7 @@ export class FetchProxyHandler {
135
137
  argsList[1].headers.push([name, value]);
136
138
  }
137
139
  else {
140
+ // @ts-ignore
138
141
  argsList[1].headers[name] = value;
139
142
  }
140
143
  }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@openreplay/tracker",
3
3
  "description": "The OpenReplay tracker main package",
4
- "version": "9.0.4",
4
+ "version": "9.0.5",
5
5
  "keywords": [
6
6
  "logging",
7
7
  "replay"