@pendo/agent 2.279.0 → 2.279.2
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/dist/dom.esm.js +1 -1
- package/dist/pendo.module.js +6 -127
- package/dist/pendo.module.min.js +11 -11
- package/package.json +1 -1
package/dist/dom.esm.js
CHANGED
|
@@ -7228,7 +7228,7 @@ function getScreenPosition(element) {
|
|
|
7228
7228
|
};
|
|
7229
7229
|
}
|
|
7230
7230
|
|
|
7231
|
-
var VERSION = '2.279.
|
|
7231
|
+
var VERSION = '2.279.2_';
|
|
7232
7232
|
function isExtensionAgent() {
|
|
7233
7233
|
var installType = getPendoConfigValue('installType') || getPendoConfigFromEnclosingScope().installType;
|
|
7234
7234
|
return installType === EXTENSION_INSTALL_TYPE;
|
package/dist/pendo.module.js
CHANGED
|
@@ -3891,8 +3891,8 @@ var SERVER = '';
|
|
|
3891
3891
|
var ASSET_HOST = '';
|
|
3892
3892
|
var ASSET_PATH = '';
|
|
3893
3893
|
var DESIGNER_ENV = '';
|
|
3894
|
-
var VERSION = '2.279.
|
|
3895
|
-
var PACKAGE_VERSION = '2.279.
|
|
3894
|
+
var VERSION = '2.279.2_';
|
|
3895
|
+
var PACKAGE_VERSION = '2.279.2';
|
|
3896
3896
|
var LOADER = 'xhr';
|
|
3897
3897
|
/* eslint-enable agent-eslint-rules/no-gulp-env-references */
|
|
3898
3898
|
/**
|
|
@@ -36519,8 +36519,11 @@ class SessionManager {
|
|
|
36519
36519
|
return this._sessionInfo.sessionId;
|
|
36520
36520
|
}
|
|
36521
36521
|
clearSessionInfo() {
|
|
36522
|
+
let currentSessionInfo = this.api.agentStorage.read(SESSION_ID);
|
|
36523
|
+
if (currentSessionInfo && JSON.parse(currentSessionInfo).sessionId === this._sessionInfo.sessionId) {
|
|
36524
|
+
this.api.agentStorage.clear(SESSION_ID);
|
|
36525
|
+
}
|
|
36522
36526
|
delete this._sessionInfo;
|
|
36523
|
-
this.api.agentStorage.clear(SESSION_ID);
|
|
36524
36527
|
this.sessionId();
|
|
36525
36528
|
}
|
|
36526
36529
|
storeLastInteractionEventInformation(timestamp) {
|
|
@@ -49204,32 +49207,6 @@ function initCanvasWebGLMutationObserver(cb, win, blockClass, blockSelector) {
|
|
|
49204
49207
|
handlers.forEach((h) => h());
|
|
49205
49208
|
};
|
|
49206
49209
|
}
|
|
49207
|
-
const encodedJs = "KGZ1bmN0aW9uKCkgewogICJ1c2Ugc3RyaWN0IjsKICB2YXIgY2hhcnMgPSAiQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODkrLyI7CiAgdmFyIGxvb2t1cCA9IHR5cGVvZiBVaW50OEFycmF5ID09PSAidW5kZWZpbmVkIiA/IFtdIDogbmV3IFVpbnQ4QXJyYXkoMjU2KTsKICBmb3IgKHZhciBpID0gMDsgaSA8IGNoYXJzLmxlbmd0aDsgaSsrKSB7CiAgICBsb29rdXBbY2hhcnMuY2hhckNvZGVBdChpKV0gPSBpOwogIH0KICB2YXIgZW5jb2RlID0gZnVuY3Rpb24oYXJyYXlidWZmZXIpIHsKICAgIHZhciBieXRlcyA9IG5ldyBVaW50OEFycmF5KGFycmF5YnVmZmVyKSwgaTIsIGxlbiA9IGJ5dGVzLmxlbmd0aCwgYmFzZTY0ID0gIiI7CiAgICBmb3IgKGkyID0gMDsgaTIgPCBsZW47IGkyICs9IDMpIHsKICAgICAgYmFzZTY0ICs9IGNoYXJzW2J5dGVzW2kyXSA+PiAyXTsKICAgICAgYmFzZTY0ICs9IGNoYXJzWyhieXRlc1tpMl0gJiAzKSA8PCA0IHwgYnl0ZXNbaTIgKyAxXSA+PiA0XTsKICAgICAgYmFzZTY0ICs9IGNoYXJzWyhieXRlc1tpMiArIDFdICYgMTUpIDw8IDIgfCBieXRlc1tpMiArIDJdID4+IDZdOwogICAgICBiYXNlNjQgKz0gY2hhcnNbYnl0ZXNbaTIgKyAyXSAmIDYzXTsKICAgIH0KICAgIGlmIChsZW4gJSAzID09PSAyKSB7CiAgICAgIGJhc2U2NCA9IGJhc2U2NC5zdWJzdHJpbmcoMCwgYmFzZTY0Lmxlbmd0aCAtIDEpICsgIj0iOwogICAgfSBlbHNlIGlmIChsZW4gJSAzID09PSAxKSB7CiAgICAgIGJhc2U2NCA9IGJhc2U2NC5zdWJzdHJpbmcoMCwgYmFzZTY0Lmxlbmd0aCAtIDIpICsgIj09IjsKICAgIH0KICAgIHJldHVybiBiYXNlNjQ7CiAgfTsKICBjb25zdCBsYXN0QmxvYk1hcCA9IC8qIEBfX1BVUkVfXyAqLyBuZXcgTWFwKCk7CiAgY29uc3QgdHJhbnNwYXJlbnRCbG9iTWFwID0gLyogQF9fUFVSRV9fICovIG5ldyBNYXAoKTsKICBhc3luYyBmdW5jdGlvbiBnZXRUcmFuc3BhcmVudEJsb2JGb3Iod2lkdGgsIGhlaWdodCwgZGF0YVVSTE9wdGlvbnMpIHsKICAgIGNvbnN0IGlkID0gYCR7d2lkdGh9LSR7aGVpZ2h0fWA7CiAgICBpZiAoIk9mZnNjcmVlbkNhbnZhcyIgaW4gZ2xvYmFsVGhpcykgewogICAgICBpZiAodHJhbnNwYXJlbnRCbG9iTWFwLmhhcyhpZCkpIHJldHVybiB0cmFuc3BhcmVudEJsb2JNYXAuZ2V0KGlkKTsKICAgICAgY29uc3Qgb2Zmc2NyZWVuID0gbmV3IE9mZnNjcmVlbkNhbnZhcyh3aWR0aCwgaGVpZ2h0KTsKICAgICAgb2Zmc2NyZWVuLmdldENvbnRleHQoIjJkIik7CiAgICAgIGNvbnN0IGJsb2IgPSBhd2FpdCBvZmZzY3JlZW4uY29udmVydFRvQmxvYihkYXRhVVJMT3B0aW9ucyk7CiAgICAgIGNvbnN0IGFycmF5QnVmZmVyID0gYXdhaXQgYmxvYi5hcnJheUJ1ZmZlcigpOwogICAgICBjb25zdCBiYXNlNjQgPSBlbmNvZGUoYXJyYXlCdWZmZXIpOwogICAgICB0cmFuc3BhcmVudEJsb2JNYXAuc2V0KGlkLCBiYXNlNjQpOwogICAgICByZXR1cm4gYmFzZTY0OwogICAgfSBlbHNlIHsKICAgICAgcmV0dXJuICIiOwogICAgfQogIH0KICBjb25zdCB3b3JrZXIgPSBzZWxmOwogIHdvcmtlci5vbm1lc3NhZ2UgPSBhc3luYyBmdW5jdGlvbihlKSB7CiAgICBpZiAoIk9mZnNjcmVlbkNhbnZhcyIgaW4gZ2xvYmFsVGhpcykgewogICAgICBjb25zdCB7IGlkLCBiaXRtYXAsIHdpZHRoLCBoZWlnaHQsIGRhdGFVUkxPcHRpb25zIH0gPSBlLmRhdGE7CiAgICAgIGNvbnN0IHRyYW5zcGFyZW50QmFzZTY0ID0gZ2V0VHJhbnNwYXJlbnRCbG9iRm9yKAogICAgICAgIHdpZHRoLAogICAgICAgIGhlaWdodCwKICAgICAgICBkYXRhVVJMT3B0aW9ucwogICAgICApOwogICAgICBjb25zdCBvZmZzY3JlZW4gPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKHdpZHRoLCBoZWlnaHQpOwogICAgICBjb25zdCBjdHggPSBvZmZzY3JlZW4uZ2V0Q29udGV4dCgiMmQiKTsKICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIDApOwogICAgICBiaXRtYXAuY2xvc2UoKTsKICAgICAgY29uc3QgYmxvYiA9IGF3YWl0IG9mZnNjcmVlbi5jb252ZXJ0VG9CbG9iKGRhdGFVUkxPcHRpb25zKTsKICAgICAgY29uc3QgdHlwZSA9IGJsb2IudHlwZTsKICAgICAgY29uc3QgYXJyYXlCdWZmZXIgPSBhd2FpdCBibG9iLmFycmF5QnVmZmVyKCk7CiAgICAgIGNvbnN0IGJhc2U2NCA9IGVuY29kZShhcnJheUJ1ZmZlcik7CiAgICAgIGlmICghbGFzdEJsb2JNYXAuaGFzKGlkKSAmJiBhd2FpdCB0cmFuc3BhcmVudEJhc2U2NCA9PT0gYmFzZTY0KSB7CiAgICAgICAgbGFzdEJsb2JNYXAuc2V0KGlkLCBiYXNlNjQpOwogICAgICAgIHJldHVybiB3b3JrZXIucG9zdE1lc3NhZ2UoeyBpZCB9KTsKICAgICAgfQogICAgICBpZiAobGFzdEJsb2JNYXAuZ2V0KGlkKSA9PT0gYmFzZTY0KSByZXR1cm4gd29ya2VyLnBvc3RNZXNzYWdlKHsgaWQgfSk7CiAgICAgIHdvcmtlci5wb3N0TWVzc2FnZSh7CiAgICAgICAgaWQsCiAgICAgICAgdHlwZSwKICAgICAgICBiYXNlNjQsCiAgICAgICAgd2lkdGgsCiAgICAgICAgaGVpZ2h0CiAgICAgIH0pOwogICAgICBsYXN0QmxvYk1hcC5zZXQoaWQsIGJhc2U2NCk7CiAgICB9IGVsc2UgewogICAgICByZXR1cm4gd29ya2VyLnBvc3RNZXNzYWdlKHsgaWQ6IGUuZGF0YS5pZCB9KTsKICAgIH0KICB9Owp9KSgpOwovLyMgc291cmNlTWFwcGluZ1VSTD1pbWFnZS1iaXRtYXAtZGF0YS11cmwtd29ya2VyLUlKcEM3Z19iLmpzLm1hcAo=";
|
|
49208
|
-
const decodeBase64 = (base64) => Uint8Array.from(atob(base64), (c2) => c2.charCodeAt(0));
|
|
49209
|
-
const blob = typeof window !== "undefined" && window.Blob && new Blob([decodeBase64(encodedJs)], { type: "text/javascript;charset=utf-8" });
|
|
49210
|
-
function WorkerWrapper(options) {
|
|
49211
|
-
let objURL;
|
|
49212
|
-
try {
|
|
49213
|
-
objURL = blob && (window.URL || window.webkitURL).createObjectURL(blob);
|
|
49214
|
-
if (!objURL) throw "";
|
|
49215
|
-
const worker = new Worker(objURL, {
|
|
49216
|
-
name: options == null ? void 0 : options.name
|
|
49217
|
-
});
|
|
49218
|
-
worker.addEventListener("error", () => {
|
|
49219
|
-
(window.URL || window.webkitURL).revokeObjectURL(objURL);
|
|
49220
|
-
});
|
|
49221
|
-
return worker;
|
|
49222
|
-
} catch (e2) {
|
|
49223
|
-
return new Worker(
|
|
49224
|
-
"data:text/javascript;base64," + encodedJs,
|
|
49225
|
-
{
|
|
49226
|
-
name: options == null ? void 0 : options.name
|
|
49227
|
-
}
|
|
49228
|
-
);
|
|
49229
|
-
} finally {
|
|
49230
|
-
objURL && (window.URL || window.webkitURL).revokeObjectURL(objURL);
|
|
49231
|
-
}
|
|
49232
|
-
}
|
|
49233
49210
|
class CanvasManager {
|
|
49234
49211
|
constructor(options) {
|
|
49235
49212
|
__publicField(this, "pendingCanvasMutations", /* @__PURE__ */ new Map());
|
|
@@ -49260,10 +49237,6 @@ class CanvasManager {
|
|
|
49260
49237
|
this.mirror = options.mirror;
|
|
49261
49238
|
if (recordCanvas && sampling === "all")
|
|
49262
49239
|
this.initCanvasMutationObserver(win, blockClass, blockSelector);
|
|
49263
|
-
if (recordCanvas && typeof sampling === "number")
|
|
49264
|
-
this.initCanvasFPSObserver(sampling, win, blockClass, blockSelector, {
|
|
49265
|
-
dataURLOptions
|
|
49266
|
-
});
|
|
49267
49240
|
}
|
|
49268
49241
|
reset() {
|
|
49269
49242
|
this.pendingCanvasMutations.clear();
|
|
@@ -49281,100 +49254,6 @@ class CanvasManager {
|
|
|
49281
49254
|
unlock() {
|
|
49282
49255
|
this.locked = false;
|
|
49283
49256
|
}
|
|
49284
|
-
initCanvasFPSObserver(fps, win, blockClass, blockSelector, options) {
|
|
49285
|
-
const canvasContextReset = initCanvasContextObserver(
|
|
49286
|
-
win,
|
|
49287
|
-
blockClass,
|
|
49288
|
-
blockSelector,
|
|
49289
|
-
true
|
|
49290
|
-
);
|
|
49291
|
-
const snapshotInProgressMap = /* @__PURE__ */ new Map();
|
|
49292
|
-
const worker = new WorkerWrapper();
|
|
49293
|
-
worker.onmessage = (e2) => {
|
|
49294
|
-
const { id } = e2.data;
|
|
49295
|
-
snapshotInProgressMap.set(id, false);
|
|
49296
|
-
if (!("base64" in e2.data)) return;
|
|
49297
|
-
const { base64, type, width, height } = e2.data;
|
|
49298
|
-
this.mutationCb({
|
|
49299
|
-
id,
|
|
49300
|
-
type: CanvasContext["2D"],
|
|
49301
|
-
commands: [
|
|
49302
|
-
{
|
|
49303
|
-
property: "clearRect",
|
|
49304
|
-
// wipe canvas
|
|
49305
|
-
args: [0, 0, width, height]
|
|
49306
|
-
},
|
|
49307
|
-
{
|
|
49308
|
-
property: "drawImage",
|
|
49309
|
-
// draws (semi-transparent) image
|
|
49310
|
-
args: [
|
|
49311
|
-
{
|
|
49312
|
-
rr_type: "ImageBitmap",
|
|
49313
|
-
args: [
|
|
49314
|
-
{
|
|
49315
|
-
rr_type: "Blob",
|
|
49316
|
-
data: [{ rr_type: "ArrayBuffer", base64 }],
|
|
49317
|
-
type
|
|
49318
|
-
}
|
|
49319
|
-
]
|
|
49320
|
-
},
|
|
49321
|
-
0,
|
|
49322
|
-
0
|
|
49323
|
-
]
|
|
49324
|
-
}
|
|
49325
|
-
]
|
|
49326
|
-
});
|
|
49327
|
-
};
|
|
49328
|
-
const timeBetweenSnapshots = 1e3 / fps;
|
|
49329
|
-
let lastSnapshotTime = 0;
|
|
49330
|
-
let rafId;
|
|
49331
|
-
const getCanvas = () => {
|
|
49332
|
-
const matchedCanvas = [];
|
|
49333
|
-
win.document.querySelectorAll("canvas").forEach((canvas) => {
|
|
49334
|
-
if (!isBlocked(canvas, blockClass, blockSelector, true)) {
|
|
49335
|
-
matchedCanvas.push(canvas);
|
|
49336
|
-
}
|
|
49337
|
-
});
|
|
49338
|
-
return matchedCanvas;
|
|
49339
|
-
};
|
|
49340
|
-
const takeCanvasSnapshots = (timestamp) => {
|
|
49341
|
-
if (lastSnapshotTime && timestamp - lastSnapshotTime < timeBetweenSnapshots) {
|
|
49342
|
-
rafId = requestAnimationFrame(takeCanvasSnapshots);
|
|
49343
|
-
return;
|
|
49344
|
-
}
|
|
49345
|
-
lastSnapshotTime = timestamp;
|
|
49346
|
-
getCanvas().forEach(async (canvas) => {
|
|
49347
|
-
var _a2;
|
|
49348
|
-
const id = this.mirror.getId(canvas);
|
|
49349
|
-
if (snapshotInProgressMap.get(id)) return;
|
|
49350
|
-
if (canvas.width === 0 || canvas.height === 0) return;
|
|
49351
|
-
snapshotInProgressMap.set(id, true);
|
|
49352
|
-
if (["webgl", "webgl2"].includes(canvas.__context)) {
|
|
49353
|
-
const context = canvas.getContext(canvas.__context);
|
|
49354
|
-
if (((_a2 = context == null ? void 0 : context.getContextAttributes()) == null ? void 0 : _a2.preserveDrawingBuffer) === false) {
|
|
49355
|
-
context.clear(context.COLOR_BUFFER_BIT);
|
|
49356
|
-
}
|
|
49357
|
-
}
|
|
49358
|
-
const bitmap = await createImageBitmap(canvas);
|
|
49359
|
-
worker.postMessage(
|
|
49360
|
-
{
|
|
49361
|
-
id,
|
|
49362
|
-
bitmap,
|
|
49363
|
-
width: canvas.width,
|
|
49364
|
-
height: canvas.height,
|
|
49365
|
-
dataURLOptions: options.dataURLOptions
|
|
49366
|
-
},
|
|
49367
|
-
[bitmap]
|
|
49368
|
-
);
|
|
49369
|
-
});
|
|
49370
|
-
rafId = requestAnimationFrame(takeCanvasSnapshots);
|
|
49371
|
-
};
|
|
49372
|
-
rafId = requestAnimationFrame(takeCanvasSnapshots);
|
|
49373
|
-
this.resetObservers = () => {
|
|
49374
|
-
canvasContextReset();
|
|
49375
|
-
cancelAnimationFrame(rafId);
|
|
49376
|
-
};
|
|
49377
|
-
}
|
|
49378
49257
|
initCanvasMutationObserver(win, blockClass, blockSelector) {
|
|
49379
49258
|
this.startRAFTimestamping();
|
|
49380
49259
|
this.startPendingCanvasMutationFlusher();
|