@openreplay/tracker 10.0.2 → 10.0.4

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 (75) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/cjs/app/index.js +1 -1
  3. package/cjs/index.js +1 -1
  4. package/cjs/modules/Network/fetchProxy.js +4 -2
  5. package/cjs/utils.js +16 -2
  6. package/coverage/clover.xml +1575 -733
  7. package/coverage/coverage-final.json +22 -14
  8. package/coverage/lcov-report/index.html +60 -45
  9. package/coverage/lcov-report/main/app/canvas.ts.html +475 -0
  10. package/coverage/lcov-report/main/app/guards.ts.html +5 -2
  11. package/coverage/lcov-report/main/app/index.html +34 -19
  12. package/coverage/lcov-report/main/app/index.ts.html +1086 -45
  13. package/coverage/lcov-report/main/app/logger.ts.html +1 -1
  14. package/coverage/lcov-report/main/app/messages.gen.ts.html +179 -146
  15. package/coverage/lcov-report/main/app/nodes.ts.html +1 -1
  16. package/coverage/lcov-report/main/app/observer/iframe_observer.ts.html +1 -1
  17. package/coverage/lcov-report/main/app/observer/iframe_offsets.ts.html +1 -1
  18. package/coverage/lcov-report/main/app/observer/index.html +1 -1
  19. package/coverage/lcov-report/main/app/observer/shadow_root_observer.ts.html +1 -1
  20. package/coverage/lcov-report/main/app/observer/top_observer.ts.html +1 -1
  21. package/coverage/lcov-report/main/app/sanitizer.ts.html +1 -1
  22. package/coverage/lcov-report/main/app/session.ts.html +1 -1
  23. package/coverage/lcov-report/main/app/ticker.ts.html +1 -1
  24. package/coverage/lcov-report/main/index.html +20 -20
  25. package/coverage/lcov-report/main/index.ts.html +274 -100
  26. package/coverage/lcov-report/main/modules/Network/beaconProxy.ts.html +19 -19
  27. package/coverage/lcov-report/main/modules/Network/fetchProxy.ts.html +97 -97
  28. package/coverage/lcov-report/main/modules/Network/index.html +65 -65
  29. package/coverage/lcov-report/main/modules/Network/index.ts.html +33 -33
  30. package/coverage/lcov-report/main/modules/Network/networkMessage.ts.html +82 -73
  31. package/coverage/lcov-report/main/modules/Network/utils.ts.html +34 -34
  32. package/coverage/lcov-report/main/modules/Network/xhrProxy.ts.html +13 -13
  33. package/coverage/lcov-report/main/modules/attributeSender.ts.html +1 -1
  34. package/coverage/lcov-report/main/modules/axiosSpy.ts.html +1 -1
  35. package/coverage/lcov-report/main/modules/conditionsManager.ts.html +799 -0
  36. package/coverage/lcov-report/main/modules/connection.ts.html +1 -1
  37. package/coverage/lcov-report/main/modules/console.ts.html +1 -1
  38. package/coverage/lcov-report/main/modules/constructedStyleSheets.ts.html +1 -1
  39. package/coverage/lcov-report/main/modules/cssrules.ts.html +1 -1
  40. package/coverage/lcov-report/main/modules/exception.ts.html +1 -1
  41. package/coverage/lcov-report/main/modules/featureFlags.ts.html +10 -7
  42. package/coverage/lcov-report/main/modules/focus.ts.html +1 -1
  43. package/coverage/lcov-report/main/modules/fonts.ts.html +1 -1
  44. package/coverage/lcov-report/main/modules/img.ts.html +1 -1
  45. package/coverage/lcov-report/main/modules/index.html +27 -12
  46. package/coverage/lcov-report/main/modules/input.ts.html +1 -1
  47. package/coverage/lcov-report/main/modules/mouse.ts.html +1 -1
  48. package/coverage/lcov-report/main/modules/network.ts.html +2 -2
  49. package/coverage/lcov-report/main/modules/performance.ts.html +1 -1
  50. package/coverage/lcov-report/main/modules/scroll.ts.html +1 -1
  51. package/coverage/lcov-report/main/modules/selection.ts.html +1 -1
  52. package/coverage/lcov-report/main/modules/tabs.ts.html +1 -1
  53. package/coverage/lcov-report/main/modules/timing.ts.html +1 -1
  54. package/coverage/lcov-report/main/modules/userTesting/SignalManager.ts.html +370 -0
  55. package/coverage/lcov-report/main/modules/userTesting/dnd.ts.html +10 -22
  56. package/coverage/lcov-report/main/modules/userTesting/index.html +57 -27
  57. package/coverage/lcov-report/main/modules/userTesting/index.ts.html +814 -115
  58. package/coverage/lcov-report/main/modules/userTesting/recorder.ts.html +136 -67
  59. package/coverage/lcov-report/main/modules/userTesting/styles.ts.html +111 -39
  60. package/coverage/lcov-report/main/modules/userTesting/utils.ts.html +364 -0
  61. package/coverage/lcov-report/main/modules/viewport.ts.html +1 -1
  62. package/coverage/lcov-report/main/utils.ts.html +101 -59
  63. package/coverage/lcov-report/webworker/BatchWriter.ts.html +1 -1
  64. package/coverage/lcov-report/webworker/MessageEncoder.gen.ts.html +17 -5
  65. package/coverage/lcov-report/webworker/PrimitiveEncoder.ts.html +1 -1
  66. package/coverage/lcov-report/webworker/QueueSender.ts.html +1 -1
  67. package/coverage/lcov-report/webworker/index.html +9 -9
  68. package/coverage/lcov-report/webworker/index.ts.html +15 -9
  69. package/coverage/lcov.info +2699 -1150
  70. package/lib/app/index.js +1 -1
  71. package/lib/common/tsconfig.tsbuildinfo +1 -1
  72. package/lib/index.js +1 -1
  73. package/lib/modules/Network/fetchProxy.js +4 -2
  74. package/lib/utils.js +16 -2
  75. package/package.json +1 -1
