@appsurify-testmap/rrweb 3.4.0-alpha.1 → 3.6.0-alpha.1

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/rrweb.js CHANGED
@@ -18121,9 +18121,7 @@ class NavigationManager {
18121
18121
  });
18122
18122
  this.settlingObserver.observe(this.doc, {
18123
18123
  childList: true,
18124
- subtree: true,
18125
- attributes: true,
18126
- characterData: true
18124
+ subtree: true
18127
18125
  });
18128
18126
  this.settleCheckTimer = setTimeout(
18129
18127
  () => this.checkSettled(),
@@ -18258,7 +18256,7 @@ class ProcessedNodeManager {
18258
18256
  destroy() {
18259
18257
  }
18260
18258
  }
18261
- const version$1 = "3.4.0-alpha.1";
18259
+ const version$1 = "3.6.0-alpha.1";
18262
18260
  let wrappedEmit;
18263
18261
  let takeFullSnapshot$1;
18264
18262
  let canvasManager;
@@ -18381,6 +18379,11 @@ function record(options = {}) {
18381
18379
  let checkoutPending = false;
18382
18380
  let checkoutDebounceTimer = null;
18383
18381
  let checkoutFreezeTimestamp = null;
18382
+ let lastScrollEmitTime = 0;
18383
+ const scrollSettleTime = (sampling.scroll || 100) * 2;
18384
+ let lastSignificantMutationTime = 0;
18385
+ const mutationGracePeriod = 500;
18386
+ let hadVisibilityCheckoutInGrace = false;
18384
18387
  const eventProcessor = (e2) => {
18385
18388
  for (const plugin3 of plugins || []) {
18386
18389
  if (plugin3.eventProcessor) {
@@ -18471,6 +18474,12 @@ function record(options = {}) {
18471
18474
  }
18472
18475
  };
18473
18476
  const wrappedMutationEmit = (m) => {
18477
+ var _a2, _b;
18478
+ const totalChanges = (((_a2 = m.adds) == null ? void 0 : _a2.length) ?? 0) + (((_b = m.removes) == null ? void 0 : _b.length) ?? 0);
18479
+ if (totalChanges > 10) {
18480
+ lastSignificantMutationTime = nowTimestamp();
18481
+ hadVisibilityCheckoutInGrace = false;
18482
+ }
18474
18483
  wrappedEmit({
18475
18484
  type: EventType.IncrementalSnapshot,
18476
18485
  data: {
@@ -18488,13 +18497,16 @@ function record(options = {}) {
18488
18497
  }
18489
18498
  });
18490
18499
  };
18491
- const wrappedScrollEmit = (p) => wrappedEmit({
18492
- type: EventType.IncrementalSnapshot,
18493
- data: {
18494
- source: IncrementalSource.Scroll,
18495
- ...p
18496
- }
18497
- });
18500
+ const wrappedScrollEmit = (p) => {
18501
+ lastScrollEmitTime = nowTimestamp();
18502
+ wrappedEmit({
18503
+ type: EventType.IncrementalSnapshot,
18504
+ data: {
18505
+ source: IncrementalSource.Scroll,
18506
+ ...p
18507
+ }
18508
+ });
18509
+ };
18498
18510
  const wrappedCanvasMutationEmit = (p) => wrappedEmit({
18499
18511
  type: EventType.IncrementalSnapshot,
18500
18512
  data: {
@@ -18578,9 +18590,19 @@ function record(options = {}) {
18578
18590
  mutationCb: recordVisibility ? wrappedVisibilityEmit : () => {
18579
18591
  },
18580
18592
  notifyActivity: checkoutEveryNvm != null ? (count) => {
18593
+ const now = nowTimestamp();
18594
+ const scrollRecent = now - lastScrollEmitTime < scrollSettleTime;
18595
+ const mutationRecent = now - lastSignificantMutationTime < mutationGracePeriod;
18596
+ if (scrollRecent && !mutationRecent) {
18597
+ return;
18598
+ }
18599
+ if (mutationRecent && hadVisibilityCheckoutInGrace) {
18600
+ return;
18601
+ }
18581
18602
  visibilityMutationCount += count;
18582
18603
  if (visibilityMutationCount >= checkoutEveryNvm) {
18583
18604
  visibilityMutationCount = 0;
18605
+ hadVisibilityCheckoutInGrace = true;
18584
18606
  if (checkoutDebounce) {
18585
18607
  if (!checkoutPending) {
18586
18608
  checkoutPending = true;
@@ -21837,7 +21859,7 @@ class Replayer {
21837
21859
  this.config.logger.log(REPLAY_CONSOLE_PREFIX, ...args);
21838
21860
  }
21839
21861
  }
21840
- const version = "3.4.0-alpha.1";
21862
+ const version = "3.6.0-alpha.1";
21841
21863
  const { getVersion } = record;
21842
21864
  const { isRecording } = record;
21843
21865
  const { flushCustomEventQueue } = record;