@tracelog/lib 0.10.0 → 0.11.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.
Files changed (124) hide show
  1. package/README.md +128 -407
  2. package/dist/browser/tracelog.esm.js +1173 -771
  3. package/dist/browser/tracelog.esm.js.map +1 -1
  4. package/dist/browser/tracelog.js +2 -2
  5. package/dist/browser/tracelog.js.map +1 -1
  6. package/dist/cjs/app.d.ts +2 -0
  7. package/dist/cjs/app.d.ts.map +1 -1
  8. package/dist/cjs/app.js +5 -0
  9. package/dist/cjs/app.js.map +1 -1
  10. package/dist/cjs/constants/config.constants.d.ts +26 -1
  11. package/dist/cjs/constants/config.constants.d.ts.map +1 -1
  12. package/dist/cjs/constants/config.constants.js +30 -3
  13. package/dist/cjs/constants/config.constants.js.map +1 -1
  14. package/dist/cjs/constants/error.constants.d.ts +15 -0
  15. package/dist/cjs/constants/error.constants.d.ts.map +1 -1
  16. package/dist/cjs/constants/error.constants.js +19 -1
  17. package/dist/cjs/constants/error.constants.js.map +1 -1
  18. package/dist/cjs/handlers/click.handler.d.ts +15 -0
  19. package/dist/cjs/handlers/click.handler.d.ts.map +1 -1
  20. package/dist/cjs/handlers/click.handler.js +69 -0
  21. package/dist/cjs/handlers/click.handler.js.map +1 -1
  22. package/dist/cjs/handlers/error.handler.d.ts +7 -0
  23. package/dist/cjs/handlers/error.handler.d.ts.map +1 -1
  24. package/dist/cjs/handlers/error.handler.js +35 -0
  25. package/dist/cjs/handlers/error.handler.js.map +1 -1
  26. package/dist/cjs/handlers/page-view.handler.d.ts +1 -0
  27. package/dist/cjs/handlers/page-view.handler.d.ts.map +1 -1
  28. package/dist/cjs/handlers/page-view.handler.js +11 -0
  29. package/dist/cjs/handlers/page-view.handler.js.map +1 -1
  30. package/dist/cjs/handlers/performance.handler.js +5 -5
  31. package/dist/cjs/handlers/performance.handler.js.map +1 -1
  32. package/dist/cjs/handlers/viewport.handler.d.ts +44 -0
  33. package/dist/cjs/handlers/viewport.handler.d.ts.map +1 -0
  34. package/dist/cjs/handlers/viewport.handler.js +286 -0
  35. package/dist/cjs/handlers/viewport.handler.js.map +1 -0
  36. package/dist/cjs/managers/event.manager.d.ts +23 -3
  37. package/dist/cjs/managers/event.manager.d.ts.map +1 -1
  38. package/dist/cjs/managers/event.manager.js +166 -10
  39. package/dist/cjs/managers/event.manager.js.map +1 -1
  40. package/dist/cjs/managers/sender.manager.d.ts.map +1 -1
  41. package/dist/cjs/managers/sender.manager.js +12 -0
  42. package/dist/cjs/managers/sender.manager.js.map +1 -1
  43. package/dist/cjs/types/config.types.d.ts +9 -0
  44. package/dist/cjs/types/config.types.d.ts.map +1 -1
  45. package/dist/cjs/types/config.types.js.map +1 -1
  46. package/dist/cjs/types/event.types.d.ts +140 -16
  47. package/dist/cjs/types/event.types.d.ts.map +1 -1
  48. package/dist/cjs/types/event.types.js +23 -9
  49. package/dist/cjs/types/event.types.js.map +1 -1
  50. package/dist/cjs/types/index.d.ts +2 -0
  51. package/dist/cjs/types/index.d.ts.map +1 -1
  52. package/dist/cjs/types/index.js +2 -0
  53. package/dist/cjs/types/index.js.map +1 -1
  54. package/dist/cjs/types/scroll.types.d.ts +16 -0
  55. package/dist/cjs/types/scroll.types.d.ts.map +1 -0
  56. package/dist/cjs/types/scroll.types.js +12 -0
  57. package/dist/cjs/types/scroll.types.js.map +1 -0
  58. package/dist/cjs/types/viewport.types.d.ts +55 -0
  59. package/dist/cjs/types/viewport.types.d.ts.map +1 -0
  60. package/dist/cjs/types/viewport.types.js +3 -0
  61. package/dist/cjs/types/viewport.types.js.map +1 -0
  62. package/dist/cjs/utils/validations/config-validations.utils.d.ts.map +1 -1
  63. package/dist/cjs/utils/validations/config-validations.utils.js +91 -0
  64. package/dist/cjs/utils/validations/config-validations.utils.js.map +1 -1
  65. package/dist/esm/app.d.ts +2 -0
  66. package/dist/esm/app.d.ts.map +1 -1
  67. package/dist/esm/app.js +5 -0
  68. package/dist/esm/app.js.map +1 -1
  69. package/dist/esm/constants/config.constants.d.ts +26 -1
  70. package/dist/esm/constants/config.constants.d.ts.map +1 -1
  71. package/dist/esm/constants/config.constants.js +28 -1
  72. package/dist/esm/constants/config.constants.js.map +1 -1
  73. package/dist/esm/constants/error.constants.d.ts +15 -0
  74. package/dist/esm/constants/error.constants.d.ts.map +1 -1
  75. package/dist/esm/constants/error.constants.js +18 -0
  76. package/dist/esm/constants/error.constants.js.map +1 -1
  77. package/dist/esm/handlers/click.handler.d.ts +15 -0
  78. package/dist/esm/handlers/click.handler.d.ts.map +1 -1
  79. package/dist/esm/handlers/click.handler.js +70 -1
  80. package/dist/esm/handlers/click.handler.js.map +1 -1
  81. package/dist/esm/handlers/error.handler.d.ts +7 -0
  82. package/dist/esm/handlers/error.handler.d.ts.map +1 -1
  83. package/dist/esm/handlers/error.handler.js +36 -1
  84. package/dist/esm/handlers/error.handler.js.map +1 -1
  85. package/dist/esm/handlers/page-view.handler.d.ts +1 -0
  86. package/dist/esm/handlers/page-view.handler.d.ts.map +1 -1
  87. package/dist/esm/handlers/page-view.handler.js +11 -0
  88. package/dist/esm/handlers/page-view.handler.js.map +1 -1
  89. package/dist/esm/handlers/performance.handler.js +5 -5
  90. package/dist/esm/handlers/performance.handler.js.map +1 -1
  91. package/dist/esm/handlers/viewport.handler.d.ts +44 -0
  92. package/dist/esm/handlers/viewport.handler.d.ts.map +1 -0
  93. package/dist/esm/handlers/viewport.handler.js +282 -0
  94. package/dist/esm/handlers/viewport.handler.js.map +1 -0
  95. package/dist/esm/managers/event.manager.d.ts +23 -3
  96. package/dist/esm/managers/event.manager.d.ts.map +1 -1
  97. package/dist/esm/managers/event.manager.js +167 -11
  98. package/dist/esm/managers/event.manager.js.map +1 -1
  99. package/dist/esm/managers/sender.manager.d.ts.map +1 -1
  100. package/dist/esm/managers/sender.manager.js +13 -1
  101. package/dist/esm/managers/sender.manager.js.map +1 -1
  102. package/dist/esm/types/config.types.d.ts +9 -0
  103. package/dist/esm/types/config.types.d.ts.map +1 -1
  104. package/dist/esm/types/config.types.js.map +1 -1
  105. package/dist/esm/types/event.types.d.ts +140 -16
  106. package/dist/esm/types/event.types.d.ts.map +1 -1
  107. package/dist/esm/types/event.types.js +23 -7
  108. package/dist/esm/types/event.types.js.map +1 -1
  109. package/dist/esm/types/index.d.ts +2 -0
  110. package/dist/esm/types/index.d.ts.map +1 -1
  111. package/dist/esm/types/index.js +2 -0
  112. package/dist/esm/types/index.js.map +1 -1
  113. package/dist/esm/types/scroll.types.d.ts +16 -0
  114. package/dist/esm/types/scroll.types.d.ts.map +1 -0
  115. package/dist/esm/types/scroll.types.js +8 -0
  116. package/dist/esm/types/scroll.types.js.map +1 -0
  117. package/dist/esm/types/viewport.types.d.ts +55 -0
  118. package/dist/esm/types/viewport.types.d.ts.map +1 -0
  119. package/dist/esm/types/viewport.types.js +2 -0
  120. package/dist/esm/types/viewport.types.js.map +1 -0
  121. package/dist/esm/utils/validations/config-validations.utils.d.ts.map +1 -1
  122. package/dist/esm/utils/validations/config-validations.utils.js +92 -1
  123. package/dist/esm/utils/validations/config-validations.utils.js.map +1 -1
  124. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../../src/app.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAExD,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,MAAM,EAAa,eAAe,EAAE,UAAU,EAAQ,MAAM,SAAS,CAAC;AAC/E,OAAO,EAAE,0BAA0B,EAAE,MAAM,6CAA6C,CAAC;AAEzF,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAE5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACpE,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAExD,qBAAa,GAAI,SAAQ,YAAY;IACnC,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,uBAAuB,CAAuB;IAEtD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAiB;IAEzC,SAAS,CAAC,QAAQ,EAAE;QAClB,OAAO,CAAC,EAAE,cAAc,CAAC;QACzB,KAAK,CAAC,EAAE,YAAY,CAAC;KACtB,CAAM;IAEP,SAAS,CAAC,QAAQ,EAAE;QAClB,OAAO,CAAC,EAAE,cAAc,CAAC;QACzB,QAAQ,CAAC,EAAE,eAAe,CAAC;QAC3B,KAAK,CAAC,EAAE,YAAY,CAAC;QACrB,MAAM,CAAC,EAAE,aAAa,CAAC;QACvB,WAAW,CAAC,EAAE,kBAAkB,CAAC;QACjC,KAAK,CAAC,EAAE,YAAY,CAAC;KACtB,CAAM;IAEP,SAAS,CAAC,YAAY,EAAE;QACtB,eAAe,CAAC,EAAE,0BAA0B,CAAC;KAC9C,CAAM;IAEP,IAAI,WAAW,IAAI,OAAO,CAEzB;IAEK,IAAI,CAAC,MAAM,GAAE,MAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IA2B9C,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,IAAI;IAwBnG,EAAE,CAAC,CAAC,SAAS,MAAM,UAAU,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,eAAe,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI;IAIxF,GAAG,CAAC,CAAC,SAAS,MAAM,UAAU,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,eAAe,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI;IAIzF,OAAO,CAAC,KAAK,UAAQ,GAAG,IAAI;IAoC5B,OAAO,CAAC,UAAU;YAsBJ,iBAAiB;IAc/B,OAAO,CAAC,kBAAkB;CAqC3B"}