@@ -23,16 +23,16 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">31.16% </span>
26
+ <span class="strong">0% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>24/77</span>
28
+ <span class='fraction'>0/81</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">23.33% </span>
33
+ <span class="strong">0% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>7/30</span>
35
+ <span class='fraction'>0/30</span>
36
36
  </div>
37
37
 
38
38
 
@@ -44,9 +44,9 @@
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">31.16% </span>
47
+ <span class="strong">0% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>24/77</span>
49
+ <span class='fraction'>0/81</span>
50
50
  </div>
51
51
 
52
52
 
@@ -242,49 +242,63 @@
242
242
  <a name='L177'></a><a href='#L177'>177</a>
243
243
  <a name='L178'></a><a href='#L178'>178</a>
244
244
  <a name='L179'></a><a href='#L179'>179</a>
245
- <a name='L180'></a><a href='#L180'>180</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">3x</span>
245
+ <a name='L180'></a><a href='#L180'>180</a>
246
+ <a name='L181'></a><a href='#L181'>181</a>
247
+ <a name='L182'></a><a href='#L182'>182</a>
248
+ <a name='L183'></a><a href='#L183'>183</a>
249
+ <a name='L184'></a><a href='#L184'>184</a>
250
+ <a name='L185'></a><a href='#L185'>185</a>
251
+ <a name='L186'></a><a href='#L186'>186</a>
252
+ <a name='L187'></a><a href='#L187'>187</a>
253
+ <a name='L188'></a><a href='#L188'>188</a>
254
+ <a name='L189'></a><a href='#L189'>189</a>
255
+ <a name='L190'></a><a href='#L190'>190</a>
256
+ <a name='L191'></a><a href='#L191'>191</a>
257
+ <a name='L192'></a><a href='#L192'>192</a>
258
+ <a name='L193'></a><a href='#L193'>193</a>
259
+ <a name='L194'></a><a href='#L194'>194</a></td><td class="line-coverage quiet"><span class="cline-any cline-no">&nbsp;</span>
246
260
  <span class="cline-any cline-neutral">&nbsp;</span>
247
- <span class="cline-any cline-yes">3x</span>
261
+ <span class="cline-any cline-no">&nbsp;</span>
248
262
  <span class="cline-any cline-neutral">&nbsp;</span>
249
- <span class="cline-any cline-yes">3x</span>
263
+ <span class="cline-any cline-no">&nbsp;</span>
250
264
  <span class="cline-any cline-neutral">&nbsp;</span>
251
- <span class="cline-any cline-yes">3x</span>
265
+ <span class="cline-any cline-no">&nbsp;</span>
252
266
  <span class="cline-any cline-neutral">&nbsp;</span>
253
267
  <span class="cline-any cline-neutral">&nbsp;</span>
254
268
  <span class="cline-any cline-neutral">&nbsp;</span>
255
269
  <span class="cline-any cline-neutral">&nbsp;</span>
256
- <span class="cline-any cline-yes">3x</span>
257
- <span class="cline-any cline-yes">3x</span>
270
+ <span class="cline-any cline-no">&nbsp;</span>
271
+ <span class="cline-any cline-no">&nbsp;</span>
258
272
  <span class="cline-any cline-no">&nbsp;</span>
259
273
  <span class="cline-any cline-neutral">&nbsp;</span>
260
- <span class="cline-any cline-yes">3x</span>
274
+ <span class="cline-any cline-no">&nbsp;</span>
261
275
  <span class="cline-any cline-no">&nbsp;</span>
262
276
  <span class="cline-any cline-neutral">&nbsp;</span>
263
- <span class="cline-any cline-yes">3x</span>
277
+ <span class="cline-any cline-no">&nbsp;</span>
264
278
  <span class="cline-any cline-neutral">&nbsp;</span>
265
279
  <span class="cline-any cline-no">&nbsp;</span>
266
280
  <span class="cline-any cline-no">&nbsp;</span>
267
281
  <span class="cline-any cline-neutral">&nbsp;</span>
268
- <span class="cline-any cline-yes">3x</span>
282
+ <span class="cline-any cline-no">&nbsp;</span>
269
283
  <span class="cline-any cline-neutral">&nbsp;</span>
270
284
  <span class="cline-any cline-no">&nbsp;</span>
271
285
  <span class="cline-any cline-no">&nbsp;</span>
272
286
  <span class="cline-any cline-neutral">&nbsp;</span>
