@appsurify-testmap/rrweb 3.5.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
@@ -18256,7 +18256,7 @@ class ProcessedNodeManager {
18256
18256
  destroy() {
18257
18257
  }
18258
18258
  }
18259
- const version$1 = "3.5.0-alpha.1";
18259
+ const version$1 = "3.6.0-alpha.1";
18260
18260
  let wrappedEmit;
18261
18261
  let takeFullSnapshot$1;
18262
18262
  let canvasManager;
@@ -18379,6 +18379,11 @@ function record(options = {}) {
18379
18379
  let checkoutPending = false;
18380
18380
  let checkoutDebounceTimer = null;
18381
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;
18382
18387
  const eventProcessor = (e2) => {
18383
18388
  for (const plugin3 of plugins || []) {
18384
18389
  if (plugin3.eventProcessor) {
@@ -18469,6 +18474,12 @@ function record(options = {}) {
18469
18474
  }
18470
18475
  };
18471
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
+ }
18472
18483
  wrappedEmit({
18473
18484
  type: EventType.IncrementalSnapshot,
18474
18485
  data: {
@@ -18486,13 +18497,16 @@ function record(options = {}) {
18486
18497
  }
18487
18498
  });
18488
18499
  };
18489
- const wrappedScrollEmit = (p) => wrappedEmit({
18490
- type: EventType.IncrementalSnapshot,
18491
- data: {
18492
- source: IncrementalSource.Scroll,
18493
- ...p
18494
- }
18495
- });
18500
+ const wrappedScrollEmit = (p) => {
18501
+ lastScrollEmitTime = nowTimestamp();
18502
+ wrappedEmit({
18503
+ type: EventType.IncrementalSnapshot,
18504
+ data: {
18505
+ source: IncrementalSource.Scroll,
18506
+ ...p
18507
+ }
18508
+ });
18509
+ };
18496
18510
  const wrappedCanvasMutationEmit = (p) => wrappedEmit({
18497
18511
  type: EventType.IncrementalSnapshot,
18498
18512
  data: {
@@ -18576,9 +18590,19 @@ function record(options = {}) {
18576
18590
  mutationCb: recordVisibility ? wrappedVisibilityEmit : () => {
18577
18591
  },
18578
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
+ }
18579
18602
  visibilityMutationCount += count;
18580
18603
  if (visibilityMutationCount >= checkoutEveryNvm) {
18581
18604
  visibilityMutationCount = 0;
18605
+ hadVisibilityCheckoutInGrace = true;
18582
18606
  if (checkoutDebounce) {
18583
18607
  if (!checkoutPending) {
18584
18608
  checkoutPending = true;
@@ -21835,7 +21859,7 @@ class Replayer {
21835
21859
  this.config.logger.log(REPLAY_CONSOLE_PREFIX, ...args);
21836
21860
  }
21837
21861
  }
21838
- const version = "3.5.0-alpha.1";
21862
+ const version = "3.6.0-alpha.1";
21839
21863
  const { getVersion } = record;
21840
21864
  const { isRecording } = record;
21841
21865
  const { flushCustomEventQueue } = record;