1
+ {"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../../src/app.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAExD,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,MAAM,EAAa,eAAe,EAAE,UAAU,EAAQ,MAAM,SAAS,CAAC;AAC/E,OAAO,EAAE,0BAA0B,EAAE,MAAM,6CAA6C,CAAC;AAEzF,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAE5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACpE,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAExD,qBAAa,GAAI,SAAQ,YAAY;IACnC,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,uBAAuB,CAAuB;IAEtD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAiB;IAEzC,SAAS,CAAC,QAAQ,EAAE;QAClB,OAAO,CAAC,EAAE,cAAc,CAAC;QACzB,KAAK,CAAC,EAAE,YAAY,CAAC;KACtB,CAAM;IAEP,SAAS,CAAC,QAAQ,EAAE;QAClB,OAAO,CAAC,EAAE,cAAc,CAAC;QACzB,QAAQ,CAAC,EAAE,eAAe,CAAC;QAC3B,KAAK,CAAC,EAAE,YAAY,CAAC;QACrB,MAAM,CAAC,EAAE,aAAa,CAAC;QACvB,WAAW,CAAC,EAAE,kBAAkB,CAAC;QACjC,KAAK,CAAC,EAAE,YAAY,CAAC;QACrB,QAAQ,CAAC,EAAE,eAAe,CAAC;KAC5B,CAAM;IAEP,SAAS,CAAC,YAAY,EAAE;QACtB,eAAe,CAAC,EAAE,0BAA0B,CAAC;KAC9C,CAAM;IAEP,IAAI,WAAW,IAAI,OAAO,CAEzB;IAEK,IAAI,CAAC,MAAM,GAAE,MAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IA2B9C,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,IAAI;IAwBnG,EAAE,CAAC,CAAC,SAAS,MAAM,UAAU,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,eAAe,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI;IAIxF,GAAG,CAAC,CAAC,SAAS,MAAM,UAAU,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,eAAe,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI;IAIzF,OAAO,CAAC,KAAK,UAAQ,GAAG,IAAI;IAoC5B,OAAO,CAAC,UAAU;YAsBJ,iBAAiB;IAc/B,OAAO,CAAC,kBAAkB;CA0C3B"}
package/dist/esm/app.js CHANGED
@@ -5,6 +5,7 @@ import { SessionHandler } from './handlers/session.handler';
5
5
  import { PageViewHandler } from './handlers/page-view.handler';
6
6
  import { ClickHandler } from './handlers/click.handler';
7
7
  import { ScrollHandler } from './handlers/scroll.handler';
8
+ import { ViewportHandler } from './handlers/viewport.handler';
8
9
  import { EventType, Mode } from './types';
9
10
  import { GoogleAnalyticsIntegration } from './integrations/google-analytics.integration';
10
11
  import { isEventValid, getDeviceType, normalizeUrl, Emitter, getCollectApiUrl, detectQaMode, log } from './utils';
@@ -151,6 +152,10 @@ export class App extends StateManager {
151
152
  });
152
153
  this.handlers.error = new ErrorHandler(this.managers.event);
153
154
  this.handlers.error.startTracking();
155
+ if (this.get('config').viewport) {
156
+ this.handlers.viewport = new ViewportHandler(this.managers.event);
157
+ this.handlers.viewport.startTracking();
158
+ }
154
159
  }
155
160
  }
156
161
  //# sourceMappingURL=app.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"app.js","sourceRoot":"","sources":["../../src/app.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"app.js","sourceRoot":"","sources":["../../src/app.ts"],"names":[],"mappings":"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"}
@@ -7,6 +7,11 @@ export declare const DUPLICATE_EVENT_THRESHOLD_MS = 500;
7
7
  export declare const EVENT_SENT_INTERVAL_MS = 10000;