273
- <span class="cline-any cline-yes">3x</span>
287
+ <span class="cline-any cline-no">&nbsp;</span>
274
288
  <span class="cline-any cline-no">&nbsp;</span>
275
289
  <span class="cline-any cline-neutral">&nbsp;</span>
276
290
  <span class="cline-any cline-neutral">&nbsp;</span>
277
291
  <span class="cline-any cline-neutral">&nbsp;</span>
278
- <span class="cline-any cline-yes">3x</span>
292
+ <span class="cline-any cline-no">&nbsp;</span>
279
293
  <span class="cline-any cline-no">&nbsp;</span>
280
294
  <span class="cline-any cline-neutral">&nbsp;</span>
281
295
  <span class="cline-any cline-neutral">&nbsp;</span>
282
296
  <span class="cline-any cline-neutral">&nbsp;</span>
283
297
  <span class="cline-any cline-neutral">&nbsp;</span>
284
- <span class="cline-any cline-yes">3x</span>
298
+ <span class="cline-any cline-no">&nbsp;</span>
285
299
  <span class="cline-any cline-neutral">&nbsp;</span>
286
- <span class="cline-any cline-yes">3x</span>
287
- <span class="cline-any cline-yes">3x</span>
300
+ <span class="cline-any cline-no">&nbsp;</span>
301
+ <span class="cline-any cline-no">&nbsp;</span>
288
302
  <span class="cline-any cline-no">&nbsp;</span>
289
303
  <span class="cline-any cline-no">&nbsp;</span>
290
304
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -296,7 +310,7 @@
296
310
  <span class="cline-any cline-no">&nbsp;</span>
297
311
  <span class="cline-any cline-neutral">&nbsp;</span>
298
312
  <span class="cline-any cline-neutral">&nbsp;</span>
299
- <span class="cline-any cline-yes">3x</span>
313
+ <span class="cline-any cline-no">&nbsp;</span>
300
314
  <span class="cline-any cline-no">&nbsp;</span>
301
315
  <span class="cline-any cline-no">&nbsp;</span>
302
316
  <span class="cline-any cline-no">&nbsp;</span>
@@ -308,7 +322,7 @@
308
322
  <span class="cline-any cline-no">&nbsp;</span>
309
323
  <span class="cline-any cline-neutral">&nbsp;</span>
310
324
  <span class="cline-any cline-neutral">&nbsp;</span>
311
- <span class="cline-any cline-yes">3x</span>
325
+ <span class="cline-any cline-no">&nbsp;</span>
312
326
  <span class="cline-any cline-no">&nbsp;</span>
313
327
  <span class="cline-any cline-no">&nbsp;</span>
314
328
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -329,7 +343,7 @@
329
343
  <span class="cline-any cline-neutral">&nbsp;</span>
330
344
  <span class="cline-any cline-neutral">&nbsp;</span>
331
345
  <span class="cline-any cline-neutral">&nbsp;</span>
332
- <span class="cline-any cline-yes">3x</span>
346
+ <span class="cline-any cline-no">&nbsp;</span>
333
347
  <span class="cline-any cline-no">&nbsp;</span>
334
348
  <span class="cline-any cline-no">&nbsp;</span>
335
349
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -341,7 +355,7 @@
341
355
  <span class="cline-any cline-no">&nbsp;</span>
342
356
  <span class="cline-any cline-neutral">&nbsp;</span>
343
357
  <span class="cline-any cline-neutral">&nbsp;</span>
344
- <span class="cline-any cline-yes">3x</span>
358
+ <span class="cline-any cline-no">&nbsp;</span>
345
359
  <span class="cline-any cline-no">&nbsp;</span>
346
360
  <span class="cline-any cline-neutral">&nbsp;</span>
347
361
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -350,7 +364,7 @@
350
364
  <span class="cline-any cline-no">&nbsp;</span>
351
365
  <span class="cline-any cline-neutral">&nbsp;</span>
352
366
  <span class="cline-any cline-neutral">&nbsp;</span>
353
- <span class="cline-any cline-yes">3x</span>
367
+ <span class="cline-any cline-no">&nbsp;</span>
354
368
  <span class="cline-any cline-no">&nbsp;</span>
355
369
  <span class="cline-any cline-no">&nbsp;</span>
356
370
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -362,7 +376,7 @@
362
376
  <span class="cline-any cline-neutral">&nbsp;</span>
363
377
  <span class="cline-any cline-neutral">&nbsp;</span>
364
378
  <span class="cline-any cline-neutral">&nbsp;</span>
365
- <span class="cline-any cline-yes">3x</span>
379
+ <span class="cline-any cline-no">&nbsp;</span>
366
380
  <span class="cline-any cline-neutral">&nbsp;</span>
367
381
  <span class="cline-any cline-no">&nbsp;</span>
368
382
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -370,12 +384,12 @@
370
384
  <span class="cline-any cline-neutral">&nbsp;</span>
371
385
  <span class="cline-any cline-neutral">&nbsp;</span>
372
386
  <span class="cline-any cline-neutral">&nbsp;</span>
373
- <span class="cline-any cline-yes">3x</span>
387
+ <span class="cline-any cline-no">&nbsp;</span>
374
388
  <span class="cline-any cline-no">&nbsp;</span>
375
389
  <span class="cline-any cline-no">&nbsp;</span>
