@sentry/replay 7.60.0 → 7.61.0

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/esm/index.js CHANGED
@@ -3733,8 +3733,16 @@ const handleDomListener = (
3733
3733
 
3734
3734
  const isClick = handlerData.name === 'click';
3735
3735
  const event = isClick && (handlerData.event );
3736
- // Ignore clicks if ctrl/alt/meta keys are held down as they alter behavior of clicks (e.g. open in new tab)
3737
- if (isClick && replay.clickDetector && event && !event.altKey && !event.metaKey && !event.ctrlKey) {
3736
+ // Ignore clicks if ctrl/alt/meta/shift keys are held down as they alter behavior of clicks (e.g. open in new tab)
3737
+ if (
3738
+ isClick &&
3739
+ replay.clickDetector &&
3740
+ event &&
3741
+ !event.altKey &&
3742
+ !event.metaKey &&
3743
+ !event.ctrlKey &&
3744
+ !event.shiftKey
3745
+ ) {
3738
3746
  handleClick(
3739
3747
  replay.clickDetector,
3740
3748
  result ,
@@ -6618,6 +6626,11 @@ function getHandleRecordingEmit(replay) {
6618
6626
  if (replay.recordingMode === 'buffer' && replay.session && replay.eventBuffer) {
6619
6627
  const earliestEvent = replay.eventBuffer.getEarliestTimestamp();
6620
6628
  if (earliestEvent) {
6629
+ // eslint-disable-next-line no-console
6630
+ const log = replay.getOptions()._experiments.traceInternals ? console.info : logger.info;
6631
+ (typeof __SENTRY_DEBUG__ === 'undefined' || __SENTRY_DEBUG__) &&
6632
+ log(`[Replay] Updating session start time to earliest event in buffer at ${earliestEvent}`);
6633
+
6621
6634
  replay.session.started = earliestEvent;
6622
6635
 
6623
6636
  if (replay.getOptions().stickySession) {
@@ -7399,6 +7412,10 @@ class ReplayContainer {
7399
7412
 
7400
7413
  const activityTime = Date.now();
7401
7414
 
7415
+ // eslint-disable-next-line no-console
7416
+ const log = this.getOptions()._experiments.traceInternals ? console.info : logger.info;
7417
+ (typeof __SENTRY_DEBUG__ === 'undefined' || __SENTRY_DEBUG__) && log(`[Replay] Converting buffer to session, starting at ${activityTime}`);
7418
+
7402
7419
  // Allow flush to complete before resuming as a session recording, otherwise
7403
7420
  // the checkout from `startRecording` may be included in the payload.
7404
7421
  // Prefer to keep the error replay as a separate (and smaller) segment
@@ -7954,9 +7971,6 @@ class ReplayContainer {
7954
7971
 
7955
7972
  const earliestEvent = eventBuffer.getEarliestTimestamp();
7956
7973
  if (earliestEvent && earliestEvent < this._context.initialTimestamp) {
7957
- // eslint-disable-next-line no-console
7958
- const log = this.getOptions()._experiments.traceInternals ? console.info : logger.info;
7959
- (typeof __SENTRY_DEBUG__ === 'undefined' || __SENTRY_DEBUG__) && log(`[Replay] Updating initial timestamp to ${earliestEvent}`);
7960
7974
  this._context.initialTimestamp = earliestEvent;
7961
7975
  }
7962
7976
  }
@@ -8071,7 +8085,7 @@ class ReplayContainer {
8071
8085
  return;
8072
8086
  }
8073
8087
 
8074
- const start = this._context.initialTimestamp;
8088
+ const start = this.session.started;
8075
8089
  const now = Date.now();
8076
8090
  const duration = now - start;
8077
8091