@sentry/replay 7.53.1 → 7.55.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.
Files changed (46) hide show
  1. package/cjs/index.js +344 -196
  2. package/cjs/index.js.map +1 -1
  3. package/esm/index.js +324 -176
  4. package/esm/index.js.map +1 -1
  5. package/package.json +5 -5
  6. package/types/constants.d.ts +2 -0
  7. package/types/constants.d.ts.map +1 -1
  8. package/types/coreHandlers/handleDom.d.ts.map +1 -1
  9. package/types/coreHandlers/handleGlobalEvent.d.ts.map +1 -1
  10. package/types/coreHandlers/handleKeyboardEvent.d.ts.map +1 -1
  11. package/types/coreHandlers/handleScope.d.ts +4 -1
  12. package/types/coreHandlers/handleScope.d.ts.map +1 -1
  13. package/types/coreHandlers/handleSlowClick.d.ts +2 -0
  14. package/types/coreHandlers/handleSlowClick.d.ts.map +1 -1
  15. package/types/coreHandlers/util/addBreadcrumbEvent.d.ts.map +1 -1
  16. package/types/coreHandlers/util/getAttributesToRecord.d.ts.map +1 -1
  17. package/types/index.d.ts +5 -0
  18. package/types/index.d.ts.map +1 -1
  19. package/types/integration.d.ts +1 -1
  20. package/types/integration.d.ts.map +1 -1
  21. package/types/replay.d.ts +28 -2
  22. package/types/replay.d.ts.map +1 -1
  23. package/types/session/getSession.d.ts.map +1 -1
  24. package/types/types/index.d.ts +6 -0
  25. package/types/types/index.d.ts.map +1 -0
  26. package/types/types/performance.d.ts +124 -0
  27. package/types/types/performance.d.ts.map +1 -0
  28. package/types/{types.d.ts → types/replay.d.ts} +37 -146
  29. package/types/types/replay.d.ts.map +1 -0
  30. package/types/types/replayFrame.d.ts +160 -0
  31. package/types/types/replayFrame.d.ts.map +1 -0
  32. package/types/types/request.d.ts +15 -0
  33. package/types/types/request.d.ts.map +1 -0
  34. package/types/types/rrweb.d.ts +1 -9
  35. package/types/types/rrweb.d.ts.map +1 -1
  36. package/types/util/addEvent.d.ts.map +1 -1
  37. package/types/util/addGlobalListeners.d.ts.map +1 -1
  38. package/types/util/createBreadcrumb.d.ts +2 -4
  39. package/types/util/createBreadcrumb.d.ts.map +1 -1
  40. package/types/util/createPerformanceSpans.d.ts +1 -1
  41. package/types/util/createPerformanceSpans.d.ts.map +1 -1
  42. package/types/util/handleRecordingEmit.d.ts +2 -2
  43. package/types/util/handleRecordingEmit.d.ts.map +1 -1
  44. package/types/util/throttle.d.ts +12 -0
  45. package/types/util/throttle.d.ts.map +1 -0
  46. package/types/types.d.ts.map +0 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sentry/replay",
3
- "version": "7.53.1",
3
+ "version": "7.55.0",
4
4
  "description": "User replays for Sentry",
5
5
  "main": "cjs/index.js",
6
6
  "module": "esm/index.js",
@@ -18,16 +18,16 @@
18
18
  "homepage": "https://docs.sentry.io/platforms/javascript/session-replay/",
19
19
  "devDependencies": {
20
20
  "@babel/core": "^7.17.5",
21
- "@sentry-internal/replay-worker": "7.53.1",
21
+ "@sentry-internal/replay-worker": "7.55.0",
22
22
  "@sentry-internal/rrweb": "1.108.0",
23
23
  "@sentry-internal/rrweb-snapshot": "1.108.0",
24
24
  "jsdom-worker": "^0.2.1",
25
25
  "tslib": "^1.9.3"
26
26
  },
27
27
  "dependencies": {
28
- "@sentry/core": "7.53.1",
29
- "@sentry/types": "7.53.1",
30
- "@sentry/utils": "7.53.1"
28
+ "@sentry/core": "7.55.0",
29
+ "@sentry/types": "7.55.0",
30
+ "@sentry/utils": "7.55.0"
31
31
  },