376
390
  <span class="cline-any cline-neutral">&nbsp;</span>
377
391
  <span class="cline-any cline-neutral">&nbsp;</span>
378
- <span class="cline-any cline-yes">3x</span>
392
+ <span class="cline-any cline-no">&nbsp;</span>
379
393
  <span class="cline-any cline-neutral">&nbsp;</span>
380
394
  <span class="cline-any cline-neutral">&nbsp;</span>
381
395
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -383,9 +397,16 @@
383
397
  <span class="cline-any cline-neutral">&nbsp;</span>
384
398
  <span class="cline-any cline-no">&nbsp;</span>
385
399
  <span class="cline-any cline-no">&nbsp;</span>
400
+ <span class="cline-any cline-no">&nbsp;</span>
401
+ <span class="cline-any cline-neutral">&nbsp;</span>
402
+ <span class="cline-any cline-no">&nbsp;</span>
403
+ <span class="cline-any cline-neutral">&nbsp;</span>
404
+ <span class="cline-any cline-neutral">&nbsp;</span>
386
405
  <span class="cline-any cline-neutral">&nbsp;</span>
387
406
  <span class="cline-any cline-neutral">&nbsp;</span>
388
- <span class="cline-any cline-yes">3x</span>
407
+ <span class="cline-any cline-neutral">&nbsp;</span>
408
+ <span class="cline-any cline-neutral">&nbsp;</span>
409
+ <span class="cline-any cline-no">&nbsp;</span>
389
410
  <span class="cline-any cline-neutral">&nbsp;</span>
390
411
  <span class="cline-any cline-neutral">&nbsp;</span>
391
412
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -395,6 +416,9 @@
395
416
  <span class="cline-any cline-neutral">&nbsp;</span>
396
417
  <span class="cline-any cline-neutral">&nbsp;</span>
397
418
  <span class="cline-any cline-no">&nbsp;</span>
419
+ <span class="cline-any cline-no">&nbsp;</span>
420
+ <span class="cline-any cline-neutral">&nbsp;</span>
421
+ <span class="cline-any cline-no">&nbsp;</span>
398
422
  <span class="cline-any cline-neutral">&nbsp;</span>
399
423
  <span class="cline-any cline-neutral">&nbsp;</span>
400
424
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -404,7 +428,11 @@
404
428
  <span class="cline-any cline-neutral">&nbsp;</span>
405
429
  <span class="cline-any cline-neutral">&nbsp;</span>
406
430
  <span class="cline-any cline-neutral">&nbsp;</span>
407
- <span class="cline-any cline-yes">3x</span>
431
+ <span class="cline-any cline-neutral">&nbsp;</span>
432
+ <span class="cline-any cline-neutral">&nbsp;</span>
433
+ <span class="cline-any cline-neutral">&nbsp;</span>
434
+ <span class="cline-any cline-neutral">&nbsp;</span>
435
+ <span class="cline-any cline-no">&nbsp;</span>
408
436
  <span class="cline-any cline-no">&nbsp;</span>
409
437
  <span class="cline-any cline-no">&nbsp;</span>
410
438
  <span class="cline-any cline-no">&nbsp;</span>
@@ -421,49 +449,49 @@
421
449
  <span class="cline-any cline-neutral">&nbsp;</span>
422
450
  <span class="cline-any cline-neutral">&nbsp;</span>
423
451
  <span class="cline-any cline-neutral">&nbsp;</span>
424
- <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">const DEPRECATED_ATTRS = { htmlmasked: 'hidden', masked: 'obscured' }
452
+ <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">const DEPRECATED_ATTRS = <span class="cstat-no" title="statement not covered" >{ htmlmasked: 'hidden', masked: 'obscured' }</span>
425
453
  &nbsp;
426
- export const IN_BROWSER = !(typeof window === 'undefined')
454
+ export const <span class="cstat-no" title="statement not covered" >IN_BROWSER = !(typeof window === 'undefined')</span>
427
455
  &nbsp;
428
- export const IS_FIREFOX = IN_BROWSER &amp;&amp; navigator.userAgent.match(/firefox|fxios/i)
456
+ export const <span class="cstat-no" title="statement not covered" >IS_FIREFOX = IN_BROWSER &amp;&amp; navigator.userAgent.match(/firefox|fxios/i)</span>
429
457
  &nbsp;
430
- export const MAX_STR_LEN = 1e5
458
+ export const <span class="cstat-no" title="statement not covered" >MAX_STR_LEN = 1e5</span>
431
459
  &nbsp;
432
460
  // Buggy to use `performance.timeOrigin || performance.timing.navigationStart`
433
461
  // https://github.com/mdn/content/issues/4713
434
462
  // Maybe move to timer/ticker
