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