diff --git a/packages/plugin-session-replay-browser/src/typings/session-replay.ts b/packages/plugin-session-replay-browser/src/typings/session-replay.ts index fb270a14b..f0bdeb4b3 100644 --- a/packages/plugin-session-replay-browser/src/typings/session-replay.ts +++ b/packages/plugin-session-replay-browser/src/typings/session-replay.ts @@ -17,9 +17,37 @@ export interface SessionReplayPrivacyConfig { unmaskSelector?: string[]; } +/** + * Performance configuration for interaction tracking, specifically for CSS selector generation. + */ +export interface InteractionPerformanceConfig { + /** + * Maximum time in milliseconds allowed for CSS selector generation. + * If selector generation takes longer than this, it will throw a timeout error. + * Default: undefined (no timeout limit) + */ + timeoutMs?: number; + /** + * Maximum number of attempts to optimize/simplify the CSS selector path. + * Higher values may produce shorter selectors but take longer to compute. + * Default: 10000 + */ + maxNumberOfTries?: number; + /** + * Maximum number of CSS selector combinations to test for uniqueness. + * If more combinations would be generated, falls back to a simpler strategy. + * Default: 1000 + */ + threshold?: number; +} + export interface SessionReplayPerformanceConfig { enabled: boolean; timeout?: number; + /** + * Performance configuration for interaction tracking (clicks, scrolls). + */ + interaction?: InteractionPerformanceConfig; } /**