@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 CHANGED
@@ -7228,7 +7228,7 @@ function getScreenPosition(element) {
7228
7228
  };
7229
7229
  }
7230
7230
 
7231
- var VERSION = '2.279.0_';
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;
@@ -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.0_';
3895
- var PACKAGE_VERSION = '2.279.0';
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();