8
8
  export declare const SCROLL_DEBOUNCE_TIME_MS = 250;
9
9
  export declare const DEFAULT_VISIBILITY_TIMEOUT_MS = 2000;
10
+ export declare const DEFAULT_PAGE_VIEW_THROTTLE_MS = 1000;
11
+ export declare const DEFAULT_CLICK_THROTTLE_MS = 300;
12
+ export declare const DEFAULT_VIEWPORT_COOLDOWN_PERIOD = 60000;
13
+ export declare const DEFAULT_VIEWPORT_MAX_TRACKED_ELEMENTS = 100;
14
+ export declare const VIEWPORT_MUTATION_DEBOUNCE_MS = 100;
10
15
  export declare const EVENT_EXPIRY_HOURS = 2;
11
16
  export declare const EVENT_PERSISTENCE_MAX_AGE_MS: number;
12
17
  export declare const MAX_EVENTS_QUEUE_LENGTH = 100;
@@ -21,7 +26,14 @@ export declare const DEFAULT_SAMPLING_RATE = 1;
21
26
  export declare const MIN_SAMPLING_RATE = 0;
22
27
  export declare const MAX_SAMPLING_RATE = 1;
23
28
  export declare const RATE_LIMIT_WINDOW_MS = 1000;
24
- export declare const MAX_EVENTS_PER_SECOND = 200;
29
+ export declare const MAX_EVENTS_PER_SECOND = 50;
30
+ export declare const MAX_SAME_EVENT_PER_MINUTE = 60;
31
+ export declare const PER_EVENT_RATE_LIMIT_WINDOW_MS = 60000;
32
+ export declare const MAX_EVENTS_PER_SESSION = 1000;
33
+ export declare const MAX_CLICKS_PER_SESSION = 500;
34
+ export declare const MAX_PAGE_VIEWS_PER_SESSION = 100;
35
+ export declare const MAX_CUSTOM_EVENTS_PER_SESSION = 500;
36
+ export declare const MAX_VIEWPORT_EVENTS_PER_SESSION = 200;
25
37
  export declare const BATCH_SIZE_THRESHOLD = 50;
26
38
  export declare const MAX_PENDING_EVENTS_BUFFER = 100;
27
39
  export declare const MIN_SESSION_TIMEOUT_MS = 30000;
@@ -39,6 +51,7 @@ export declare const MAX_ARRAY_LENGTH = 100;
39
51
  export declare const MAX_OBJECT_DEPTH = 3;
40
52
  export declare const PRECISION_TWO_DECIMALS: 2;
41
53
  export declare const SYNC_XHR_TIMEOUT_MS = 2000;
54
+ export declare const MAX_BEACON_PAYLOAD_SIZE: number;
42
55
  export declare const MAX_FINGERPRINTS = 1000;
43
56
  export declare const FINGERPRINT_CLEANUP_MULTIPLIER = 10;
44
57
  export declare const MAX_FINGERPRINTS_HARD_LIMIT = 2000;
@@ -79,6 +92,18 @@ export declare const VALIDATION_MESSAGES: {
79
92
  readonly INVALID_SENSITIVE_QUERY_PARAMS: "Sensitive query params must be an array of strings";
80
93
  readonly INVALID_PRIMARY_SCROLL_SELECTOR: "Primary scroll selector must be a non-empty string";
81
94
  readonly INVALID_PRIMARY_SCROLL_SELECTOR_SYNTAX: "Invalid CSS selector syntax for primaryScrollSelector";
95
+ readonly INVALID_PAGE_VIEW_THROTTLE: "Page view throttle must be a non-negative number";
96
+ readonly INVALID_CLICK_THROTTLE: "Click throttle must be a non-negative number";
97
+ readonly INVALID_MAX_SAME_EVENT_PER_MINUTE: "Max same event per minute must be a positive number";
98
+ readonly INVALID_VIEWPORT_CONFIG: "Viewport config must be an object";
99
+ readonly INVALID_VIEWPORT_ELEMENTS: "Viewport elements must be a non-empty array";
100
+ readonly INVALID_VIEWPORT_ELEMENT: "Each viewport element must have a valid selector string";
101
+ readonly INVALID_VIEWPORT_ELEMENT_ID: "Viewport element id must be a non-empty string";
102
+ readonly INVALID_VIEWPORT_ELEMENT_NAME: "Viewport element name must be a non-empty string";
103
+ readonly INVALID_VIEWPORT_THRESHOLD: "Viewport threshold must be a number between 0 and 1";
104
+ readonly INVALID_VIEWPORT_MIN_DWELL_TIME: "Viewport minDwellTime must be a non-negative number";
105
+ readonly INVALID_VIEWPORT_COOLDOWN_PERIOD: "Viewport cooldownPeriod must be a non-negative number";
106
+ readonly INVALID_VIEWPORT_MAX_TRACKED_ELEMENTS: "Viewport maxTrackedElements must be a positive number";
82
107
  };
83
108
  export declare const XSS_PATTERNS: readonly [RegExp, RegExp, RegExp, RegExp, RegExp, RegExp];
84
109
  //# sourceMappingURL=config.constants.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.constants.d.ts","sourceRoot":"","sources":["../../../src/constants/config.constants.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.constants.d.ts","sourceRoot":"","sources":["../../../src/constants/config.constants.ts"],"names":[],"mappings":"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"}
@@ -11,6 +11,11 @@ export const EVENT_SENT_INTERVAL_MS = 10000; // 10 seconds
11
11
  // Throttling and debouncing
12
12
  export const SCROLL_DEBOUNCE_TIME_MS = 250;
13
13
  export const DEFAULT_VISIBILITY_TIMEOUT_MS = 2000;
14
+ export const DEFAULT_PAGE_VIEW_THROTTLE_MS = 1000; // 1 second throttle for page views
15
+ export const DEFAULT_CLICK_THROTTLE_MS = 300; // 300ms throttle for clicks per element
16
+ export const DEFAULT_VIEWPORT_COOLDOWN_PERIOD = 60000; // 60 seconds cooldown for viewport events
17
+ export const DEFAULT_VIEWPORT_MAX_TRACKED_ELEMENTS = 100; // Maximum elements to track (Phase 3)
18
+ export const VIEWPORT_MUTATION_DEBOUNCE_MS = 100; // Debounce for mutation observer re-scanning
14
19
  // Event expiry
15
20
  export const EVENT_EXPIRY_HOURS = 2;
16
21
  export const EVENT_PERSISTENCE_MAX_AGE_MS = 2 * 60 * 60 * 1000; // 2 hours
@@ -31,7 +36,15 @@ export const DEFAULT_SAMPLING_RATE = 1;
31
36
  export const MIN_SAMPLING_RATE = 0;
32
37
  export const MAX_SAMPLING_RATE = 1;
33
38
  export const RATE_LIMIT_WINDOW_MS = 1000; // 1 second window
34
- export const MAX_EVENTS_PER_SECOND = 200; // Maximum 200 events per second
39
+ export const MAX_EVENTS_PER_SECOND = 50; // Maximum 50 events per second (Phase 3: reduced from 200)
40
+ export const MAX_SAME_EVENT_PER_MINUTE = 60; // Maximum same custom event name per minute (prevents infinite loops)
41
+ export const PER_EVENT_RATE_LIMIT_WINDOW_MS = 60000; // 60 second window for per-event-name rate limiting
42
+ // Per-session event caps (Phase 3)
43
+ export const MAX_EVENTS_PER_SESSION = 1000;
44
+ export const MAX_CLICKS_PER_SESSION = 500;
45
+ export const MAX_PAGE_VIEWS_PER_SESSION = 100;
46
+ export const MAX_CUSTOM_EVENTS_PER_SESSION = 500;
47
+ export const MAX_VIEWPORT_EVENTS_PER_SESSION = 200;
35
48
  // Queue and batch limits