32
32
  "engines": {
33
33
  "node": ">=12"
@@ -14,4 +14,6 @@ export declare const RETRY_BASE_INTERVAL = 5000;
14
14
  export declare const RETRY_MAX_COUNT = 3;
15
15
  export declare const NETWORK_BODY_MAX_SIZE = 150000;
16
16
  export declare const CONSOLE_ARG_MAX_SIZE = 5000;
17
+ export declare const SLOW_CLICK_THRESHOLD = 3000;
18
+ export declare const SLOW_CLICK_SCROLL_TIMEOUT = 300;
17
19
  //# sourceMappingURL=constants.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/constants.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,MAAM,iDAA2C,CAAC;AAE/D,eAAO,MAAM,kBAAkB,wBAAwB,CAAC;AACxD,eAAO,MAAM,iBAAiB,iBAAiB,CAAC;AAChD,eAAO,MAAM,oBAAoB,qBAAqB,CAAC;AACvD,eAAO,MAAM,qBAAqB,0BAA0B,CAAC;AAG7D,eAAO,MAAM,2BAA2B,SAAU,CAAC;AAGnD,eAAO,MAAM,4BAA4B,SAAU,CAAC;AAGpD,eAAO,MAAM,gBAAgB,UAAY,CAAC;AAE1C,2BAA2B;AAC3B,eAAO,MAAM,uBAAuB,OAAQ,CAAC;AAG7C,eAAO,MAAM,uBAAuB,OAAQ,CAAC;AAG7C,eAAO,MAAM,oBAAoB,QAAS,CAAC;AAE3C,eAAO,MAAM,mBAAmB,OAAO,CAAC;AACxC,eAAO,MAAM,eAAe,IAAI,CAAC;AAGjC,eAAO,MAAM,qBAAqB,SAAU,CAAC;AAG7C,eAAO,MAAM,oBAAoB,OAAQ,CAAC"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/constants.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,MAAM,iDAA2C,CAAC;AAE/D,eAAO,MAAM,kBAAkB,wBAAwB,CAAC;AACxD,eAAO,MAAM,iBAAiB,iBAAiB,CAAC;AAChD,eAAO,MAAM,oBAAoB,qBAAqB,CAAC;AACvD,eAAO,MAAM,qBAAqB,0BAA0B,CAAC;AAG7D,eAAO,MAAM,2BAA2B,SAAU,CAAC;AAGnD,eAAO,MAAM,4BAA4B,SAAU,CAAC;AAGpD,eAAO,MAAM,gBAAgB,UAAY,CAAC;AAE1C,2BAA2B;AAC3B,eAAO,MAAM,uBAAuB,OAAQ,CAAC;AAG7C,eAAO,MAAM,uBAAuB,OAAQ,CAAC;AAG7C,eAAO,MAAM,oBAAoB,QAAS,CAAC;AAE3C,eAAO,MAAM,mBAAmB,OAAO,CAAC;AACxC,eAAO,MAAM,eAAe,IAAI,CAAC;AAGjC,eAAO,MAAM,qBAAqB,SAAU,CAAC;AAG7C,eAAO,MAAM,oBAAoB,OAAQ,CAAC;AAG1C,eAAO,MAAM,oBAAoB,OAAQ,CAAC;AAE1C,eAAO,MAAM,yBAAyB,MAAM,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"handleDom.d.ts","sourceRoot":"","sources":["../../../../src/coreHandlers/handleDom.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,iCAAiC,CAAC;AAE7D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAGhD,OAAO,KAAK,EAAE,eAAe,EAAmB,MAAM,UAAU,CAAC;AAMjE,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,IAAI,GAAG;QAAE,MAAM,EAAE,WAAW,CAAA;KAAE,CAAC;CACvC;AAED,eAAO,MAAM,iBAAiB,EAAE,CAAC,MAAM,EAAE,eAAe,KAAK,CAAC,WAAW,EAAE,cAAc,KAAK,IAuC7F,CAAC;AAEF,mCAAmC;AACnC,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,IAAI,GAAG,KAAK,GAAG,IAAI,EAAE,OAAO,EAAE,MAAM,GAAG,UAAU,CA0B7F;AAED;;;GAGG;AACH,wBAAgB,SAAS,CAAC,WAAW,EAAE,cAAc,GAAG,UAAU,GAAG,IAAI,CAOxE"}
1
+ {"version":3,"file":"handleDom.d.ts","sourceRoot":"","sources":["../../../../src/coreHandlers/handleDom.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,iCAAiC,CAAC;AAE7D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAIhD,OAAO,KAAK,EAAE,eAAe,EAAmB,MAAM,UAAU,CAAC;AAMjE,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,IAAI,GAAG;QAAE,MAAM,EAAE,WAAW,CAAA;KAAE,CAAC;CACvC;AAED,eAAO,MAAM,iBAAiB,EAAE,CAAC,MAAM,EAAE,eAAe,KAAK,CAAC,WAAW,EAAE,cAAc,KAAK,IAuC7F,CAAC;AAEF,mCAAmC;AACnC,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,IAAI,GAAG,KAAK,GAAG,IAAI,EAAE,OAAO,EAAE,MAAM,GAAG,UAAU,CA0B7F;AAED;;;GAGG;AACH,wBAAgB,SAAS,CAAC,WAAW,EAAE,cAAc,GAAG,UAAU,GAAG,IAAI,CAOxE"}
@@ -1 +1 @@
1
- {"version":3,"file":"handleGlobalEvent.d.ts","sourceRoot":"","sources":["../../../../src/coreHandlers/handleGlobalEvent.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAGtD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAMhD;;GAEG;AACH,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,eAAe,EACvB,6BAA6B,UAAQ,GACpC,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,KAAK,KAAK,GAAG,IAAI,CAoDjD"}
1
+ {"version":3,"file":"handleGlobalEvent.d.ts","sourceRoot":"","sources":["../../../../src/coreHandlers/handleGlobalEvent.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAGtD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAMhD;;GAEG;AACH,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,eAAe,EACvB,6BAA6B,UAAQ,GACpC,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,KAAK,KAAK,GAAG,IAAI,CA6CjD"}
@@ -1 +1 @@
1
- {"version":3,"file":"handleKeyboardEvent.d.ts","sourceRoot":"","sources":["../../../../src/coreHandlers/handleKeyboardEvent.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAGhD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAKhD,mDAAmD;AACnD,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,eAAe,EAAE,KAAK,EAAE,aAAa,GAAG,IAAI,CAcvF;AAED,8BAA8B;AAC9B,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,aAAa,GAAG,UAAU,GAAG,IAAI,CAiC7E"}
1
+ {"version":3,"file":"handleKeyboardEvent.d.ts","sourceRoot":"","sources":["../../../../src/coreHandlers/handleKeyboardEvent.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAGhD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAKhD,mDAAmD;AACnD,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,eAAe,EAAE,KAAK,EAAE,aAAa,GAAG,IAAI,CAiBvF;AAED,8BAA8B;AAC9B,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,aAAa,GAAG,UAAU,GAAG,IAAI,CAiC7E"}
@@ -1,10 +1,13 @@
1
1
  import type { Breadcrumb, Scope } from '@sentry/types';
2
2
  import type { ReplayContainer } from '../types';
3
+ import type { ReplayFrame } from '../types/replayFrame';
4
+ declare type BreadcrumbWithCategory = Required<Pick<Breadcrumb, 'category'>>;
3
5
  export declare const handleScopeListener: (replay: ReplayContainer) => (scope: Scope) => void;
4
6
  /**
5
7
  * An event handler to handle scope changes.
6
8
  */
7
9
  export declare function handleScope(scope: Scope): Breadcrumb | null;
8
10
  /** exported for tests only */
9
- export declare function normalizeConsoleBreadcrumb(breadcrumb: Breadcrumb): Breadcrumb;
11
+ export declare function normalizeConsoleBreadcrumb(breadcrumb: Omit<Breadcrumb, 'category'> & BreadcrumbWithCategory): ReplayFrame;
12
+ export {};
10
13
  //# sourceMappingURL=handleScope.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"handleScope.d.ts","sourceRoot":"","sources":["../../../../src/coreHandlers/handleScope.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAIvD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAOhD,eAAO,MAAM,mBAAmB,EAAE,CAAC,MAAM,EAAE,eAAe,KAAK,CAAC,KAAK,EAAE,KAAK,KAAK,IAc9E,CAAC;AAEJ;;GAEG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,KAAK,GAAG,UAAU,GAAG,IAAI,CA4B3D;AAED,8BAA8B;AAC9B,wBAAgB,0BAA0B,CAAC,UAAU,EAAE,UAAU,GAAG,UAAU,CAkD7E"}
1
+ {"version":3,"file":"handleScope.d.ts","sourceRoot":"","sources":["../../../../src/coreHandlers/handleScope.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAIvD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAChD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAOxD,aAAK,sBAAsB,GAAG,QAAQ,CAAC,IAAI,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC;AAMrE,eAAO,MAAM,mBAAmB,EAAE,CAAC,MAAM,EAAE,eAAe,KAAK,CAAC,KAAK,EAAE,KAAK,KAAK,IAc9E,CAAC;AAEJ;;GAEG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,KAAK,GAAG,UAAU,GAAG,IAAI,CA4B3D;AAED,8BAA8B;AAC9B,wBAAgB,0BAA0B,CACxC,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,UAAU,CAAC,GAAG,sBAAsB,GAChE,WAAW,CAkDb"}
@@ -8,5 +8,7 @@ declare type ClickBreadcrumb = Breadcrumb & {
8
8
  * and potentially create a corresponding breadcrumb.
9
9
  */
10
10
  export declare function detectSlowClick(replay: ReplayContainer, config: SlowClickConfig, clickBreadcrumb: ClickBreadcrumb, node: HTMLElement): void;
11
+ /** exported for tests only */
12
+ export declare function ignoreElement(node: HTMLElement, config: SlowClickConfig): boolean;
11
13
  export {};
12
14
  //# sourceMappingURL=handleSlowClick.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"handleSlowClick.d.ts","sourceRoot":"","sources":["../../../../src/coreHandlers/handleSlowClick.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAGhD,OAAO,KAAK,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAGjE,aAAK,eAAe,GAAG,UAAU,GAAG;IAClC,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF;;;GAGG;AACH,wBAAgB,eAAe,CAC7B,MAAM,EAAE,eAAe,EACvB,MAAM,EAAE,eAAe,EACvB,eAAe,EAAE,eAAe,EAChC,IAAI,EAAE,WAAW,GAChB,IAAI,CAuDN"}
1
+ {"version":3,"file":"handleSlowClick.d.ts","sourceRoot":"","sources":["../../../../src/coreHandlers/handleSlowClick.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAGhD,OAAO,KAAK,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAGjE,aAAK,eAAe,GAAG,UAAU,GAAG;IAClC,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF;;;GAGG;AACH,wBAAgB,eAAe,CAC7B,MAAM,EAAE,eAAe,EACvB,MAAM,EAAE,eAAe,EACvB,eAAe,EAAE,eAAe,EAChC,IAAI,EAAE,WAAW,GAChB,IAAI,CAuDN;AA4CD,8BAA8B;AAC9B,wBAAgB,aAAa,CAAC,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,eAAe,GAAG,OAAO,CAyBjF"}
@@ -1 +1 @@
1
- {"version":3,"file":"addBreadcrumbEvent.d.ts","sourceRoot":"","sources":["../../../../../src/coreHandlers/util/addBreadcrumbEvent.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAGhD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAGnD;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,eAAe,EAAE,UAAU,EAAE,UAAU,GAAG,IAAI,CA2BxF"}
1
+ {"version":3,"file":"addBreadcrumbEvent.d.ts","sourceRoot":"","sources":["../../../../../src/coreHandlers/util/addBreadcrumbEvent.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAGhD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEnD;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,eAAe,EAAE,UAAU,EAAE,UAAU,GAAG,IAAI,CA2BxF"}
@@ -1 +1 @@
1
- {"version":3,"file":"getAttributesToRecord.d.ts","sourceRoot":"","sources":["../../../../../src/coreHandlers/util/getAttributesToRecord.ts"],"names":[],"mappings":"AAcA;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAelG"}
1
+ {"version":3,"file":"getAttributesToRecord.d.ts","sourceRoot":"","sources":["../../../../../src/coreHandlers/util/getAttributesToRecord.ts"],"names":[],"mappings":"AAgBA;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAelG"}
package/types/index.d.ts CHANGED
@@ -1,2 +1,7 @@
1
1
  export { Replay } from './integration';
2
+ export type { BreadcrumbFrame, BreadcrumbFrameEvent, OptionFrameEvent, ReplayFrame, ReplayFrameEvent, SpanFrame, SpanFrameEvent, } from './types';
3
+ export { EventType } from '@sentry-internal/rrweb';
4
+ export { NodeType } from '@sentry-internal/rrweb-snapshot';
5
+ export type { eventWithTime, fullSnapshotEvent } from '@sentry-internal/rrweb';
6
+ export type { serializedNodeWithId } from '@sentry-internal/rrweb-snapshot';
2
7
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AACvC,YAAY,EACV,eAAe,EACf,oBAAoB,EACpB,gBAAgB,EAChB,WAAW,EACX,gBAAgB,EAChB,SAAS,EACT,cAAc,GACf,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,QAAQ,EAAE,MAAM,iCAAiC,CAAC;AAC3D,YAAY,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC/E,YAAY,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC"}
@@ -25,7 +25,7 @@ export declare class Replay implements Integration {
25
25
  */
26
26
  private readonly _initialOptions;
27
27
  private _replay?;
28
- constructor({ flushMinDelay, flushMaxDelay, stickySession, useCompression, _experiments, sessionSampleRate, errorSampleRate, maskAllText, maskAllInputs, blockAllMedia, networkDetailAllowUrls, networkCaptureBodies, networkRequestHeaders, networkResponseHeaders, mask, unmask, block, unblock, ignore, maskFn, beforeAddRecordingEvent, blockClass, blockSelector, maskInputOptions, maskTextClass, maskTextSelector, ignoreClass, }?: ReplayConfiguration);
28
+ constructor({ flushMinDelay, flushMaxDelay, stickySession, useCompression, _experiments, sessionSampleRate, errorSampleRate, maskAllText, maskAllInputs, blockAllMedia, mutationBreadcrumbLimit, mutationLimit, slowClickTimeout, slowClickIgnoreSelectors, networkDetailAllowUrls, networkCaptureBodies, networkRequestHeaders, networkResponseHeaders, mask, unmask, block, unblock, ignore, maskFn, beforeAddRecordingEvent, blockClass, blockSelector, maskInputOptions, maskTextClass, maskTextSelector, ignoreClass, }?: ReplayConfiguration);
29
29
  /** If replay has already been initialized */
30
30
  protected get _isInitialized(): boolean;
31
31
  /** Update _isInitialized */
@@ -1 +1 @@
1
- {"version":3,"file":"integration.d.ts","sourceRoot":"","sources":["../../../src/integration.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAA8B,WAAW,EAAE,MAAM,eAAe,CAAC;AAK7E,OAAO,KAAK,EAAoB,mBAAmB,EAAuB,yBAAyB,EAAE,MAAM,SAAS,CAAC;AAcrH;;GAEG;AACH,qBAAa,MAAO,YAAW,WAAW;IACxC;;OAEG;IACH,OAAc,EAAE,EAAE,MAAM,CAAY;IAEpC;;OAEG;IACI,IAAI,EAAE,MAAM,CAAa;IAEhC;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAmB;IAErD;;;;;;OAMG;IACH,OAAO,CAAC,QAAQ,CAAC,eAAe,CAA6B;IAE7D,OAAO,CAAC,OAAO,CAAC,CAAkB;gBAEf,EACjB,aAAuC,EACvC,aAAuC,EACvC,aAAoB,EACpB,cAAqB,EACrB,YAAiB,EACjB,iBAAiB,EACjB,eAAe,EACf,WAAkB,EAClB,aAAoB,EACpB,aAAoB,EAEpB,sBAA2B,EAC3B,oBAA2B,EAC3B,qBAA0B,EAC1B,sBAA2B,EAE3B,IAAS,EACT,MAAW,EACX,KAAU,EACV,OAAY,EACZ,MAAW,EACX,MAAM,EAEN,uBAAuB,EAGvB,UAAU,EAEV,aAAa,EAEb,gBAAgB,EAEhB,aAAa,EAEb,gBAAgB,EAEhB,WAAW,GACZ,GAAE,mBAAwB;IAyF3B,6CAA6C;IAC7C,SAAS,KAAK,cAAc,IAAI,OAAO,CAEtC;IAED,4BAA4B;IAC5B,SAAS,KAAK,cAAc,CAAC,KAAK,EAAE,OAAO,EAE1C;IAED;;OAEG;IACI,SAAS,IAAI,IAAI;IAkBxB;;;;;;OAMG;IACI,KAAK,IAAI,IAAI;IAQpB;;;OAGG;IACI,cAAc,IAAI,IAAI;IAQ7B;;;OAGG;IACI,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAQ5B;;;;;;OAMG;IACI,KAAK,CAAC,OAAO,CAAC,EAAE,yBAAyB,GAAG,OAAO,CAAC,IAAI,CAAC;IAQhE;;OAEG;IACI,WAAW,IAAI,MAAM,GAAG,SAAS;IAOxC;;OAEG;IACH,SAAS,CAAC,WAAW,IAAI,IAAI;IAQ7B,6BAA6B;IAC7B,OAAO,CAAC,MAAM;CASf"}
1
+ {"version":3,"file":"integration.d.ts","sourceRoot":"","sources":["../../../src/integration.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAA8B,WAAW,EAAE,MAAM,eAAe,CAAC;AAK7E,OAAO,KAAK,EAAoB,mBAAmB,EAAuB,yBAAyB,EAAE,MAAM,SAAS,CAAC;AAcrH;;GAEG;AACH,qBAAa,MAAO,YAAW,WAAW;IACxC;;OAEG;IACH,OAAc,EAAE,EAAE,MAAM,CAAY;IAEpC;;OAEG;IACI,IAAI,EAAE,MAAM,CAAa;IAEhC;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAmB;IAErD;;;;;;OAMG;IACH,OAAO,CAAC,QAAQ,CAAC,eAAe,CAA6B;IAE7D,OAAO,CAAC,OAAO,CAAC,CAAkB;gBAEf,EACjB,aAAuC,EACvC,aAAuC,EACvC,aAAoB,EACpB,cAAqB,EACrB,YAAiB,EACjB,iBAAiB,EACjB,eAAe,EACf,WAAkB,EAClB,aAAoB,EACpB,aAAoB,EAEpB,uBAA6B,EAC7B,aAAsB,EAEtB,gBAAwB,EACxB,wBAA6B,EAE7B,sBAA2B,EAC3B,oBAA2B,EAC3B,qBAA0B,EAC1B,sBAA2B,EAE3B,IAAS,EACT,MAAW,EACX,KAAU,EACV,OAAY,EACZ,MAAW,EACX,MAAM,EAEN,uBAAuB,EAGvB,UAAU,EAEV,aAAa,EAEb,gBAAgB,EAEhB,aAAa,EAEb,gBAAgB,EAEhB,WAAW,GACZ,GAAE,mBAAwB;IA6F3B,6CAA6C;IAC7C,SAAS,KAAK,cAAc,IAAI,OAAO,CAEtC;IAED,4BAA4B;IAC5B,SAAS,KAAK,cAAc,CAAC,KAAK,EAAE,OAAO,EAE1C;IAED;;OAEG;IACI,SAAS,IAAI,IAAI;IAkBxB;;;;;;OAMG;IACI,KAAK,IAAI,IAAI;IAQpB;;;OAGG;IACI,cAAc,IAAI,IAAI;IAQ7B;;;OAGG;IACI,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAQ5B;;;;;;OAMG;IACI,KAAK,CAAC,OAAO,CAAC,EAAE,yBAAyB,GAAG,OAAO,CAAC,IAAI,CAAC;IAQhE;;OAEG;IACI,WAAW,IAAI,MAAM,GAAG,SAAS;IAOxC;;OAEG;IACH,SAAS,CAAC,WAAW,IAAI,IAAI;IAQ7B,6BAA6B;IAC7B,OAAO,CAAC,MAAM;CASf"}
package/types/replay.d.ts CHANGED
@@ -1,5 +1,7 @@
1
- import type { ReplayRecordingMode } from '@sentry/types';
2
- import type { AddUpdateCallback, AllPerformanceEntry, EventBuffer, InternalEventContext, RecordingOptions, ReplayContainer as ReplayContainerInterface, ReplayPluginOptions, SendBufferedReplayOptions, Session, Timeouts } from './types';
1
+ import type { ReplayRecordingMode, Transaction } from '@sentry/types';
2
+ import type { AddEventResult, AddUpdateCallback, AllPerformanceEntry, EventBuffer, InternalEventContext, RecordingEvent, RecordingOptions, ReplayContainer as ReplayContainerInterface, ReplayPluginOptions, SendBufferedReplayOptions, Session, Timeouts } from './types';
3
+ import type { SKIPPED } from './util/throttle';
4
+ import { THROTTLED } from './util/throttle';
3
5
  /**
4
6
  * The main replay container class, which holds all the state and methods for recording and sending replays.
5
7
  */
@@ -18,11 +20,17 @@ export declare class ReplayContainer implements ReplayContainerInterface {
18
20
  * - or calling `flush()` to send the replay
19
21
  */
20
22
  recordingMode: ReplayRecordingMode;
23
+ /**
24
+ * The current or last active transcation.
25
+ * This is only available when performance is enabled.
26
+ */
27
+ lastTransaction?: Transaction;
21
28
  /**
22
29
  * These are here so we can overwrite them in tests etc.
23
30
  * @hidden
24
31
  */
25
32
  readonly timeouts: Timeouts;
33
+ private _throttledAddEvent;
26
34
  /**
27
35
  * Options to pass to `rrweb.record()`
28
36
  */
@@ -139,6 +147,14 @@ export declare class ReplayContainer implements ReplayContainerInterface {
139
147
  * being "active" (e.g. a mouse click).
140
148
  */
141
149
  triggerUserActivity(): void;
150
+ /**
151
+ * Updates the user activity timestamp *without* resuming
152
+ * recording. Some user events (e.g. keydown) can be create
153
+ * low-value replays that only contain the keypress as a
154
+ * breadcrumb. Instead this would require other events to
155
+ * create a new replay after a session has expired.
156
+ */
157
+ updateUserActivity(): void;
142
158
  /**
143
159
  * Only flush if `this.recordingMode === 'session'`
144
160
  */
@@ -170,6 +186,16 @@ export declare class ReplayContainer implements ReplayContainerInterface {
170
186
  * first flush.
171
187
  */
172
188
  setInitialState(): void;
189
+ /**
190
+ * Add a breadcrumb event, that may be throttled.
191
+ * If it was throttled, we add a custom breadcrumb to indicate that.
192
+ */
193
+ throttledAddEvent(event: RecordingEvent, isCheckout?: boolean): typeof THROTTLED | typeof SKIPPED | Promise<AddEventResult | null>;
194
+ /**
195
+ * This will get the parametrized route name of the current page.
196
+ * This is only available if performance is enabled, and if an instrumented router is used.
197
+ */
198
+ getCurrentRoute(): string | undefined;
173
199
  /**
174
200
  * Initialize and start all listeners to varying events (DOM,
175
201
  * Performance Observer, Recording, Sentry SDK, etc)
@@ -1 +1 @@
1
- {"version":3,"file":"replay.d.ts","sourceRoot":"","sources":["../../../src/replay.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"replay.d.ts","sourceRoot":"","sources":["../../../src/replay.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"getSession.d.ts","sourceRoot":"","sources":["../../../../src/session/getSession.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAMlE,UAAU,gBAAiB,SAAQ,cAAc;IAC/C,QAAQ,EAAE,QAAQ,CAAC;IAEnB;;OAEG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,EACzB,QAAQ,EACR,cAAc,EACd,aAAa,EACb,iBAAiB,EACjB,cAAc,GACf,EAAE,gBAAgB,GAAG;IAAE,IAAI,EAAE,KAAK,GAAG,OAAO,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,CA8BhE"}
1
+ {"version":3,"file":"getSession.d.ts","sourceRoot":"","sources":["../../../../src/session/getSession.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAMlE,UAAU,gBAAiB,SAAQ,cAAc;IAC/C,QAAQ,EAAE,QAAQ,CAAC;IAEnB;;OAEG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,EACzB,QAAQ,EACR,cAAc,EACd,aAAa,EACb,iBAAiB,EACjB,cAAc,GACf,EAAE,gBAAgB,GAAG;IAAE,IAAI,EAAE,KAAK,GAAG,OAAO,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,CAgChE"}
@@ -0,0 +1,6 @@
1
+ export * from './performance';
2
+ export * from './replay';
3
+ export * from './replayFrame';
4
+ export * from './request';
5
+ export * from './rrweb';
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC;AACzB,cAAc,eAAe,CAAC;AAC9B,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC"}
@@ -0,0 +1,124 @@
1
+ import type { ReplayNetworkRequestOrResponse } from './request';
2
+ export declare type AllPerformanceEntry = PerformancePaintTiming | PerformanceResourceTiming | PerformanceNavigationTiming;
3
+ export declare type PerformancePaintTiming = PerformanceEntry;
4
+ export declare type PerformanceNavigationTiming = PerformanceEntry & PerformanceResourceTiming & {
5
+ type: string;
6
+ transferSize: number;
7
+ /**
8
+ * A DOMHighResTimeStamp representing the time immediately before the user agent
9
+ * sets the document's readyState to "interactive".
10
+ */
11
+ domInteractive: number;
12
+ /**
13
+ * A DOMHighResTimeStamp representing the time immediately before the current
14
+ * document's DOMContentLoaded event handler starts.
15
+ */
16
+ domContentLoadedEventStart: number;
17
+ /**
18
+ * A DOMHighResTimeStamp representing the time immediately after the current
19
+ * document's DOMContentLoaded event handler completes.
20
+ */
21
+ domContentLoadedEventEnd: number;
22
+ /**
23
+ * A DOMHighResTimeStamp representing the time immediately before the current
24
+ * document's load event handler starts.
25
+ */
26
+ loadEventStart: number;
27
+ /**
28
+ * A DOMHighResTimeStamp representing the time immediately after the current
29
+ * document's load event handler completes.
30
+ */
31
+ loadEventEnd: number;
32
+ /**
33
+ * A DOMHighResTimeStamp representing the time immediately before the user agent
34
+ * sets the document's readyState to "complete".
35
+ */
36
+ domComplete: number;
37
+ /**
38
+ * A number representing the number of redirects since the last non-redirect
39
+ * navigation in the current browsing context.
40
+ */
41
+ redirectCount: number;
42
+ };
43
+ export declare type ExperimentalPerformanceResourceTiming = PerformanceResourceTiming & {
44
+ responseStatus?: number;
45
+ };
46
+ export declare type PaintData = undefined;
47
+ /**
48
+ * See https://developer.mozilla.org/en-US/docs/Web/API/PerformanceNavigationTiming
49
+ *
50
+ * Note `navigation.push` will not have any data
51
+ */
52
+ export declare type NavigationData = Partial<Pick<PerformanceNavigationTiming, 'decodedBodySize' | 'encodedBodySize' | 'duration' | 'domInteractive' | 'domContentLoadedEventEnd' | 'domContentLoadedEventStart' | 'loadEventStart' | 'loadEventEnd' | 'domComplete' | 'redirectCount'>> & {
53
+ /**
54
+ * Transfer size of resource
55
+ */
56
+ size?: number;
57
+ };
58
+ export declare type ResourceData = Pick<PerformanceResourceTiming, 'decodedBodySize' | 'encodedBodySize'> & {
59
+ /**
60
+ * Transfer size of resource
61
+ */
62
+ size: number;
63
+ /**
64
+ * HTTP status code. Note this is experimental and not available on all browsers.
65
+ */
66
+ statusCode?: number;
67
+ };
68
+ export interface LargestContentfulPaintData {
69
+ /**
70
+ * Render time (in ms) of the LCP
71
+ */
72
+ value: number;
73
+ size: number;
74
+ /**
75
+ * The recording id of the LCP node. -1 if not found
76
+ */
77
+ nodeId?: number;
78
+ }
79
+ /**
80
+ * Entries that come from window.performance
81
+ */
82
+ export declare type AllPerformanceEntryData = PaintData | NavigationData | ResourceData | LargestContentfulPaintData;
83
+ export interface MemoryData {
84
+ memory: {
85
+ jsHeapSizeLimit: number;
86
+ totalJSHeapSize: number;
87
+ usedJSHeapSize: number;
88
+ };
89
+ }
90
+ export interface NetworkRequestData {
91
+ method?: string;
92
+ statusCode?: number;
93
+ requestBodySize?: number;
94
+ responseBodySize?: number;
95
+ request?: ReplayNetworkRequestOrResponse;
96
+ response?: ReplayNetworkRequestOrResponse;
97
+ }
98
+ export interface HistoryData {
99
+ previous: string;
100
+ }
101
+ export declare type AllEntryData = AllPerformanceEntryData | MemoryData | NetworkRequestData | HistoryData;
102
+ export interface ReplayPerformanceEntry<T> {
103
+ /**
104
+ * One of these types https://developer.mozilla.org/en-US/docs/Web/API/PerformanceEntry/entryType
105
+ */
106
+ type: string;
107
+ /**
108
+ * A more specific description of the performance entry
109
+ */
110
+ name: string;
111
+ /**
112
+ * The start timestamp in seconds
113
+ */
114
+ start: number;
115
+ /**
116
+ * The end timestamp in seconds
117
+ */
118
+ end: number;
119
+ /**
120
+ * Additional unstructured data to be included
121
+ */
122
+ data: T;
123
+ }
124
+ //# sourceMappingURL=performance.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"performance.d.ts","sourceRoot":"","sources":["../../../../src/types/performance.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,WAAW,CAAC;AAEhE,oBAAY,mBAAmB,GAAG,sBAAsB,GAAG,yBAAyB,GAAG,2BAA2B,CAAC;AAInH,oBAAY,sBAAsB,GAAG,gBAAgB,CAAC;AACtD,oBAAY,2BAA2B,GAAG,gBAAgB,GACxD,yBAAyB,GAAG;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IAErB;;;OAGG;IACH,cAAc,EAAE,MAAM,CAAC;IAEvB;;;OAGG;IACH,0BAA0B,EAAE,MAAM,CAAC;IACnC;;;OAGG;IACH,wBAAwB,EAAE,MAAM,CAAC;IAEjC;;;OAGG;IACH,cAAc,EAAE,MAAM,CAAC;IAEvB;;;OAGG;IACH,YAAY,EAAE,MAAM,CAAC;IAErB;;;OAGG;IACH,WAAW,EAAE,MAAM,CAAC;IAEpB;;;OAGG;IACH,aAAa,EAAE,MAAM,CAAC;CACvB,CAAC;AACJ,oBAAY,qCAAqC,GAAG,yBAAyB,GAAG;IAG9E,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,CAAC;AAEF,oBAAY,SAAS,GAAG,SAAS,CAAC;AAElC;;;;GAIG;AACH,oBAAY,cAAc,GAAG,OAAO,CAClC,IAAI,CACF,2BAA2B,EACzB,iBAAiB,GACjB,iBAAiB,GACjB,UAAU,GACV,gBAAgB,GAChB,0BAA0B,GAC1B,4BAA4B,GAC5B,gBAAgB,GAChB,cAAc,GACd,aAAa,GACb,eAAe,CAClB,CACF,GAAG;IACF;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,oBAAY,YAAY,GAAG,IAAI,CAAC,yBAAyB,EAAE,iBAAiB,GAAG,iBAAiB,CAAC,GAAG;IAClG;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,MAAM,WAAW,0BAA0B;IACzC;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,oBAAY,uBAAuB,GAAG,SAAS,GAAG,cAAc,GAAG,YAAY,GAAG,0BAA0B,CAAC;AAE7G,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE;QACN,eAAe,EAAE,MAAM,CAAC;QACxB,eAAe,EAAE,MAAM,CAAC;QACxB,cAAc,EAAE,MAAM,CAAC;KACxB,CAAC;CACH;AAED,MAAM,WAAW,kBAAkB;IACjC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,OAAO,CAAC,EAAE,8BAA8B,CAAC;IACzC,QAAQ,CAAC,EAAE,8BAA8B,CAAC;CAC3C;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,oBAAY,YAAY,GAAG,uBAAuB,GAAG,UAAU,GAAG,kBAAkB,GAAG,WAAW,CAAC;AAEnG,MAAM,WAAW,sBAAsB,CAAC,CAAC;IACvC;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,GAAG,EAAE,MAAM,CAAC;IAEZ;;OAEG;IACH,IAAI,EAAE,CAAC,CAAC;CACT"}
@@ -1,8 +1,11 @@
1
- import type { FetchBreadcrumbHint, HandlerDataFetch, ReplayRecordingData, ReplayRecordingMode, SentryWrappedXMLHttpRequest, XhrBreadcrumbHint } from '@sentry/types';
2
- import type { eventWithTime, recordOptions } from './types/rrweb';
3
- export declare type RecordingEvent = eventWithTime;
1
+ import type { FetchBreadcrumbHint, HandlerDataFetch, ReplayRecordingData, ReplayRecordingMode, SentryWrappedXMLHttpRequest, Transaction, XhrBreadcrumbHint } from '@sentry/types';
2
+ import type { SKIPPED, THROTTLED } from '../util/throttle';
3
+ import type { AllPerformanceEntry } from './performance';
4
+ import type { ReplayFrameEvent } from './replayFrame';
5
+ import type { ReplayNetworkRequestOrResponse } from './request';
6
+ import type { eventWithTime, recordOptions } from './rrweb';
7
+ export declare type RecordingEvent = ReplayFrameEvent | eventWithTime;
4
8
  export declare type RecordingOptions = recordOptions;
5
- export declare type AllPerformanceEntry = PerformancePaintTiming | PerformanceResourceTiming | PerformanceNavigationTiming;
6
9
  export interface SendReplayData {
7
10
  recordingData: ReplayRecordingData;
8
11
  replayId: string;
@@ -25,103 +28,6 @@ export interface WorkerRequest {
25
28
  method: 'clear' | 'addEvent' | 'finish';
26
29
  arg?: string;
27
30
  }
28
- export declare type PerformancePaintTiming = PerformanceEntry;
29
- export declare type PerformanceNavigationTiming = PerformanceEntry & PerformanceResourceTiming & {
30
- type: string;
31
- transferSize: number;
32
- /**
33
- * A DOMHighResTimeStamp representing the time immediately before the user agent
34
- * sets the document's readyState to "interactive".
35
- */
36
- domInteractive: number;
37
- /**
38
- * A DOMHighResTimeStamp representing the time immediately before the current
39
- * document's DOMContentLoaded event handler starts.
40
- */
41
- domContentLoadedEventStart: number;
42
- /**
43
- * A DOMHighResTimeStamp representing the time immediately after the current
44
- * document's DOMContentLoaded event handler completes.
45
- */
46
- domContentLoadedEventEnd: number;
47
- /**
48
- * A DOMHighResTimeStamp representing the time immediately before the current
49
- * document's load event handler starts.
50
- */
51
- loadEventStart: number;
52
- /**
53
- * A DOMHighResTimeStamp representing the time immediately after the current
54
- * document's load event handler completes.
55
- */
56
- loadEventEnd: number;
57
- /**
58
- * A DOMHighResTimeStamp representing the time immediately before the user agent
59
- * sets the document's readyState to "complete".
60
- */
61
- domComplete: number;
62
- /**
63
- * A number representing the number of redirects since the last non-redirect
64
- * navigation in the current browsing context.
65
- */
66
- redirectCount: number;
67
- };
68
- export declare type ExperimentalPerformanceResourceTiming = PerformanceResourceTiming & {
69
- responseStatus?: number;
70
- };
71
- export declare type PaintData = undefined;
72
- /**
73
- * See https://developer.mozilla.org/en-US/docs/Web/API/PerformanceNavigationTiming
74
- *
75
- * Note `navigation.push` will not have any data
76
- */
77
- export declare type NavigationData = Partial<Pick<PerformanceNavigationTiming, 'decodedBodySize' | 'encodedBodySize' | 'duration' | 'domInteractive' | 'domContentLoadedEventEnd' | 'domContentLoadedEventStart' | 'loadEventStart' | 'loadEventEnd' | 'domComplete' | 'redirectCount'>> & {
78
- /**
79
- * Transfer size of resource
80
- */
81
- size?: number;
82
- };
83
- export declare type ResourceData = Pick<PerformanceResourceTiming, 'decodedBodySize' | 'encodedBodySize'> & {
84
- /**
85
- * Transfer size of resource
86
- */
87
- size: number;
88
- /**
89
- * HTTP status code. Note this is experimental and not available on all browsers.
90
- */
91
- statusCode?: number;
92
- };
93
- export interface LargestContentfulPaintData {
94
- /**
95
- * Render time (in ms) of the LCP
96
- */
97
- value: number;
98
- size: number;
99
- /**
100
- * The recording id of the LCP node. -1 if not found
101
- */
102
- nodeId?: number;
103
- }
104
- /**
105
- * Entries that come from window.performance
106
- */
107
- export declare type AllPerformanceEntryData = PaintData | NavigationData | ResourceData | LargestContentfulPaintData;
108
- export interface MemoryData {
109
- memory: {
110
- jsHeapSizeLimit: number;
111
- totalJSHeapSize: number;
112
- usedJSHeapSize: number;
113
- };
114
- }
115
- export interface NetworkRequestData {
116
- method?: string;
117
- statusCode?: number;
118
- requestBodySize?: number;
119
- responseBodySize?: number;
120
- }
121
- export interface HistoryData {
122
- previous: string;
123
- }
124
- export declare type AllEntryData = AllPerformanceEntryData | MemoryData | NetworkRequestData | HistoryData;
125
31
  /**
126
32
  * The response from the worker
127
33
  */
@@ -133,7 +39,7 @@ export interface WorkerResponse {
133
39
  }
134
40
  export declare type AddEventResult = void;
135
41
  export interface BeforeAddRecordingEvent {
136
- (event: RecordingEvent): RecordingEvent | null | undefined;
42
+ (event: ReplayFrameEvent): ReplayFrameEvent | null | undefined;
137
43
  }
138
44
  export interface ReplayNetworkOptions {
139
45
  /**
@@ -206,6 +112,30 @@ export interface ReplayPluginOptions extends ReplayNetworkOptions {
206
112
  * Mask all text in recordings
207
113
  */
208
114
  maskAllText: boolean;
115
+ /**
116
+ * A high number of DOM mutations (in a single event loop) can cause
117
+ * performance regressions in end-users' browsers. This setting will create
118
+ * a breadcrumb in the recording when the limit has been reached.
119
+ */
120
+ mutationBreadcrumbLimit: number;
121
+ /**
122
+ * A high number of DOM mutations (in a single event loop) can cause
123
+ * performance regressions in end-users' browsers. This setting will cause
124
+ * recording to stop when the limit has been reached.
125
+ */
126
+ mutationLimit: number;
127
+ /**
128
+ * The max. time in ms to wait for a slow click to finish.
129
+ * After this amount of time we stop waiting for actions after a click happened.
130
+ * Set this to 0 to disable slow click capture.
131
+ *
132
+ * Default: 7000ms
133
+ */
134
+ slowClickTimeout: number;
135
+ /**
136
+ * Ignore clicks on elements matching the given selectors for slow click detection.
137
+ */
138
+ slowClickIgnoreSelectors: string[];
209
139
  /**
210
140
  * Callback before adding a custom recording event
211
141
  *
@@ -228,14 +158,6 @@ export interface ReplayPluginOptions extends ReplayNetworkOptions {
228
158
  _experiments: Partial<{
229
159
  captureExceptions: boolean;
230
160
  traceInternals: boolean;
231
- mutationLimit: number;
232
- mutationBreadcrumbLimit: number;
233
- slowClicks: {
234
- threshold: number;
235
- timeout: number;
236
- scrollTimeout: number;
237
- ignoreSelectors: string[];
238
- };
239
161
  delayFlushOnCheckout: number;
240
162
  }>;
241
163
  }
@@ -416,6 +338,8 @@ export interface ReplayContainer {
416
338
  session: Session | undefined;
417
339
  recordingMode: ReplayRecordingMode;
418
340
  timeouts: Timeouts;
341
+ lastTransaction?: Transaction;
342
+ throttledAddEvent: (event: RecordingEvent, isCheckout?: boolean) => typeof THROTTLED | typeof SKIPPED | Promise<AddEventResult | null>;
419
343
  isEnabled(): boolean;
420
344
  isPaused(): boolean;
421
345
  getContext(): InternalEventContext;
@@ -431,33 +355,13 @@ export interface ReplayContainer {
431
355
  flushImmediate(): Promise<void>;
432
356
  cancelFlush(): void;
433
357
  triggerUserActivity(): void;
358
+ updateUserActivity(): void;
434
359
  addUpdate(cb: AddUpdateCallback): void;
435
360
  getOptions(): ReplayPluginOptions;
436
361
  getSessionId(): string | undefined;
437
362
  checkAndHandleExpiredSession(): boolean | void;
438
363
  setInitialState(): void;
439
- }
440
- export interface ReplayPerformanceEntry<T> {
441
- /**
442
- * One of these types https://developer.mozilla.org/en-US/docs/Web/API/PerformanceEntry/entryType
443
- */
444
- type: string;
445
- /**
446
- * A more specific description of the performance entry
447
- */
448
- name: string;
449
- /**
450
- * The start timestamp in seconds
451
- */
452
- start: number;
453
- /**
454
- * The end timestamp in seconds
455
- */
456
- end: number;
457
- /**
458
- * Additional unstructured data to be included
459
- */
460
- data: T;
364
+ getCurrentRoute(): string | undefined;
461
365
  }
462
366
  declare type RequestBody = null | Blob | BufferSource | FormData | URLSearchParams | string;
463
367
  export declare type XhrHint = XhrBreadcrumbHint & {
@@ -468,19 +372,6 @@ export declare type FetchHint = FetchBreadcrumbHint & {
468
372
  input: HandlerDataFetch['args'];
469
373
  response: Response;
470
374
  };
471
- declare type JsonObject = Record<string, unknown>;
472
- declare type JsonArray = unknown[];
473
- export declare type NetworkBody = JsonObject | JsonArray | string;
474
- export declare type NetworkMetaWarning = 'JSON_TRUNCATED' | 'TEXT_TRUNCATED' | 'INVALID_JSON' | 'URL_SKIPPED';
475
- interface NetworkMeta {
476
- warnings?: NetworkMetaWarning[];
477
- }
478
- export interface ReplayNetworkRequestOrResponse {
479
- size?: number;
480
- body?: NetworkBody;
481
- headers: Record<string, string>;
482
- _meta?: NetworkMeta;
483
- }
484
375
  export declare type ReplayNetworkRequestData = {
485
376
  startTimestamp: number;
486
377
  endTimestamp: number;
@@ -497,4 +388,4 @@ export interface SlowClickConfig {
497
388
  ignoreSelector: string;
498
389
  }
499
390
  export {};
500
- //# sourceMappingURL=types.d.ts.map
391
+ //# sourceMappingURL=replay.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"replay.d.ts","sourceRoot":"","sources":["../../../../src/types/replay.ts"],"names":[],"mappings":"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"}