@pendo/agent 2.279.1 → 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.1_';
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.1_';
3895
- var PACKAGE_VERSION = '2.279.1';
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
  /**
@@ -49207,32 +49207,6 @@ function initCanvasWebGLMutationObserver(cb, win, blockClass, blockSelector) {
49207
49207
  handlers.forEach((h) => h());
49208
49208
  };
49209
49209
  }
49210
- const encodedJs = "KGZ1bmN0aW9uKCkgewogICJ1c2Ugc3RyaWN0IjsKICB2YXIgY2hhcnMgPSAiQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODkrLyI7CiAgdmFyIGxvb2t1cCA9IHR5cGVvZiBVaW50OEFycmF5ID09PSAidW5kZWZpbmVkIiA/IFtdIDogbmV3IFVpbnQ4QXJyYXkoMjU2KTsKICBmb3IgKHZhciBpID0gMDsgaSA8IGNoYXJzLmxlbmd0aDsgaSsrKSB7CiAgICBsb29rdXBbY2hhcnMuY2hhckNvZGVBdChpKV0gPSBpOwogIH0KICB2YXIgZW5jb2RlID0gZnVuY3Rpb24oYXJyYXlidWZmZXIpIHsKICAgIHZhciBieXRlcyA9IG5ldyBVaW50OEFycmF5KGFycmF5YnVmZmVyKSwgaTIsIGxlbiA9IGJ5dGVzLmxlbmd0aCwgYmFzZTY0ID0gIiI7CiAgICBmb3IgKGkyID0gMDsgaTIgPCBsZW47IGkyICs9IDMpIHsKICAgICAgYmFzZTY0ICs9IGNoYXJzW2J5dGVzW2kyXSA+PiAyXTsKICAgICAgYmFzZTY0ICs9IGNoYXJzWyhieXRlc1tpMl0gJiAzKSA8PCA0IHwgYnl0ZXNbaTIgKyAxXSA+PiA0XTsKICAgICAgYmFzZTY0ICs9IGNoYXJzWyhieXRlc1tpMiArIDFdICYgMTUpIDw8IDIgfCBieXRlc1tpMiArIDJdID4+IDZdOwogICAgICBiYXNlNjQgKz0gY2hhcnNbYnl0ZXNbaTIgKyAyXSAmIDYzXTsKICAgIH0KICAgIGlmIChsZW4gJSAzID09PSAyKSB7CiAgICAgIGJhc2U2NCA9IGJhc2U2NC5zdWJzdHJpbmcoMCwgYmFzZTY0Lmxlbmd0aCAtIDEpICsgIj0iOwogICAgfSBlbHNlIGlmIChsZW4gJSAzID09PSAxKSB7CiAgICAgIGJhc2U2NCA9IGJhc2U2NC5zdWJzdHJpbmcoMCwgYmFzZTY0Lmxlbmd0aCAtIDIpICsgIj09IjsKICAgIH0KICAgIHJldHVybiBiYXNlNjQ7CiAgfTsKICBjb25zdCBsYXN0QmxvYk1hcCA9IC8qIEBfX1BVUkVfXyAqLyBuZXcgTWFwKCk7CiAgY29uc3QgdHJhbnNwYXJlbnRCbG9iTWFwID0gLyogQF9fUFVSRV9fICovIG5ldyBNYXAoKTsKICBhc3luYyBmdW5jdGlvbiBnZXRUcmFuc3BhcmVudEJsb2JGb3Iod2lkdGgsIGhlaWdodCwgZGF0YVVSTE9wdGlvbnMpIHsKICAgIGNvbnN0IGlkID0gYCR7d2lkdGh9LSR7aGVpZ2h0fWA7CiAgICBpZiAoIk9mZnNjcmVlbkNhbnZhcyIgaW4gZ2xvYmFsVGhpcykgewogICAgICBpZiAodHJhbnNwYXJlbnRCbG9iTWFwLmhhcyhpZCkpIHJldHVybiB0cmFuc3BhcmVudEJsb2JNYXAuZ2V0KGlkKTsKICAgICAgY29uc3Qgb2Zmc2NyZWVuID0gbmV3IE9mZnNjcmVlbkNhbnZhcyh3aWR0aCwgaGVpZ2h0KTsKICAgICAgb2Zmc2NyZWVuLmdldENvbnRleHQoIjJkIik7CiAgICAgIGNvbnN0IGJsb2IgPSBhd2FpdCBvZmZzY3JlZW4uY29udmVydFRvQmxvYihkYXRhVVJMT3B0aW9ucyk7CiAgICAgIGNvbnN0IGFycmF5QnVmZmVyID0gYXdhaXQgYmxvYi5hcnJheUJ1ZmZlcigpOwogICAgICBjb25zdCBiYXNlNjQgPSBlbmNvZGUoYXJyYXlCdWZmZXIpOwogICAgICB0cmFuc3BhcmVudEJsb2JNYXAuc2V0KGlkLCBiYXNlNjQpOwogICAgICByZXR1cm4gYmFzZTY0OwogICAgfSBlbHNlIHsKICAgICAgcmV0dXJuICIiOwogICAgfQogIH0KICBjb25zdCB3b3JrZXIgPSBzZWxmOwogIHdvcmtlci5vbm1lc3NhZ2UgPSBhc3luYyBmdW5jdGlvbihlKSB7CiAgICBpZiAoIk9mZnNjcmVlbkNhbnZhcyIgaW4gZ2xvYmFsVGhpcykgewogICAgICBjb25zdCB7IGlkLCBiaXRtYXAsIHdpZHRoLCBoZWlnaHQsIGRhdGFVUkxPcHRpb25zIH0gPSBlLmRhdGE7CiAgICAgIGNvbnN0IHRyYW5zcGFyZW50QmFzZTY0ID0gZ2V0VHJhbnNwYXJlbnRCbG9iRm9yKAogICAgICAgIHdpZHRoLAogICAgICAgIGhlaWdodCwKICAgICAgICBkYXRhVVJMT3B0aW9ucwogICAgICApOwogICAgICBjb25zdCBvZmZzY3JlZW4gPSBuZXcgT2Zmc2NyZWVuQ2FudmFzKHdpZHRoLCBoZWlnaHQpOwogICAgICBjb25zdCBjdHggPSBvZmZzY3JlZW4uZ2V0Q29udGV4dCgiMmQiKTsKICAgICAgY3R4LmRyYXdJbWFnZShiaXRtYXAsIDAsIDApOwogICAgICBiaXRtYXAuY2xvc2UoKTsKICAgICAgY29uc3QgYmxvYiA9IGF3YWl0IG9mZnNjcmVlbi5jb252ZXJ0VG9CbG9iKGRhdGFVUkxPcHRpb25zKTsKICAgICAgY29uc3QgdHlwZSA9IGJsb2IudHlwZTsKICAgICAgY29uc3QgYXJyYXlCdWZmZXIgPSBhd2FpdCBibG9iLmFycmF5QnVmZmVyKCk7CiAgICAgIGNvbnN0IGJhc2U2NCA9IGVuY29kZShhcnJheUJ1ZmZlcik7CiAgICAgIGlmICghbGFzdEJsb2JNYXAuaGFzKGlkKSAmJiBhd2FpdCB0cmFuc3BhcmVudEJhc2U2NCA9PT0gYmFzZTY0KSB7CiAgICAgICAgbGFzdEJsb2JNYXAuc2V0KGlkLCBiYXNlNjQpOwogICAgICAgIHJldHVybiB3b3JrZXIucG9zdE1lc3NhZ2UoeyBpZCB9KTsKICAgICAgfQogICAgICBpZiAobGFzdEJsb2JNYXAuZ2V0KGlkKSA9PT0gYmFzZTY0KSByZXR1cm4gd29ya2VyLnBvc3RNZXNzYWdlKHsgaWQgfSk7CiAgICAgIHdvcmtlci5wb3N0TWVzc2FnZSh7CiAgICAgICAgaWQsCiAgICAgICAgdHlwZSwKICAgICAgICBiYXNlNjQsCiAgICAgICAgd2lkdGgsCiAgICAgICAgaGVpZ2h0CiAgICAgIH0pOwogICAgICBsYXN0QmxvYk1hcC5zZXQoaWQsIGJhc2U2NCk7CiAgICB9IGVsc2UgewogICAgICByZXR1cm4gd29ya2VyLnBvc3RNZXNzYWdlKHsgaWQ6IGUuZGF0YS5pZCB9KTsKICAgIH0KICB9Owp9KSgpOwovLyMgc291cmNlTWFwcGluZ1VSTD1pbWFnZS1iaXRtYXAtZGF0YS11cmwtd29ya2VyLUlKcEM3Z19iLmpzLm1hcAo=";
49211
- const decodeBase64 = (base64) => Uint8Array.from(atob(base64), (c2) => c2.charCodeAt(0));
49212
- const blob = typeof window !== "undefined" && window.Blob && new Blob([decodeBase64(encodedJs)], { type: "text/javascript;charset=utf-8" });
49213
- function WorkerWrapper(options) {
49214
- let objURL;
49215
- try {
49216
- objURL = blob && (window.URL || window.webkitURL).createObjectURL(blob);
49217
- if (!objURL) throw "";
49218
- const worker = new Worker(objURL, {
49219
- name: options == null ? void 0 : options.name
49220
- });
49221
- worker.addEventListener("error", () => {
49222
- (window.URL || window.webkitURL).revokeObjectURL(objURL);
49223
- });
49224
- return worker;
49225
- } catch (e2) {
49226
- return new Worker(
49227
- "data:text/javascript;base64," + encodedJs,
49228
- {
49229
- name: options == null ? void 0 : options.name
49230
- }
49231
- );
49232
- } finally {
49233
- objURL && (window.URL || window.webkitURL).revokeObjectURL(objURL);
49234
- }
49235
- }
49236
49210
  class CanvasManager {
49237
49211
  constructor(options) {
49238
49212
  __publicField(this, "pendingCanvasMutations", /* @__PURE__ */ new Map());