36
49
  export const BATCH_SIZE_THRESHOLD = 50;
37
50
  export const MAX_PENDING_EVENTS_BUFFER = 100; // Maximum events to buffer before session init
@@ -56,6 +69,8 @@ export const MAX_OBJECT_DEPTH = 3;
56
69
  export const PRECISION_TWO_DECIMALS = 2;
57
70
  // Sync XHR timeout
58
71
  export const SYNC_XHR_TIMEOUT_MS = 2000; // 2 seconds
72
+ // sendBeacon payload size limit (Phase 3)
73
+ export const MAX_BEACON_PAYLOAD_SIZE = 64 * 1024; // 64KB browser limit
59
74
  // Event fingerprint management
60
75
  export const MAX_FINGERPRINTS = 1000; // Maximum fingerprints stored before cleanup
61
76
  export const FINGERPRINT_CLEANUP_MULTIPLIER = 10; // Cleanup fingerprints older than 10x threshold
@@ -169,6 +184,18 @@ export const VALIDATION_MESSAGES = {
169
184
  INVALID_SENSITIVE_QUERY_PARAMS: 'Sensitive query params must be an array of strings',
170
185
  INVALID_PRIMARY_SCROLL_SELECTOR: 'Primary scroll selector must be a non-empty string',
171
186
  INVALID_PRIMARY_SCROLL_SELECTOR_SYNTAX: 'Invalid CSS selector syntax for primaryScrollSelector',
187
+ INVALID_PAGE_VIEW_THROTTLE: 'Page view throttle must be a non-negative number',
188
+ INVALID_CLICK_THROTTLE: 'Click throttle must be a non-negative number',
189
+ INVALID_MAX_SAME_EVENT_PER_MINUTE: 'Max same event per minute must be a positive number',
190
+ INVALID_VIEWPORT_CONFIG: 'Viewport config must be an object',
191
+ INVALID_VIEWPORT_ELEMENTS: 'Viewport elements must be a non-empty array',
192
+ INVALID_VIEWPORT_ELEMENT: 'Each viewport element must have a valid selector string',
193
+ INVALID_VIEWPORT_ELEMENT_ID: 'Viewport element id must be a non-empty string',
194
+ INVALID_VIEWPORT_ELEMENT_NAME: 'Viewport element name must be a non-empty string',
195
+ INVALID_VIEWPORT_THRESHOLD: 'Viewport threshold must be a number between 0 and 1',
196
+ INVALID_VIEWPORT_MIN_DWELL_TIME: 'Viewport minDwellTime must be a non-negative number',
197
+ INVALID_VIEWPORT_COOLDOWN_PERIOD: 'Viewport cooldownPeriod must be a non-negative number',
198
+ INVALID_VIEWPORT_MAX_TRACKED_ELEMENTS: 'Viewport maxTrackedElements must be a positive number',
172
199
  };
173
200
  // ============================================================================
174
201
  // SECURITY