435
- let timeOrigin: number = IN_BROWSER ? Date.now() - performance.now() : <span class="branch-1 cbranch-no" title="branch not covered" >0</span>
436
- export function <span class="fstat-no" title="function not covered" >adjustTimeOrigin(</span>) {
463
+ let timeOrigin: number = <span class="cstat-no" title="statement not covered" >IN_BROWSER ? Date.now() - performance.now() : 0</span>
464
+ <span class="cstat-no" title="statement not covered" >export function <span class="fstat-no" title="function not covered" >a</span>djustTimeOrigin(</span>) {
437
465
  <span class="cstat-no" title="statement not covered" > timeOrigin = Date.now() - performance.now()</span>
438
466
  }
439
- export function <span class="fstat-no" title="function not covered" >getTimeOrigin(</span>) {
467
+ <span class="cstat-no" title="statement not covered" >export function <span class="fstat-no" title="function not covered" >g</span>etTimeOrigin(</span>) {
440
468
  <span class="cstat-no" title="statement not covered" > return timeOrigin</span>
441
469
  }
442
- export const now: () =&gt; number =
470
+ export const <span class="cstat-no" title="statement not covered" >now: () =&gt; number =</span>
443
471
  IN_BROWSER &amp;&amp; !!performance.now
444
472
  ? <span class="fstat-no" title="function not covered" >() =</span>&gt; <span class="cstat-no" title="statement not covered" >Math.round(performance.now() + timeOrigin)</span>
445
- : <span class="fstat-no" title="function not covered" ><span class="branch-1 cbranch-no" title="branch not covered" >() =</span>&gt; <span class="cstat-no" title="statement not covered" >Date.now()</span></span>
473
+ : <span class="fstat-no" title="function not covered" >() =</span>&gt; <span class="cstat-no" title="statement not covered" >Date.now()</span>
446
474
  &nbsp;
447
- export const stars: (str: string) =&gt; string =
475
+ export const <span class="cstat-no" title="statement not covered" >stars: (str: string) =&gt; string =</span>
448
476
  'repeat' in String.prototype
449
477
  ? <span class="fstat-no" title="function not covered" >(s</span>tr: string): string =&gt; <span class="cstat-no" title="statement not covered" >'*'.repeat(str.length)</span>
450
- : <span class="fstat-no" title="function not covered" ><span class="branch-1 cbranch-no" title="branch not covered" >(s</span>tr: string): string =&gt; <span class="cstat-no" title="statement not covered" >str.replace(/./g, '*')</span></span>
478
+ : <span class="fstat-no" title="function not covered" >(s</span>tr: string): string =&gt; <span class="cstat-no" title="statement not covered" >str.replace(/./g, '*')</span>
451
479
  &nbsp;
452
- export function <span class="fstat-no" title="function not covered" >normSpaces(</span>str: string): string {
480
+ <span class="cstat-no" title="statement not covered" >export function <span class="fstat-no" title="function not covered" >n</span>ormSpaces(</span>str: string): string {
453
481
  <span class="cstat-no" title="statement not covered" > return str.trim().replace(/\s+/g, ' ')</span>
454
482
  }
455
483
  &nbsp;
456
484
  // isAbsoluteUrl regexp: /^([a-z][a-z\d\+\-\.]*:)?\/\//i.test(url)
457
- export function <span class="fstat-no" title="function not covered" >isURL(</span>s: string): boolean {
485
+ <span class="cstat-no" title="statement not covered" >export function <span class="fstat-no" title="function not covered" >i</span>sURL(</span>s: string): boolean {
458
486
  <span class="cstat-no" title="statement not covered" > return s.startsWith('https://') || s.startsWith('http://')</span>
459
487
  }
460
488
  &nbsp;
461
489
  // TODO: JOIN IT WITH LOGGER somehow (use logging decorators?); Don't forget about index.js loggin when there is no logger instance.
462
490
  &nbsp;
463
- export const DOCS_HOST = 'https://docs.openreplay.com'
491
+ export const <span class="cstat-no" title="statement not covered" >DOCS_HOST = 'https://docs.openreplay.com'</span>
464
492
  &nbsp;
465
- const warnedFeatures: { [key: string]: boolean } = {}
466
- export function <span class="fstat-no" title="function not covered" >deprecationWarn(</span>nameOfFeature: string, useInstead: string, docsPath = <span class="branch-0 cbranch-no" title="branch not covered" >'/')</span>: void {
493
+ const warnedFeatures: { [key: string]: boolean } = <span class="cstat-no" title="statement not covered" >{}</span>
494
+ <span class="cstat-no" title="statement not covered" >export function <span class="fstat-no" title="function not covered" >d</span>eprecationWarn(</span>nameOfFeature: string, useInstead: string, docsPath = <span class="branch-0 cbranch-no" title="branch not covered" >'/')</span>: void {
467
495
  <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (warnedFeatures[nameOfFeature]) {</span>
468
496
  <span class="cstat-no" title="statement not covered" > return</span>
469
497
  }
@@ -475,7 +503,7 @@ export function <span class="fstat-no" title="function not covered" >deprecation
475
503
  <span class="cstat-no" title="statement not covered" > warnedFeatures[nameOfFeature] = true</span>
476
504
  }
477
505
  &nbsp;
478
- export function <span class="fstat-no" title="function not covered" >getLabelAttribute(</span>e: Element): string | null {
506
+ <span class="cstat-no" title="statement not covered" >export function <span class="fstat-no" title="function not covered" >g</span>etLabelAttribute(</span>e: Element): string | null {
479
507
  let value = <span class="cstat-no" title="statement not covered" >e.getAttribute('data-openreplay-label')</span>
480
508
  <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (value !== null) {</span>
481
509
  <span class="cstat-no" title="statement not covered" > return value</span>
@@ -487,7 +515,7 @@ export function <span class="fstat-no" title="function not covered" >getLabelAtt
487
515
  <span class="cstat-no" title="statement not covered" > return value</span>
488
516
  }
489
517
  &nbsp;
490
- export function <span class="fstat-no" title="function not covered" >hasOpenreplayAttribute(</span>e: Element, attr: string): boolean {
518
+ <span class="cstat-no" title="statement not covered" >export function <span class="fstat-no" title="function not covered" >h</span>asOpenreplayAttribute(</span>e: Element, attr: string): boolean {
491
519
  const newName = <span class="cstat-no" title="statement not covered" >`data-openreplay-${attr}`</span>
492
520
  <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (e.hasAttribute(newName)) {</span>
493
521
  // @ts-ignore
@@ -508,7 +536,7 @@ export function <span class="fstat-no" title="function not covered" >hasOpenrepl
508
536
  /**
509
537
  * checks if iframe is accessible
510
538
  **/
511
- export function <span class="fstat-no" title="function not covered" >canAccessIframe(</span>iframe: HTMLIFrameElement) {
539
+ <span class="cstat-no" title="statement not covered" >export function <span class="fstat-no" title="function not covered" >c</span>anAccessIframe(</span>iframe: HTMLIFrameElement) {
512
540
  <span class="cstat-no" title="statement not covered" > try {</span>
513
541
  <span class="cstat-no" title="statement not covered" > return Boolean(iframe.contentDocument)</span>
514
542
  } catch (e) {
@@ -520,7 +548,7 @@ function <span class="fstat-no" title="function not covered" >dec2hex(</span>dec
520
548
  <span class="cstat-no" title="statement not covered" > return dec.toString(16).padStart(2, '0')</span>
521
549
  }
522
550
  &nbsp;
523
- export function <span class="fstat-no" title="function not covered" >generateRandomId(</span>len?: number) {
551
+ <span class="cstat-no" title="statement not covered" >export function <span class="fstat-no" title="function not covered" >g</span>enerateRandomId(</span>len?: number) {
524
552
  const arr: Uint8Array = <span class="cstat-no" title="statement not covered" >new Uint8Array((len || 40) / 2)</span>
525
553
  // msCrypto = IE11
526
554
  // @ts-ignore
@@ -529,7 +557,7 @@ export function <span class="fstat-no" title="function not covered" >generateRan
529
557
  <span class="cstat-no" title="statement not covered" > return Array.from(arr, dec2hex).join('')</span>
530
558
  }
531
559
  &nbsp;
532
- export function <span class="fstat-no" title="function not covered" >inIframe(</span>) {
560
+ <span class="cstat-no" title="statement not covered" >export function <span class="fstat-no" title="function not covered" >i</span>nIframe(</span>) {
533
561
  <span class="cstat-no" title="statement not covered" > try {</span>
534
562
  <span class="cstat-no" title="statement not covered" > return window.self !== window.top</span>
535
563
  } catch (e) {
@@ -541,7 +569,7 @@ export function <span class="fstat-no" title="function not covered" >inIframe(</
541
569
  * Because angular devs decided that its a good idea to override a browser apis
542
570
  * we need to use this to achieve safe behavior
543
571
  * */
544
- export function <span class="fstat-no" title="function not covered" >ngSafeBrowserMethod(</span>method: string): string {
572
+ <span class="cstat-no" title="statement not covered" >export function <span class="fstat-no" title="function not covered" >n</span>gSafeBrowserMethod(</span>method: string): string {
545
573
  // @ts-ignore
546
574
  <span class="cstat-no" title="statement not covered" > return window.Zone &amp;&amp; '__symbol__' in window.Zone</span>
547
575
  ? // @ts-ignore
@@ -549,22 +577,29 @@ export function <span class="fstat-no" title="function not covered" >ngSafeBrows
549
577
  : method
550
578
  }
551
579
  &nbsp;
552
- export function <span class="fstat-no" title="function not covered" >createMutationObserver(</span>cb: MutationCallback) {
580
+ <span class="cstat-no" title="statement not covered" >export function <span class="fstat-no" title="function not covered" >c</span>reateMutationObserver(</span>cb: MutationCallback) {
553
581
  const mObserver = <span class="cstat-no" title="statement not covered" >ngSafeBrowserMethod('MutationObserver') as 'MutationObserver'</span>
554
582
  <span class="cstat-no" title="statement not covered" > return new window[mObserver](cb)</span>
555
583
  }
556
584
  &nbsp;
557
- export function <span class="fstat-no" title="function not covered" >createEventListener(</span>
585
+ <span class="cstat-no" title="statement not covered" >export function <span class="fstat-no" title="function not covered" >c</span>reateEventListener(</span>
558
586
  target: EventTarget,
559
587
  event: string,
560
588
  cb: EventListenerOrEventListenerObject,
561
589
  capture?: boolean,
562
590
  ) {
563
591
  const safeAddEventListener = <span class="cstat-no" title="statement not covered" >ngSafeBrowserMethod('addEventListener') as 'addEventListener'</span>
564
- <span class="cstat-no" title="statement not covered" > target[safeAddEventListener](event, cb, capture)</span>
592
+ <span class="cstat-no" title="statement not covered" > try {</span>
593
+ <span class="cstat-no" title="statement not covered" > target[safeAddEventListener](event, cb, capture)</span>
594
+ } catch (e) {
595
+ <span class="cstat-no" title="statement not covered" > console.debug(</span>
596
+ // eslint-disable-next-line @typescript-eslint/restrict-template-expressions
597
+ `Openreplay: ${e.messages}; if this error is caused by an IframeObserver, ignore it`,
598
+ )
599
+ }
565
600
  }
566
601
  &nbsp;
567
- export function <span class="fstat-no" title="function not covered" >deleteEventListener(</span>
602
+ <span class="cstat-no" title="statement not covered" >export function <span class="fstat-no" title="function not covered" >d</span>eleteEventListener(</span>
568
603
  target: EventTarget,
569
604
  event: string,
570
605
  cb: EventListenerOrEventListenerObject,
@@ -573,7 +608,14 @@ export function <span class="fstat-no" title="function not covered" >deleteEvent
573
608
  const safeRemoveEventListener = <span class="cstat-no" title="statement not covered" >ngSafeBrowserMethod(</span>
574
609
  'removeEventListener',
575
610
  ) as 'removeEventListener'
576
- <span class="cstat-no" title="statement not covered" > target[safeRemoveEventListener](event, cb, capture)</span>
611
+ <span class="cstat-no" title="statement not covered" > try {</span>
612
+ <span class="cstat-no" title="statement not covered" > target[safeRemoveEventListener](event, cb, capture)</span>
613
+ } catch (e) {
614
+ <span class="cstat-no" title="statement not covered" > console.debug(</span>
615
+ // eslint-disable-next-line @typescript-eslint/restrict-template-expressions
616
+ `Openreplay: ${e.messages}; if this error is caused by an IframeObserver, ignore it`,
617
+ )
618
+ }
577
619
  }
578
620
  &nbsp;
579
621
  /**
@@ -583,7 +625,7 @@ export function <span class="fstat-no" title="function not covered" >deleteEvent
583
625
  *
584
626
  * I'm very grateful for their bright idea
585
627
  * */
586
- export function <span class="fstat-no" title="function not covered" >requestIdleCb(</span>callback: () =&gt; void) {
628
+ <span class="cstat-no" title="statement not covered" >export function <span class="fstat-no" title="function not covered" >r</span>equestIdleCb(</span>callback: () =&gt; void) {
587
629
  const taskTimeout = <span class="cstat-no" title="statement not covered" >3000</span>
588
630
  <span class="cstat-no" title="statement not covered" > if (window.requestIdleCallback) {</span>
589
631
  <span class="cstat-no" title="statement not covered" > return window.requestIdleCallback(callback, { timeout: taskTimeout })</span>
@@ -607,7 +649,7 @@ export function <span class="fstat-no" title="function not covered" >requestIdle
607
649
  <div class='footer quiet pad2 space-top1 center small'>
608
650
  Code coverage generated by
609
651
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
610
- at 2023-11-03T09:39:08.430Z
652
+ at 2023-12-15T15:55:44.965Z
611
653
  </div>
612
654
  <script src="../prettify.js"></script>
613
655
  <script>
@@ -466,7 +466,7 @@ const MAX_M_SIZE = <span class="cstat-no" title="statement not covered" >(1 &lt;
466
466
  <div class='footer quiet pad2 space-top1 center small'>
467
467
  Code coverage generated by
468
468
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
469
- at 2023-11-03T09:39:08.430Z
469
+ at 2023-12-15T15:55:44.965Z
470
470
  </div>
471
471
  <script src="../prettify.js"></script>
472
472
  <script>
@@ -25,14 +25,14 @@
25
25
  <div class='fl pad1y space-right2'>
26
26
  <span class="strong">0% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>0/141</span>
28
+ <span class='fraction'>0/143</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
33
  <span class="strong">0% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>0/269</span>
35
+ <span class='fraction'>0/272</span>
36
36
  </div>
37
37
 
38
38
 
@@ -46,7 +46,7 @@
46
46
  <div class='fl pad1y space-right2'>
47
47
  <span class="strong">0% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>0/141</span>
49
+ <span class='fraction'>0/143</span>
50
50
  </div>
51
51
 
52
52
 
@@ -355,7 +355,11 @@
355
355
  <a name='L290'></a><a href='#L290'>290</a>
356
356
  <a name='L291'></a><a href='#L291'>291</a>
357
357
  <a name='L292'></a><a href='#L292'>292</a>
358
- <a name='L293'></a><a href='#L293'>293</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
358
+ <a name='L293'></a><a href='#L293'>293</a>
359
+ <a name='L294'></a><a href='#L294'>294</a>
360
+ <a name='L295'></a><a href='#L295'>295</a>
361
+ <a name='L296'></a><a href='#L296'>296</a>
362
+ <a name='L297'></a><a href='#L297'>297</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
359
363
  <span class="cline-any cline-neutral">&nbsp;</span>
360
364
  <span class="cline-any cline-neutral">&nbsp;</span>
361
365
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -644,6 +648,10 @@
644
648
  <span class="cline-any cline-no">&nbsp;</span>
645
649
  <span class="cline-any cline-neutral">&nbsp;</span>
646
650
  <span class="cline-any cline-neutral">&nbsp;</span>
651
+ <span class="cline-any cline-no">&nbsp;</span>
652
+ <span class="cline-any cline-no">&nbsp;</span>
653
+ <span class="cline-any cline-neutral">&nbsp;</span>
654
+ <span class="cline-any cline-neutral">&nbsp;</span>
647
655
  <span class="cline-any cline-neutral">&nbsp;</span>
648
656
  <span class="cline-any cline-neutral">&nbsp;</span>
649
657
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -934,6 +942,10 @@ import Message from '../common/messages.gen.js'
934
942
  case Messages.Type.TabData:
935
943
  <span class="cstat-no" title="statement not covered" > return this.string(msg[1])</span>
936
944
  <span class="cstat-no" title="statement not covered" > break</span>
945
+ &nbsp;
946
+ case Messages.Type.CanvasNode:
947
+ <span class="cstat-no" title="statement not covered" > return this.string(msg[1]) &amp;&amp; this.uint(msg[2])</span>
948
+ <span class="cstat-no" title="statement not covered" > break</span>
937
949
  &nbsp;
938
950
  }
939
951
  }
@@ -946,7 +958,7 @@ import Message from '../common/messages.gen.js'
946
958
  <div class='footer quiet pad2 space-top1 center small'>
947
959
  Code coverage generated by
948
960
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
949
- at 2023-11-03T09:39:08.430Z
961
+ at 2023-12-15T15:55:44.965Z
950
962
  </div>
951
963
  <script src="../prettify.js"></script>
952
964
  <script>
@@ -421,7 +421,7 @@ const textEncoder: { encode(str: string): Uint8Array } =
421
421
  <div class='footer quiet pad2 space-top1 center small'>
422
422
  Code coverage generated by
423
423
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
424
- at 2023-11-03T09:39:08.430Z
424
+ at 2023-12-15T15:55:44.965Z
425
425
  </div>
426
426
  <script src="../prettify.js"></script>
427
427
  <script>
@@ -490,7 +490,7 @@ const KEEPALIVE_SIZE_LIMIT = <span class="cstat-no" title="statement not covered
490
490
  <div class='footer quiet pad2 space-top1 center small'>
491
491
  Code coverage generated by
492
492
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
493
- at 2023-11-03T09:39:08.430Z
493
+ at 2023-12-15T15:55:44.965Z
494
494
  </div>
495
495
  <script src="../prettify.js"></script>
496
496
  <script>
@@ -25,14 +25,14 @@
25
25
  <div class='fl pad1y space-right2'>
26
26
  <span class="strong">0% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>0/443</span>
28
+ <span class='fraction'>0/444</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
33
  <span class="strong">0% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>0/361</span>
35
+ <span class='fraction'>0/364</span>
36
36
  </div>
37
37
 
38
38
 
@@ -46,7 +46,7 @@
46
46
  <div class='fl pad1y space-right2'>
47
47
  <span class="strong">0% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>0/436</span>
49
+ <span class='fraction'>0/437</span>
50
50
  </div>
51
51
 
52
52
 
@@ -99,13 +99,13 @@
99
99
  <div class="chart"><div class="cover-fill" style="width: 0%"></div><div class="cover-empty" style="width: 100%"></div></div>
100
100
  </td>
101
101
  <td data-value="0" class="pct low">0%</td>
102
- <td data-value="141" class="abs low">0/141</td>
102
+ <td data-value="143" class="abs low">0/143</td>
103
103
  <td data-value="0" class="pct low">0%</td>
104
- <td data-value="269" class="abs low">0/269</td>
104
+ <td data-value="272" class="abs low">0/272</td>
105
105
  <td data-value="0" class="pct low">0%</td>
106
106
  <td data-value="1" class="abs low">0/1</td>
107
107
  <td data-value="0" class="pct low">0%</td>
108
- <td data-value="141" class="abs low">0/141</td>
108
+ <td data-value="143" class="abs low">0/143</td>
109
109
  </tr>
110
110
 
111
111
  <tr>
@@ -144,13 +144,13 @@
144
144
  <div class="chart"><div class="cover-fill" style="width: 0%"></div><div class="cover-empty" style="width: 100%"></div></div>
145
145
  </td>
146
146
  <td data-value="0" class="pct low">0%</td>
147
- <td data-value="97" class="abs low">0/97</td>
147
+ <td data-value="96" class="abs low">0/96</td>
148
148
  <td data-value="0" class="pct low">0%</td>
149
149
  <td data-value="29" class="abs low">0/29</td>
150
150
  <td data-value="0" class="pct low">0%</td>
151
151
  <td data-value="16" class="abs low">0/16</td>
152
152
  <td data-value="0" class="pct low">0%</td>
153
- <td data-value="95" class="abs low">0/95</td>
153
+ <td data-value="94" class="abs low">0/94</td>
154
154
  </tr>
155
155
 
156
156
  </tbody>
@@ -161,7 +161,7 @@
161
161
  <div class='footer quiet pad2 space-top1 center small'>
162
162
  Code coverage generated by
163
163
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
164
- at 2023-11-03T09:39:08.430Z
164
+ at 2023-12-15T15:55:44.965Z
165
165
  </div>
166
166
  <script src="../prettify.js"></script>
167
167
  <script>