@openreplay/tracker 11.0.5 → 11.0.6
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 +4 -0
- package/cjs/app/canvas.js +8 -4
- package/cjs/app/index.js +1 -1
- package/cjs/index.js +1 -1
- package/lib/app/canvas.js +8 -4
- package/lib/app/index.js +1 -1
- package/lib/index.js +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
package/cjs/app/canvas.js
CHANGED
|
@@ -63,8 +63,10 @@ class CanvasRecorder {
|
|
|
63
63
|
}
|
|
64
64
|
const formData = new FormData();
|
|
65
65
|
images.forEach((snapshot) => {
|
|
66
|
-
const blob = dataUrlToBlob(snapshot.data)
|
|
67
|
-
|
|
66
|
+
const blob = dataUrlToBlob(snapshot.data);
|
|
67
|
+
if (!blob)
|
|
68
|
+
return;
|
|
69
|
+
formData.append('snapshot', blob[0], `${createdAt}_${canvasId}_${snapshot.id}.jpeg`);
|
|
68
70
|
if (this.options.isDebug) {
|
|
69
71
|
saveImageData(snapshot.data, `${createdAt}_${canvasId}_${snapshot.id}.jpeg`);
|
|
70
72
|
}
|
|
@@ -99,8 +101,10 @@ function captureSnapshot(canvas, quality = 'medium') {
|
|
|
99
101
|
}
|
|
100
102
|
function dataUrlToBlob(dataUrl) {
|
|
101
103
|
const [header, base64] = dataUrl.split(',');
|
|
102
|
-
|
|
103
|
-
|
|
104
|
+
const encParts = header.match(/:(.*?);/);
|
|
105
|
+
if (!encParts)
|
|
106
|
+
return null;
|
|
107
|
+
const mime = encParts[1];
|
|
104
108
|
const blobStr = atob(base64);
|
|
105
109
|
let n = blobStr.length;
|
|
106
110
|
const u8arr = new Uint8Array(n);
|
package/cjs/app/index.js
CHANGED
|
@@ -42,7 +42,7 @@ class App {
|
|
|
42
42
|
this.stopCallbacks = [];
|
|
43
43
|
this.commitCallbacks = [];
|
|
44
44
|
this.activityState = ActivityState.NotActive;
|
|
45
|
-
this.version = '11.0.
|
|
45
|
+
this.version = '11.0.6'; // TODO: version compatability check inside each plugin.
|
|
46
46
|
this.compressionThreshold = 24 * 1000;
|
|
47
47
|
this.restartAttempts = 0;
|
|
48
48
|
this.bc = null;
|
package/cjs/index.js
CHANGED
|
@@ -168,7 +168,7 @@ class API {
|
|
|
168
168
|
// no-cors issue only with text/plain or not-set Content-Type
|
|
169
169
|
// req.setRequestHeader("Content-Type", "application/json;charset=UTF-8");
|
|
170
170
|
req.send(JSON.stringify({
|
|
171
|
-
trackerVersion: '11.0.
|
|
171
|
+
trackerVersion: '11.0.6',
|
|
172
172
|
projectKey: options.projectKey,
|
|
173
173
|
doNotTrack,
|
|
174
174
|
// TODO: add precise reason (an exact API missing)
|
package/lib/app/canvas.js
CHANGED
|
@@ -61,8 +61,10 @@ class CanvasRecorder {
|
|
|
61
61
|
}
|
|
62
62
|
const formData = new FormData();
|
|
63
63
|
images.forEach((snapshot) => {
|
|
64
|
-
const blob = dataUrlToBlob(snapshot.data)
|
|
65
|
-
|
|
64
|
+
const blob = dataUrlToBlob(snapshot.data);
|
|
65
|
+
if (!blob)
|
|
66
|
+
return;
|
|
67
|
+
formData.append('snapshot', blob[0], `${createdAt}_${canvasId}_${snapshot.id}.jpeg`);
|
|
66
68
|
if (this.options.isDebug) {
|
|
67
69
|
saveImageData(snapshot.data, `${createdAt}_${canvasId}_${snapshot.id}.jpeg`);
|
|
68
70
|
}
|
|
@@ -97,8 +99,10 @@ function captureSnapshot(canvas, quality = 'medium') {
|
|
|
97
99
|
}
|
|
98
100
|
function dataUrlToBlob(dataUrl) {
|
|
99
101
|
const [header, base64] = dataUrl.split(',');
|
|
100
|
-
|
|
101
|
-
|
|
102
|
+
const encParts = header.match(/:(.*?);/);
|
|
103
|
+
if (!encParts)
|
|
104
|
+
return null;
|
|
105
|
+
const mime = encParts[1];
|
|
102
106
|
const blobStr = atob(base64);
|
|
103
107
|
let n = blobStr.length;
|
|
104
108
|
const u8arr = new Uint8Array(n);
|
package/lib/app/index.js
CHANGED
|
@@ -39,7 +39,7 @@ export default class App {
|
|
|
39
39
|
this.stopCallbacks = [];
|
|
40
40
|
this.commitCallbacks = [];
|
|
41
41
|
this.activityState = ActivityState.NotActive;
|
|
42
|
-
this.version = '11.0.
|
|
42
|
+
this.version = '11.0.6'; // TODO: version compatability check inside each plugin.
|
|
43
43
|
this.compressionThreshold = 24 * 1000;
|
|
44
44
|
this.restartAttempts = 0;
|
|
45
45
|
this.bc = null;
|
package/lib/index.js
CHANGED
|
@@ -163,7 +163,7 @@ export default class API {
|
|
|
163
163
|
// no-cors issue only with text/plain or not-set Content-Type
|
|
164
164
|
// req.setRequestHeader("Content-Type", "application/json;charset=UTF-8");
|
|
165
165
|
req.send(JSON.stringify({
|
|
166
|
-
trackerVersion: '11.0.
|
|
166
|
+
trackerVersion: '11.0.6',
|
|
167
167
|
projectKey: options.projectKey,
|
|
168
168
|
doNotTrack,
|
|
169
169
|
// TODO: add precise reason (an exact API missing)
|