@@ -1 +1 @@
1
- {"version":3,"file":"config.constants.js","sourceRoot":"","sources":["../../../src/constants/config.constants.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.constants.js","sourceRoot":"","sources":["../../../src/constants/config.constants.ts"],"names":[],"mappings":"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"}
@@ -32,6 +32,21 @@ export declare const MAX_TRACKED_ERRORS_HARD_LIMIT: number;
32
32
  * Controls what percentage of errors are actually reported
33
33
  */
34
34
  export declare const DEFAULT_ERROR_SAMPLING_RATE = 1;
35
+ /**
36
+ * Time window for error burst detection in milliseconds
37
+ * Tracks unique errors within this window
38
+ */
39
+ export declare const ERROR_BURST_WINDOW_MS = 1000;
40
+ /**
41
+ * Maximum number of unique errors allowed in burst window
42
+ * Exceeding this triggers a cooldown period
43
+ */
44
+ export declare const ERROR_BURST_THRESHOLD = 10;
45
+ /**
46
+ * Backoff period after burst detection in milliseconds
47
+ * No errors will be tracked during this cooldown
48
+ */
49
+ export declare const ERROR_BURST_BACKOFF_MS = 5000;
35
50
  /**
36
51
  * Time window for throttling permanent error logs in milliseconds
37
52
  * Same error status codes are logged at most once per this window
@@ -1 +1 @@
1
- {"version":3,"file":"error.constants.d.ts","sourceRoot":"","sources":["../../../src/constants/error.constants.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAMH;;;GAGG;AACH,eAAO,MAAM,YAAY,mEAqBf,CAAC;AAMX;;;GAGG;AACH,eAAO,MAAM,wBAAwB,MAAM,CAAC;AAE5C;;;GAGG;AACH,eAAO,MAAM,2BAA2B,OAAQ,CAAC;AAEjD;;;GAGG;AACH,eAAO,MAAM,kBAAkB,KAAK,CAAC;AAErC;;;GAGG;AACH,eAAO,MAAM,6BAA6B,QAAyB,CAAC;AAMpE;;;GAGG;AACH,eAAO,MAAM,2BAA2B,IAAI,CAAC;AAM7C;;;;GAIG;AACH,eAAO,MAAM,+BAA+B,QAAS,CAAC"}
1
+ {"version":3,"file":"error.constants.d.ts","sourceRoot":"","sources":["../../../src/constants/error.constants.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAMH;;;GAGG;AACH,eAAO,MAAM,YAAY,mEAqBf,CAAC;AAMX;;;GAGG;AACH,eAAO,MAAM,wBAAwB,MAAM,CAAC;AAE5C;;;GAGG;AACH,eAAO,MAAM,2BAA2B,OAAQ,CAAC;AAEjD;;;GAGG;AACH,eAAO,MAAM,kBAAkB,KAAK,CAAC;AAErC;;;GAGG;AACH,eAAO,MAAM,6BAA6B,QAAyB,CAAC;AAMpE;;;GAGG;AACH,eAAO,MAAM,2BAA2B,IAAI,CAAC;AAM7C;;;GAGG;AACH,eAAO,MAAM,qBAAqB,OAAO,CAAC;AAE1C;;;GAGG;AACH,eAAO,MAAM,qBAAqB,KAAK,CAAC;AAExC;;;GAGG;AACH,eAAO,MAAM,sBAAsB,OAAO,CAAC;AAM3C;;;;GAIG;AACH,eAAO,MAAM,+BAA+B,QAAS,CAAC"}
@@ -57,6 +57,24 @@ export const MAX_TRACKED_ERRORS_HARD_LIMIT = MAX_TRACKED_ERRORS * 2;
57
57
  */
58
58
  export const DEFAULT_ERROR_SAMPLING_RATE = 1; // 100% of errors
59
59
  // ============================================================================
60
+ // ERROR BURST DETECTION (Phase 3)
61
+ // ============================================================================
62
+ /**
63
+ * Time window for error burst detection in milliseconds
64
+ * Tracks unique errors within this window
65
+ */
66
+ export const ERROR_BURST_WINDOW_MS = 1000; // 1 second
67
+ /**
68
+ * Maximum number of unique errors allowed in burst window
69
+ * Exceeding this triggers a cooldown period
70
+ */
71
+ export const ERROR_BURST_THRESHOLD = 10; // 10 unique errors
72
+ /**
73
+ * Backoff period after burst detection in milliseconds
74
+ * No errors will be tracked during this cooldown
75
+ */
76
+ export const ERROR_BURST_BACKOFF_MS = 5000; // 5 seconds
77
+ // ============================================================================
60
78
  // PERMANENT ERROR LOGGING
61
79
  // ============================================================================
62
80
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"error.constants.js","sourceRoot":"","sources":["../../../src/constants/error.constants.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,+EAA+E;AAC/E,4BAA4B;AAC5B,+EAA+E;AAE/E;;;GAGG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,kBAAkB;IAClB,uDAAuD;IAEvD,qCAAqC;IACrC,gCAAgC;IAEhC,2DAA2D;IAC3D,6CAA6C;IAE7C,2CAA2C;IAC3C,4EAA4E;IAE5E,iEAAiE;IACjE,0CAA0C;IAE1C,0EAA0E;IAC1E,qEAAqE;IAErE,kEAAkE;IAClE,wBAAwB;CAChB,CAAC;AAEX,+EAA+E;AAC/E,wBAAwB;AACxB,+EAA+E;AAE/E;;;GAGG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,GAAG,CAAC;AAE5C;;;GAGG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG,IAAK,CAAC,CAAC,YAAY;AAE9D;;;GAGG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,EAAE,CAAC;AAErC;;;GAGG;AACH,MAAM,CAAC,MAAM,6BAA6B,GAAG,kBAAkB,GAAG,CAAC,CAAC;AAEpE,+EAA+E;AAC/E,iBAAiB;AACjB,+EAA+E;AAE/E;;;GAGG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,CAAC,CAAC,iBAAiB;AAE/D,+EAA+E;AAC/E,0BAA0B;AAC1B,+EAA+E;AAE/E;;;;GAIG;AACH,MAAM,CAAC,MAAM,+BAA+B,GAAG,KAAM,CAAC,CAAC,WAAW"}
1
+ {"version":3,"file":"error.constants.js","sourceRoot":"","sources":["../../../src/constants/error.constants.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,+EAA+E;AAC/E,4BAA4B;AAC5B,+EAA+E;AAE/E;;;GAGG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,kBAAkB;IAClB,uDAAuD;IAEvD,qCAAqC;IACrC,gCAAgC;IAEhC,2DAA2D;IAC3D,6CAA6C;IAE7C,2CAA2C;IAC3C,4EAA4E;IAE5E,iEAAiE;IACjE,0CAA0C;IAE1C,0EAA0E;IAC1E,qEAAqE;IAErE,kEAAkE;IAClE,wBAAwB;CAChB,CAAC;AAEX,+EAA+E;AAC/E,wBAAwB;AACxB,+EAA+E;AAE/E;;;GAGG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,GAAG,CAAC;AAE5C;;;GAGG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG,IAAK,CAAC,CAAC,YAAY;AAE9D;;;GAGG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,EAAE,CAAC;AAErC;;;GAGG;AACH,MAAM,CAAC,MAAM,6BAA6B,GAAG,kBAAkB,GAAG,CAAC,CAAC;AAEpE,+EAA+E;AAC/E,iBAAiB;AACjB,+EAA+E;AAE/E;;;GAGG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,CAAC,CAAC,iBAAiB;AAE/D,+EAA+E;AAC/E,kCAAkC;AAClC,+EAA+E;AAE/E;;;GAGG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,IAAI,CAAC,CAAC,WAAW;AAEtD;;;GAGG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,EAAE,CAAC,CAAC,mBAAmB;AAE5D;;;GAGG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,IAAI,CAAC,CAAC,YAAY;AAExD,+EAA+E;AAC/E,0BAA0B;AAC1B,+EAA+E;AAE/E;;;;GAIG;AACH,MAAM,CAAC,MAAM,+BAA+B,GAAG,KAAM,CAAC,CAAC,WAAW"}
@@ -3,10 +3,25 @@ import { StateManager } from '../managers/state.manager';
3
3
  export declare class ClickHandler extends StateManager {
4
4
  private readonly eventManager;
5
5
  private clickHandler?;
6
+ private readonly lastClickTimes;
6
7
  constructor(eventManager: EventManager);
7
8
  startTracking(): void;
8
9
  stopTracking(): void;
9
10
  private shouldIgnoreElement;
11
+ /**
12
+ * Checks per-element click throttling to prevent double-clicks and rapid spam
13
+ * Returns true if the click should be tracked, false if throttled
14
+ */
15
+ private checkClickThrottle;
16
+ /**
17
+ * Creates a stable signature for an element to track throttling
18
+ * Priority: id > data-testid > data-tlog-name > DOM path
19
+ */
20
+ private getElementSignature;
21
+ /**
22
+ * Generates a DOM path for an element (e.g., "body>div>button")
23
+ */
24
+ private getElementPath;
10
25
  private findTrackingElement;
11
26
  private getRelevantClickElement;
12
27
  private clamp;
@@ -1 +1 @@
1
- {"version":3,"file":"click.handler.d.ts","sourceRoot":"","sources":["../../../src/handlers/click.handler.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAGzD,qBAAa,YAAa,SAAQ,YAAY;IAC5C,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAe;IAE5C,OAAO,CAAC,YAAY,CAAC,CAAyB;gBAElC,YAAY,EAAE,YAAY;IAMtC,aAAa,IAAI,IAAI;IAuDrB,YAAY,IAAI,IAAI;IAOpB,OAAO,CAAC,mBAAmB;IAU3B,OAAO,CAAC,mBAAmB;IAU3B,OAAO,CAAC,uBAAuB;IAqB/B,OAAO,CAAC,KAAK;IAIb,OAAO,CAAC,yBAAyB;IAUjC,OAAO,CAAC,mBAAmB;IAe3B,OAAO,CAAC,iBAAiB;IA2BzB,OAAO,CAAC,YAAY;IAWpB,OAAO,CAAC,eAAe;IAqBvB,OAAO,CAAC,wBAAwB;IA0BhC,OAAO,CAAC,qBAAqB;CAM9B"}
1
+ {"version":3,"file":"click.handler.d.ts","sourceRoot":"","sources":["../../../src/handlers/click.handler.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAGzD,qBAAa,YAAa,SAAQ,YAAY;IAC5C,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAe;IAE5C,OAAO,CAAC,YAAY,CAAC,CAAyB;IAC9C,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAkC;gBAErD,YAAY,EAAE,YAAY;IAMtC,aAAa,IAAI,IAAI;IA6DrB,YAAY,IAAI,IAAI;IAQpB,OAAO,CAAC,mBAAmB;IAU3B;;;OAGG;IACH,OAAO,CAAC,kBAAkB;IAmB1B;;;OAGG;IACH,OAAO,CAAC,mBAAmB;IAsB3B;;OAEG;IACH,OAAO,CAAC,cAAc;IAsBtB,OAAO,CAAC,mBAAmB;IAU3B,OAAO,CAAC,uBAAuB;IAqB/B,OAAO,CAAC,KAAK;IAIb,OAAO,CAAC,yBAAyB;IAUjC,OAAO,CAAC,mBAAmB;IAe3B,OAAO,CAAC,iBAAiB;IA2BzB,OAAO,CAAC,YAAY;IAWpB,OAAO,CAAC,eAAe;IAqBvB,OAAO,CAAC,wBAAwB;IA0BhC,OAAO,CAAC,qBAAqB;CAM9B"}
@@ -1,10 +1,11 @@
1
- import { HTML_DATA_ATTR_PREFIX, MAX_TEXT_LENGTH, INTERACTIVE_SELECTORS, PII_PATTERNS } from '../constants';
1
+ import { HTML_DATA_ATTR_PREFIX, MAX_TEXT_LENGTH, INTERACTIVE_SELECTORS, PII_PATTERNS, DEFAULT_CLICK_THROTTLE_MS, } from '../constants';
2
2
  import { EventType } from '../types';
3
3
  import { StateManager } from '../managers/state.manager';
4
4
  import { log } from '../utils';
5
5
  export class ClickHandler extends StateManager {
6
6
  constructor(eventManager) {
7
7
  super();
8
+ this.lastClickTimes = new Map();
8
9
  this.eventManager = eventManager;
9
10
  }
10
11
  startTracking() {
@@ -26,6 +27,11 @@ export class ClickHandler extends StateManager {
26
27
  if (this.shouldIgnoreElement(clickedElement)) {
27
28
  return;
28
29
  }
30
+ // Throttle clicks per element to prevent double-clicks and spam
31
+ const clickThrottleMs = this.get('config')?.clickThrottleMs ?? DEFAULT_CLICK_THROTTLE_MS;
32
+ if (clickThrottleMs > 0 && !this.checkClickThrottle(clickedElement, clickThrottleMs)) {
33
+ return;
34
+ }
29
35
  const trackingElement = this.findTrackingElement(clickedElement);
30
36
  const relevantClickElement = this.getRelevantClickElement(clickedElement);
31
37
  const coordinates = this.calculateClickCoordinates(mouseEvent, clickedElement);
@@ -55,6 +61,7 @@ export class ClickHandler extends StateManager {
55
61
  window.removeEventListener('click', this.clickHandler, true);
56
62
  this.clickHandler = undefined;
57
63
  }
64
+ this.lastClickTimes.clear();
58
65
  }
59
66
  shouldIgnoreElement(element) {
60
67
  if (element.hasAttribute(`${HTML_DATA_ATTR_PREFIX}-ignore`)) {
@@ -63,6 +70,68 @@ export class ClickHandler extends StateManager {
63
70
  const parent = element.closest(`[${HTML_DATA_ATTR_PREFIX}-ignore]`);
64
71
  return parent !== null;
65
72
  }
73
+ /**
74
+ * Checks per-element click throttling to prevent double-clicks and rapid spam
75
+ * Returns true if the click should be tracked, false if throttled
76
+ */
77
+ checkClickThrottle(element, throttleMs) {
78
+ const signature = this.getElementSignature(element);
79
+ const now = Date.now();
80
+ const lastClickTime = this.lastClickTimes.get(signature);
81
+ if (lastClickTime !== undefined && now - lastClickTime < throttleMs) {
82
+ log('debug', 'ClickHandler: Click suppressed by throttle', {
83
+ data: {
84
+ signature,
85
+ throttleRemaining: throttleMs - (now - lastClickTime),
86
+ },
87
+ });
88
+ return false;
89
+ }
90
+ this.lastClickTimes.set(signature, now);
91
+ return true;
92
+ }
93
+ /**
94
+ * Creates a stable signature for an element to track throttling
95
+ * Priority: id > data-testid > data-tlog-name > DOM path
96
+ */
97
+ getElementSignature(element) {
98
+ // Priority 1: Element ID (most stable)
99
+ if (element.id) {
100
+ return `#${element.id}`;
101
+ }
102
+ // Priority 2: data-testid (common in tests)
103
+ const testId = element.getAttribute('data-testid');
104
+ if (testId) {
105
+ return `[data-testid="${testId}"]`;
106
+ }
107
+ // Priority 3: data-tlog-name (our own tracking attribute)
108
+ const tlogName = element.getAttribute(`${HTML_DATA_ATTR_PREFIX}-name`);
109
+ if (tlogName) {
110
+ return `[${HTML_DATA_ATTR_PREFIX}-name="${tlogName}"]`;
111
+ }
112
+ // Priority 4: Generate DOM path as fallback
113
+ return this.getElementPath(element);
114
+ }
115
+ /**
116
+ * Generates a DOM path for an element (e.g., "body>div>button")
117
+ */
118
+ getElementPath(element) {
119
+ const path = [];
120
+ let current = element;
121
+ while (current && current !== document.body) {
122
+ let selector = current.tagName.toLowerCase();
123
+ // Add class if available (first class only for brevity)
124
+ if (current.className) {
125
+ const firstClass = current.className.split(' ')[0];
126
+ if (firstClass) {
127
+ selector += `.${firstClass}`;
128
+ }
129
+ }
130
+ path.unshift(selector);
131
+ current = current.parentElement;
132
+ }
133
+ return path.join('>') || 'unknown';
134
+ }
66
135
  findTrackingElement(element) {
67
136
  if (element.hasAttribute(`${HTML_DATA_ATTR_PREFIX}-name`)) {
68
137
  return element;
@@ -1 +1 @@
1
- {"version":3,"file":"click.handler.js","sourceRoot":"","sources":["../../../src/handlers/click.handler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"click.handler.js","sourceRoot":"","sources":["../../../src/handlers/click.handler.ts"],"names":[],"mappings":"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"}
@@ -7,9 +7,16 @@ import { StateManager } from '../managers/state.manager';
7
7
  export declare class ErrorHandler extends StateManager {
8
8
  private readonly eventManager;
9
9
  private readonly recentErrors;
10
+ private errorBurstCounter;
11
+ private burstWindowStart;
12
+ private burstBackoffUntil;
10
13
  constructor(eventManager: EventManager);
11
14
  startTracking(): void;
12
15
  stopTracking(): void;
16
+ /**
17
+ * Checks sampling rate and burst detection (Phase 3)
18
+ * Returns false if in cooldown period after burst detection
19
+ */
13
20
  private shouldSample;
14
21
  private readonly handleError;
15
22
  private readonly handleRejection;
@@ -1 +1 @@
1
- {"version":3,"file":"error.handler.d.ts","sourceRoot":"","sources":["../../../src/handlers/error.handler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAWzD;;;GAGG;AACH,qBAAa,YAAa,SAAQ,YAAY;IAC5C,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAe;IAC5C,OAAO,CAAC,QAAQ,CAAC,YAAY,CAA6B;gBAE9C,YAAY,EAAE,YAAY;IAKtC,aAAa,IAAI,IAAI;IAKrB,YAAY,IAAI,IAAI;IAMpB,OAAO,CAAC,YAAY;IAMpB,OAAO,CAAC,QAAQ,CAAC,WAAW,CAqB1B;IAEF,OAAO,CAAC,QAAQ,CAAC,eAAe,CAmB9B;IAEF,OAAO,CAAC,uBAAuB;IAoB/B,OAAO,CAAC,QAAQ;IAWhB,OAAO,CAAC,mBAAmB;IA0B3B,OAAO,CAAC,cAAc;CAsBvB"}
1
+ {"version":3,"file":"error.handler.d.ts","sourceRoot":"","sources":["../../../src/handlers/error.handler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAezD;;;GAGG;AACH,qBAAa,YAAa,SAAQ,YAAY;IAC5C,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAe;IAC5C,OAAO,CAAC,QAAQ,CAAC,YAAY,CAA6B;IAC1D,OAAO,CAAC,iBAAiB,CAAK;IAC9B,OAAO,CAAC,gBAAgB,CAAK;IAC7B,OAAO,CAAC,iBAAiB,CAAK;gBAElB,YAAY,EAAE,YAAY;IAKtC,aAAa,IAAI,IAAI;IAKrB,YAAY,IAAI,IAAI;IASpB;;;OAGG;IACH,OAAO,CAAC,YAAY;IAmCpB,OAAO,CAAC,QAAQ,CAAC,WAAW,CAqB1B;IAEF,OAAO,CAAC,QAAQ,CAAC,eAAe,CAmB9B;IAEF,OAAO,CAAC,uBAAuB;IAoB/B,OAAO,CAAC,QAAQ;IAWhB,OAAO,CAAC,mBAAmB;IA0B3B,OAAO,CAAC,cAAc;CAsBvB"}
@@ -1,6 +1,7 @@
1
1
  import { StateManager } from '../managers/state.manager';
2
2
  import { ErrorType, EventType } from '../types';
3
- import { PII_PATTERNS, MAX_ERROR_MESSAGE_LENGTH, ERROR_SUPPRESSION_WINDOW_MS, MAX_TRACKED_ERRORS, MAX_TRACKED_ERRORS_HARD_LIMIT, DEFAULT_ERROR_SAMPLING_RATE, } from '../constants/error.constants';
3
+ import { log } from '../utils';
4
+ import { PII_PATTERNS, MAX_ERROR_MESSAGE_LENGTH, ERROR_SUPPRESSION_WINDOW_MS, MAX_TRACKED_ERRORS, MAX_TRACKED_ERRORS_HARD_LIMIT, DEFAULT_ERROR_SAMPLING_RATE, ERROR_BURST_WINDOW_MS, ERROR_BURST_THRESHOLD, ERROR_BURST_BACKOFF_MS, } from '../constants/error.constants';
4
5
  /**
5
6
  * Simplified error handler for tracking JavaScript errors and unhandled promise rejections
6
7
  * Includes PII sanitization and sampling support
@@ -9,6 +10,9 @@ export class ErrorHandler extends StateManager {
9
10
  constructor(eventManager) {
10
11
  super();
11
12
  this.recentErrors = new Map();
13
+ this.errorBurstCounter = 0;
14
+ this.burstWindowStart = 0;
15
+ this.burstBackoffUntil = 0;
12
16
  this.handleError = (event) => {
13
17
  if (!this.shouldSample()) {
14
18
  return;
@@ -55,8 +59,39 @@ export class ErrorHandler extends StateManager {
55
59
  window.removeEventListener('error', this.handleError);
56
60
  window.removeEventListener('unhandledrejection', this.handleRejection);
57
61
  this.recentErrors.clear();
62
+ this.errorBurstCounter = 0;
63
+ this.burstWindowStart = 0;
64
+ this.burstBackoffUntil = 0;
58
65
  }
66
+ /**
67
+ * Checks sampling rate and burst detection (Phase 3)
68
+ * Returns false if in cooldown period after burst detection
69
+ */
59
70
  shouldSample() {
71
+ const now = Date.now();
72
+ // Check if in backoff period (Phase 3)
73
+ if (now < this.burstBackoffUntil) {
74
+ return false;
75
+ }
76
+ // Reset burst counter if window expired
77
+ if (now - this.burstWindowStart > ERROR_BURST_WINDOW_MS) {
78
+ this.errorBurstCounter = 0;
79
+ this.burstWindowStart = now;
80
+ }
81
+ // Increment burst counter
82
+ this.errorBurstCounter++;
83
+ // Trigger backoff if burst threshold exceeded
84
+ if (this.errorBurstCounter > ERROR_BURST_THRESHOLD) {
85
+ this.burstBackoffUntil = now + ERROR_BURST_BACKOFF_MS;
86
+ log('warn', 'Error burst detected - entering cooldown', {
87
+ data: {
88
+ errorsInWindow: this.errorBurstCounter,
89
+ cooldownMs: ERROR_BURST_BACKOFF_MS,
90
+ },
91
+ });
92
+ return false;
93
+ }
94
+ // Normal sampling logic
60
95
  const config = this.get('config');
61
96
  const samplingRate = config?.errorSampling ?? DEFAULT_ERROR_SAMPLING_RATE;
62
97
  return Math.random() < samplingRate;
@@ -1 +1 @@
1
- {"version":3,"file":"error.handler.js","sourceRoot":"","sources":["../../../src/handlers/error.handler.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAChD,OAAO,EACL,YAAY,EACZ,wBAAwB,EACxB,2BAA2B,EAC3B,kBAAkB,EAClB,6BAA6B,EAC7B,2BAA2B,GAC5B,MAAM,8BAA8B,CAAC;AAEtC;;;GAGG;AACH,MAAM,OAAO,YAAa,SAAQ,YAAY;IAI5C,YAAY,YAA0B;QACpC,KAAK,EAAE,CAAC;QAHO,iBAAY,GAAG,IAAI,GAAG,EAAkB,CAAC;QAwBzC,gBAAW,GAAG,CAAC,KAAiB,EAAQ,EAAE;YACzD,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,CAAC;gBACzB,OAAO;YACT,CAAC;YAED,MAAM,gBAAgB,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,IAAI,eAAe,CAAC,CAAC;YAEzE,IAAI,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC,QAAQ,EAAE,gBAAgB,CAAC,EAAE,CAAC;gBACnE,OAAO;YACT,CAAC;YAED,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC;gBACtB,IAAI,EAAE,SAAS,CAAC,KAAK;gBACrB,UAAU,EAAE;oBACV,IAAI,EAAE,SAAS,CAAC,QAAQ;oBACxB,OAAO,EAAE,gBAAgB;oBACzB,GAAG,CAAC,KAAK,CAAC,QAAQ,IAAI,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC;oBACnD,GAAG,CAAC,KAAK,CAAC,MAAM,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC;oBAC3C,GAAG,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC;iBAC5C;aACF,CAAC,CAAC;QACL,CAAC,CAAC;QAEe,oBAAe,GAAG,CAAC,KAA4B,EAAQ,EAAE;YACxE,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,CAAC;gBACzB,OAAO;YACT,CAAC;YAED,MAAM,OAAO,GAAG,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YAC3D,MAAM,gBAAgB,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YAEhD,IAAI,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC,iBAAiB,EAAE,gBAAgB,CAAC,EAAE,CAAC;gBAC5E,OAAO;YACT,CAAC;YAED,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC;gBACtB,IAAI,EAAE,SAAS,CAAC,KAAK;gBACrB,UAAU,EAAE;oBACV,IAAI,EAAE,SAAS,CAAC,iBAAiB;oBACjC,OAAO,EAAE,gBAAgB;iBAC1B;aACF,CAAC,CAAC;QACL,CAAC,CAAC;QA9DA,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;IACnC,CAAC;IAED,aAAa;QACX,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;QACnD,MAAM,CAAC,gBAAgB,CAAC,oBAAoB,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;IACtE,CAAC;IAED,YAAY;QACV,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;QACtD,MAAM,CAAC,mBAAmB,CAAC,oBAAoB,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;QACvE,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;IAC5B,CAAC;IAEO,YAAY;QAClB,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAClC,MAAM,YAAY,GAAG,MAAM,EAAE,aAAa,IAAI,2BAA2B,CAAC;QAC1E,OAAO,IAAI,CAAC,MAAM,EAAE,GAAG,YAAY,CAAC;IACtC,CAAC;IA8CO,uBAAuB,CAAC,MAAe;QAC7C,IAAI,CAAC,MAAM;YAAE,OAAO,mBAAmB,CAAC;QAExC,IAAI,OAAO,MAAM,KAAK,QAAQ;YAAE,OAAO,MAAM,CAAC;QAE9C,IAAI,MAAM,YAAY,KAAK,EAAE,CAAC;YAC5B,OAAO,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;QAC7D,CAAC;QAED,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,SAAS,IAAI,MAAM,EAAE,CAAC;YACtD,OAAO,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAChC,CAAC;QAED,IAAI,CAAC;YACH,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAChC,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC;QACxB,CAAC;IACH,CAAC;IAEO,QAAQ,CAAC,IAAY;QAC3B,IAAI,SAAS,GAAG,IAAI,CAAC,MAAM,GAAG,wBAAwB,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,wBAAwB,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;QAEhH,KAAK,MAAM,OAAO,IAAI,YAAY,EAAE,CAAC;YACnC,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;YACxD,SAAS,GAAG,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;QACrD,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;IAEO,mBAAmB,CAAC,IAAe,EAAE,OAAe;QAC1D,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,MAAM,GAAG,GAAG,GAAG,IAAI,IAAI,OAAO,EAAE,CAAC;QACjC,MAAM,UAAU,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAE9C,IAAI,UAAU,IAAI,GAAG,GAAG,UAAU,GAAG,2BAA2B,EAAE,CAAC;YACjE,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YAChC,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAEhC,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,GAAG,6BAA6B,EAAE,CAAC;YAC3D,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;YAC1B,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YAEhC,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,GAAG,kBAAkB,EAAE,CAAC;YAChD,IAAI,CAAC,cAAc,EAAE,CAAC;QACxB,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAEO,cAAc;QACpB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,KAAK,MAAM,CAAC,GAAG,EAAE,SAAS,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,EAAE,CAAC;YAC3D,IAAI,GAAG,GAAG,SAAS,GAAG,2BAA2B,EAAE,CAAC;gBAClD,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAChC,CAAC;QACH,CAAC;QAED,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,IAAI,kBAAkB,EAAE,CAAC;YACjD,OAAO;QACT,CAAC;QAED,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACpF,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,GAAG,kBAAkB,CAAC;QAE3D,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;YAC/C,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;YAC7B,IAAI,KAAK,EAAE,CAAC;gBACV,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YACrC,CAAC;QACH,CAAC;IACH,CAAC;CACF"}
1
+ {"version":3,"file":"error.handler.js","sourceRoot":"","sources":["../../../src/handlers/error.handler.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,7 @@ export declare class PageViewHandler extends StateManager {
5
5
  private readonly onTrack;
6
6
  private originalPushState?;
7
7
  private originalReplaceState?;
8
+ private lastPageViewTime;
8
9
  constructor(eventManager: EventManager, onTrack: () => void);
9
10
  startTracking(): void;
10
11
  stopTracking(): void;
@@ -1 +1 @@
1
- {"version":3,"file":"page-view.handler.d.ts","sourceRoot":"","sources":["../../../src/handlers/page-view.handler.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAEzD,qBAAa,eAAgB,SAAQ,YAAY;IAC/C,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAe;IAC5C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAa;IAErC,OAAO,CAAC,iBAAiB,CAAC,CAAkC;IAC5D,OAAO,CAAC,oBAAoB,CAAC,CAAqC;gBAEtD,YAAY,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,IAAI;IAO3D,aAAa,IAAI,IAAI;IAUrB,YAAY,IAAI,IAAI;IAapB,OAAO,CAAC,YAAY;IAepB,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAqB/B;IAEF,OAAO,CAAC,oBAAoB;IAa5B,OAAO,CAAC,mBAAmB;CAoB5B"}
1
+ {"version":3,"file":"page-view.handler.d.ts","sourceRoot":"","sources":["../../../src/handlers/page-view.handler.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAGzD,qBAAa,eAAgB,SAAQ,YAAY;IAC/C,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAe;IAC5C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAa;IAErC,OAAO,CAAC,iBAAiB,CAAC,CAAkC;IAC5D,OAAO,CAAC,oBAAoB,CAAC,CAAqC;IAClE,OAAO,CAAC,gBAAgB,CAAK;gBAEjB,YAAY,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,IAAI;IAO3D,aAAa,IAAI,IAAI;IAUrB,YAAY,IAAI,IAAI;IAepB,OAAO,CAAC,YAAY;IAepB,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CA+B/B;IAEF,OAAO,CAAC,oBAAoB;IAe5B,OAAO,CAAC,mBAAmB;CAoB5B"}
@@ -1,15 +1,24 @@
1
1
  import { EventType } from '../types';
2
2
  import { normalizeUrl } from '../utils';
3
3
  import { StateManager } from '../managers/state.manager';
4
+ import { DEFAULT_PAGE_VIEW_THROTTLE_MS } from '../constants/config.constants';
4
5
  export class PageViewHandler extends StateManager {
5
6
  constructor(eventManager, onTrack) {
6
7
  super();
8
+ this.lastPageViewTime = 0;
7
9
  this.trackCurrentPage = () => {
8
10
  const rawUrl = window.location.href;
9
11
  const normalizedUrl = normalizeUrl(rawUrl, this.get('config').sensitiveQueryParams);
10
12
  if (this.get('pageUrl') === normalizedUrl) {
11
13
  return;
12
14
  }
15
+ // Throttle: Prevent rapid navigation spam
16
+ const now = Date.now();
17
+ const throttleMs = this.get('config').pageViewThrottleMs ?? DEFAULT_PAGE_VIEW_THROTTLE_MS;
18
+ if (now - this.lastPageViewTime < throttleMs) {
19
+ return;
20
+ }
21
+ this.lastPageViewTime = now;
13
22
  this.onTrack();
14
23
  const fromUrl = this.get('pageUrl');
15
24
  this.set('pageUrl', normalizedUrl);
@@ -40,6 +49,7 @@ export class PageViewHandler extends StateManager {
40
49
  if (this.originalReplaceState) {
41
50
  window.history.replaceState = this.originalReplaceState;
42
51
  }
52
+ this.lastPageViewTime = 0;
43
53
  }
44
54
  patchHistory(method) {
45
55
  const original = window.history[method];
@@ -57,6 +67,7 @@ export class PageViewHandler extends StateManager {
57
67
  trackInitialPageView() {
58
68
  const normalizedUrl = normalizeUrl(window.location.href, this.get('config').sensitiveQueryParams);
59
69
  const pageViewData = this.extractPageViewData();
70
+ this.lastPageViewTime = Date.now();
60
71
  this.eventManager.track({
61
72
  type: EventType.PAGE_VIEW,
62
73
  page_url: normalizedUrl,