@@ -49263,10 +49237,6 @@ class CanvasManager {
49263
49237
  this.mirror = options.mirror;
49264
49238
  if (recordCanvas && sampling === "all")
49265
49239
  this.initCanvasMutationObserver(win, blockClass, blockSelector);
49266
- if (recordCanvas && typeof sampling === "number")
49267
- this.initCanvasFPSObserver(sampling, win, blockClass, blockSelector, {
49268
- dataURLOptions
49269
- });
49270
49240
  }
49271
49241
  reset() {
49272
49242
  this.pendingCanvasMutations.clear();
@@ -49284,100 +49254,6 @@ class CanvasManager {
49284
49254
  unlock() {
49285
49255
  this.locked = false;
49286
49256
  }
49287
- initCanvasFPSObserver(fps, win, blockClass, blockSelector, options) {
49288
- const canvasContextReset = initCanvasContextObserver(
49289
- win,
49290
- blockClass,
49291
- blockSelector,
49292
- true
49293
- );
49294
- const snapshotInProgressMap = /* @__PURE__ */ new Map();
49295
- const worker = new WorkerWrapper();
49296
- worker.onmessage = (e2) => {
49297
- const { id } = e2.data;
49298
- snapshotInProgressMap.set(id, false);
49299
- if (!("base64" in e2.data)) return;
49300
- const { base64, type, width, height } = e2.data;
49301
- this.mutationCb({
49302
- id,
49303
- type: CanvasContext["2D"],
49304
- commands: [
49305
- {
49306
- property: "clearRect",
49307
- // wipe canvas
49308
- args: [0, 0, width, height]
49309
- },
49310
- {
49311
- property: "drawImage",
49312
- // draws (semi-transparent) image
49313
- args: [
49314
- {
49315
- rr_type: "ImageBitmap",
49316
- args: [
49317
- {
49318
- rr_type: "Blob",
49319
- data: [{ rr_type: "ArrayBuffer", base64 }],
49320
- type
49321
- }
49322
- ]
49323
- },
49324
- 0,
49325
- 0
49326
- ]
49327
- }
49328
- ]
49329
- });
49330
- };
49331
- const timeBetweenSnapshots = 1e3 / fps;
49332
- let lastSnapshotTime = 0;
49333
- let rafId;
49334
- const getCanvas = () => {
49335
- const matchedCanvas = [];
49336
- win.document.querySelectorAll("canvas").forEach((canvas) => {
49337
- if (!isBlocked(canvas, blockClass, blockSelector, true)) {
49338
- matchedCanvas.push(canvas);
49339
- }
49340
- });
49341
- return matchedCanvas;
49342
- };
49343
- const takeCanvasSnapshots = (timestamp) => {
49344
- if (lastSnapshotTime && timestamp - lastSnapshotTime < timeBetweenSnapshots) {
49345
- rafId = requestAnimationFrame(takeCanvasSnapshots);
49346
- return;
49347
- }
49348
- lastSnapshotTime = timestamp;
49349
- getCanvas().forEach(async (canvas) => {
49350
- var _a2;
49351
- const id = this.mirror.getId(canvas);
49352
- if (snapshotInProgressMap.get(id)) return;
49353
- if (canvas.width === 0 || canvas.height === 0) return;
49354
- snapshotInProgressMap.set(id, true);
49355
- if (["webgl", "webgl2"].includes(canvas.__context)) {
49356
- const context = canvas.getContext(canvas.__context);
49357
- if (((_a2 = context == null ? void 0 : context.getContextAttributes()) == null ? void 0 : _a2.preserveDrawingBuffer) === false) {
49358
- context.clear(context.COLOR_BUFFER_BIT);
49359
- }
49360
- }
49361
- const bitmap = await createImageBitmap(canvas);
49362
- worker.postMessage(
49363
- {
49364
- id,
49365
- bitmap,
49366
- width: canvas.width,
49367
- height: canvas.height,
49368
- dataURLOptions: options.dataURLOptions
49369
- },
49370
- [bitmap]
49371
- );
49372
- });
49373
- rafId = requestAnimationFrame(takeCanvasSnapshots);
49374
- };
49375
- rafId = requestAnimationFrame(takeCanvasSnapshots);
49376
- this.resetObservers = () => {
49377
- canvasContextReset();
49378
- cancelAnimationFrame(rafId);
49379
- };
49380
- }
49381
49257
  initCanvasMutationObserver(win, blockClass, blockSelector) {
49382
49258
  this.startRAFTimestamping();
49383
49259
  this.startPendingCanvasMutationFlusher();