@openreplay/tracker 9.0.12 → 9.0.14

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 (79) hide show
  1. package/cjs/app/index.js +2 -2
  2. package/cjs/index.js +3 -2
  3. package/cjs/modules/Network/fetchProxy.d.ts +1 -1
  4. package/cjs/modules/Network/fetchProxy.js +2 -0
  5. package/cjs/modules/mouse.js +1 -0
  6. package/cjs/modules/network.js +1 -0
  7. package/coverage/clover.xml +1783 -995
  8. package/coverage/coverage-final.json +30 -25
  9. package/coverage/lcov-report/index.html +45 -45
  10. package/coverage/lcov-report/main/app/canvas.ts.html +535 -0
  11. package/coverage/lcov-report/main/app/guards.ts.html +5 -2
  12. package/coverage/lcov-report/main/app/index.html +34 -19
  13. package/coverage/lcov-report/main/app/index.ts.html +1769 -116
  14. package/coverage/lcov-report/main/app/logger.ts.html +25 -91
  15. package/coverage/lcov-report/main/app/messages.gen.ts.html +122 -5
  16. package/coverage/lcov-report/main/app/nodes.ts.html +26 -8
  17. package/coverage/lcov-report/main/app/observer/iframe_observer.ts.html +2 -2
  18. package/coverage/lcov-report/main/app/observer/iframe_offsets.ts.html +1 -1
  19. package/coverage/lcov-report/main/app/observer/index.html +1 -1
  20. package/coverage/lcov-report/main/app/observer/shadow_root_observer.ts.html +2 -2
  21. package/coverage/lcov-report/main/app/observer/top_observer.ts.html +1 -1
  22. package/coverage/lcov-report/main/app/sanitizer.ts.html +12 -3
  23. package/coverage/lcov-report/main/app/session.ts.html +30 -9
  24. package/coverage/lcov-report/main/app/ticker.ts.html +1 -1
  25. package/coverage/lcov-report/main/index.html +13 -13
  26. package/coverage/lcov-report/main/index.ts.html +468 -102
  27. package/coverage/lcov-report/main/modules/Network/beaconProxy.ts.html +1 -1
  28. package/coverage/lcov-report/main/modules/Network/fetchProxy.ts.html +27 -6
  29. package/coverage/lcov-report/main/modules/Network/index.html +13 -13
  30. package/coverage/lcov-report/main/modules/Network/index.ts.html +1 -1
  31. package/coverage/lcov-report/main/modules/Network/networkMessage.ts.html +17 -8
  32. package/coverage/lcov-report/main/modules/Network/utils.ts.html +1 -1
  33. package/coverage/lcov-report/main/modules/Network/xhrProxy.ts.html +3 -3
  34. package/coverage/lcov-report/main/modules/attributeSender.ts.html +13 -4
  35. package/coverage/lcov-report/main/modules/axiosSpy.ts.html +1 -1
  36. package/coverage/lcov-report/main/modules/conditionsManager.ts.html +1399 -0
  37. package/coverage/lcov-report/main/modules/connection.ts.html +1 -1
  38. package/coverage/lcov-report/main/modules/console.ts.html +1 -1
  39. package/coverage/lcov-report/main/modules/constructedStyleSheets.ts.html +42 -30
  40. package/coverage/lcov-report/main/modules/cssrules.ts.html +1 -1
  41. package/coverage/lcov-report/main/modules/exception.ts.html +1 -1
  42. package/coverage/lcov-report/main/modules/featureFlags.ts.html +10 -7
  43. package/coverage/lcov-report/main/modules/focus.ts.html +1 -1
  44. package/coverage/lcov-report/main/modules/fonts.ts.html +1 -1
  45. package/coverage/lcov-report/main/modules/img.ts.html +23 -20
  46. package/coverage/lcov-report/main/modules/index.html +50 -20
  47. package/coverage/lcov-report/main/modules/input.ts.html +1 -1
  48. package/coverage/lcov-report/main/modules/mouse.ts.html +1 -1
  49. package/coverage/lcov-report/main/modules/network.ts.html +3 -3
  50. package/coverage/lcov-report/main/modules/performance.ts.html +1 -1
  51. package/coverage/lcov-report/main/modules/scroll.ts.html +1 -1
  52. package/coverage/lcov-report/main/modules/selection.ts.html +1 -1
  53. package/coverage/lcov-report/main/modules/tabs.ts.html +1 -1
  54. package/coverage/lcov-report/main/modules/tagWatcher.ts.html +334 -0
  55. package/coverage/lcov-report/main/modules/timing.ts.html +42 -6
  56. package/coverage/lcov-report/main/modules/userTesting/SignalManager.ts.html +370 -0
  57. package/coverage/lcov-report/main/modules/userTesting/dnd.ts.html +10 -22
  58. package/coverage/lcov-report/main/modules/userTesting/index.html +57 -27
  59. package/coverage/lcov-report/main/modules/userTesting/index.ts.html +814 -115
  60. package/coverage/lcov-report/main/modules/userTesting/recorder.ts.html +136 -67
  61. package/coverage/lcov-report/main/modules/userTesting/styles.ts.html +111 -39
  62. package/coverage/lcov-report/main/modules/userTesting/utils.ts.html +364 -0
  63. package/coverage/lcov-report/main/modules/viewport.ts.html +1 -1
  64. package/coverage/lcov-report/main/utils.ts.html +264 -6
  65. package/coverage/lcov-report/webworker/BatchWriter.ts.html +23 -5
  66. package/coverage/lcov-report/webworker/MessageEncoder.gen.ts.html +41 -5
  67. package/coverage/lcov-report/webworker/PrimitiveEncoder.ts.html +1 -1
  68. package/coverage/lcov-report/webworker/QueueSender.ts.html +18 -6
  69. package/coverage/lcov-report/webworker/index.html +17 -17
  70. package/coverage/lcov-report/webworker/index.ts.html +24 -15
  71. package/coverage/lcov.info +3283 -1718
  72. package/lib/app/index.js +2 -2
  73. package/lib/common/tsconfig.tsbuildinfo +1 -1
  74. package/lib/index.js +3 -2
  75. package/lib/modules/Network/fetchProxy.d.ts +1 -1
  76. package/lib/modules/Network/fetchProxy.js +2 -0
  77. package/lib/modules/mouse.js +1 -0
  78. package/lib/modules/network.js +1 -0
  79. package/package.json +1 -1
@@ -145,7 +145,7 @@
145
145
  <div class='footer quiet pad2 space-top1 center small'>
146
146
  Code coverage generated by
147
147
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
148
- at 2023-10-17T13:37:58.420Z
148
+ at 2024-01-23T12:19:37.435Z
149
149
  </div>
150
150
  <script src="../../prettify.js"></script>
151
151
  <script>
@@ -526,7 +526,7 @@ const consoleMethods = <span class="cstat-no" title="statement not covered" >['l
526
526
  <div class='footer quiet pad2 space-top1 center small'>
527
527
  Code coverage generated by
528
528
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
529
- at 2023-10-17T13:37:58.420Z
529
+ at 2024-01-23T12:19:37.435Z
530
530
  </div>
531
531
  <script src="../../prettify.js"></script>
532
532
  <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/78</span>
28
+ <span class='fraction'>0/80</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/17</span>
35
+ <span class='fraction'>0/19</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/77</span>
49
+ <span class='fraction'>0/79</span>
50
50
  </div>
51
51
 
52
52
 
@@ -221,15 +221,17 @@
221
221
  <a name='L156'></a><a href='#L156'>156</a>
222
222
  <a name='L157'></a><a href='#L157'>157</a>
223
223
  <a name='L158'></a><a href='#L158'>158</a>
224
- <a name='L159'></a><a href='#L159'>159</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
224
+ <a name='L159'></a><a href='#L159'>159</a>
225
+ <a name='L160'></a><a href='#L160'>160</a>
226
+ <a name='L161'></a><a href='#L161'>161</a>
227
+ <a name='L162'></a><a href='#L162'>162</a>
228
+ <a name='L163'></a><a href='#L163'>163</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
225
229
  <span class="cline-any cline-no">&nbsp;</span>
226
230
  <span class="cline-any cline-neutral">&nbsp;</span>
227
231
  <span class="cline-any cline-neutral">&nbsp;</span>
228
232
  <span class="cline-any cline-neutral">&nbsp;</span>
229
233
  <span class="cline-any cline-neutral">&nbsp;</span>
230
234
  <span class="cline-any cline-neutral">&nbsp;</span>
231
- <span class="cline-any cline-neutral">&nbsp;</span>
232
- <span class="cline-any cline-neutral">&nbsp;</span>
233
235
  <span class="cline-any cline-no">&nbsp;</span>
234
236
  <span class="cline-any cline-neutral">&nbsp;</span>
235
237
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -244,9 +246,11 @@
244
246
  <span class="cline-any cline-neutral">&nbsp;</span>
245
247
  <span class="cline-any cline-neutral">&nbsp;</span>
246
248
  <span class="cline-any cline-no">&nbsp;</span>
249
+ <span class="cline-any cline-neutral">&nbsp;</span>
247
250
  <span class="cline-any cline-no">&nbsp;</span>
248
251
  <span class="cline-any cline-no">&nbsp;</span>
249
252
  <span class="cline-any cline-neutral">&nbsp;</span>
253
+ <span class="cline-any cline-neutral">&nbsp;</span>
250
254
  <span class="cline-any cline-no">&nbsp;</span>
251
255
  <span class="cline-any cline-neutral">&nbsp;</span>
252
256
  <span class="cline-any cline-no">&nbsp;</span>
@@ -281,6 +285,7 @@
281
285
  <span class="cline-any cline-no">&nbsp;</span>
282
286
  <span class="cline-any cline-no">&nbsp;</span>
283
287
  <span class="cline-any cline-no">&nbsp;</span>
288
+ <span class="cline-any cline-no">&nbsp;</span>
284
289
  <span class="cline-any cline-neutral">&nbsp;</span>
285
290
  <span class="cline-any cline-no">&nbsp;</span>
286
291
  <span class="cline-any cline-no">&nbsp;</span>
@@ -293,9 +298,12 @@
293
298
  <span class="cline-any cline-neutral">&nbsp;</span>
294
299
  <span class="cline-any cline-no">&nbsp;</span>
295
300
  <span class="cline-any cline-neutral">&nbsp;</span>
301
+ <span class="cline-any cline-neutral">&nbsp;</span>
296
302
  <span class="cline-any cline-no">&nbsp;</span>
297
303
  <span class="cline-any cline-no">&nbsp;</span>
298
304
  <span class="cline-any cline-no">&nbsp;</span>
305
+ <span class="cline-any cline-no">&nbsp;</span>
306
+ <span class="cline-any cline-neutral">&nbsp;</span>
299
307
  <span class="cline-any cline-neutral">&nbsp;</span>
300
308
  <span class="cline-any cline-neutral">&nbsp;</span>
301
309
  <span class="cline-any cline-no">&nbsp;</span>
@@ -381,10 +389,8 @@
381
389
  <span class="cline-any cline-neutral">&nbsp;</span>
382
390
  <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import type App from '../app/index.js'
383
391
  <span class="cstat-no" title="statement not covered" >import {</span>
384
- TechnicalInfo,
385
392
  AdoptedSSReplaceURLBased,
386
393
  AdoptedSSInsertRuleURLBased,
387
- AdoptedSSDeleteRule,
388
394
  AdoptedSSAddOwner,
389
395
  AdoptedSSRemoveOwner,
390
396
  } from '../app/messages.gen.js'
@@ -400,11 +406,13 @@ function <span class="fstat-no" title="function not covered" >hasAdoptedSS(</spa
400
406
  )
401
407
  }
402
408
  &nbsp;
403
- // TODO: incapsulate to be init-ed on-start and join with cssrules.ts under one folder
409
+ // TODO: encapsulate to be init-ed on-start and join with cssrules.ts under one folder
404
410
  let _id = <span class="cstat-no" title="statement not covered" >0xf</span>
411
+ &nbsp;
405
412
  <span class="cstat-no" title="statement not covered" >export function <span class="fstat-no" title="function not covered" >n</span>extID(</span>): number {
406
413
  <span class="cstat-no" title="statement not covered" > return _id++</span>
407
414
  }
415
+ &nbsp;
408
416
  export const <span class="cstat-no" title="statement not covered" >styleSheetIDMap: Map&lt;CSSStyleSheet, number&gt; = new Map()</span>
409
417
  &nbsp;
410
418
  <span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" >export default function (a</span></span>pp: App | null) {
@@ -433,35 +441,39 @@ export const <span class="cstat-no" title="statement not covered" >styleSheetIDM
433
441
  }
434
442
  const nowOwning: number[] = <span class="cstat-no" title="statement not covered" >[]</span>
435
443
  const styleSheets = <span class="cstat-no" title="statement not covered" >root.adoptedStyleSheets</span>
436
- <span class="cstat-no" title="statement not covered" > for (const s of styleSheets) {</span>
437
- let sheetID = <span class="cstat-no" title="statement not covered" >styleSheetIDMap.get(s)</span>
438
- const init = <span class="cstat-no" title="statement not covered" >!sheetID</span>
439
- <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (!sheetID) {</span>
440
- <span class="cstat-no" title="statement not covered" > sheetID = nextID()</span>
441
- <span class="cstat-no" title="statement not covered" > styleSheetIDMap.set(s, sheetID)</span>
442
- }
443
- <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (!pastOwning.includes(sheetID)) {</span>
444
- <span class="cstat-no" title="statement not covered" > app.send(AdoptedSSAddOwner(sheetID, nodeID))</span>
445
- }
446
- <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (init) {</span>
447
- const rules = <span class="cstat-no" title="statement not covered" >s.cssRules</span>
448
- <span class="cstat-no" title="statement not covered" > for (let i = <span class="cstat-no" title="statement not covered" >0;</span> i &lt; rules.length; i++) {</span>
449
- <span class="cstat-no" title="statement not covered" > app.send(AdoptedSSInsertRuleURLBased(sheetID, rules[i].cssText, i, app.getBaseHref()))</span>
444
+ <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (Symbol.iterator in styleSheets) {</span>
445
+ <span class="cstat-no" title="statement not covered" > for (const s of styleSheets) {</span>
446
+ let sheetID = <span class="cstat-no" title="statement not covered" >styleSheetIDMap.get(s)</span>
447
+ const init = <span class="cstat-no" title="statement not covered" >!sheetID</span>
448
+ <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (!sheetID) {</span>
449
+ <span class="cstat-no" title="statement not covered" > sheetID = nextID()</span>
450
+ <span class="cstat-no" title="statement not covered" > styleSheetIDMap.set(s, sheetID)</span>
450
451
  }
452
+ <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (!pastOwning.includes(sheetID)) {</span>
453
+ <span class="cstat-no" title="statement not covered" > app.send(AdoptedSSAddOwner(sheetID, nodeID))</span>
454
+ }
455
+ <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (init) {</span>
456
+ const rules = <span class="cstat-no" title="statement not covered" >s.cssRules</span>
457
+ <span class="cstat-no" title="statement not covered" > for (let i = <span class="cstat-no" title="statement not covered" >0;</span> i &lt; rules.length; i++) {</span>
458
+ <span class="cstat-no" title="statement not covered" > app.send(AdoptedSSInsertRuleURLBased(sheetID, rules[i].cssText, i, app.getBaseHref()))</span>
459
+ }
460
+ }
461
+ <span class="cstat-no" title="statement not covered" > nowOwning.push(sheetID)</span>
451
462
  }
452
- <span class="cstat-no" title="statement not covered" > nowOwning.push(sheetID)</span>
453
463
  }
454
- <span class="cstat-no" title="statement not covered" > for (const sheetID of pastOwning) {</span>
455
- <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (!nowOwning.includes(sheetID)) {</span>
456
- <span class="cstat-no" title="statement not covered" > app.send(AdoptedSSRemoveOwner(sheetID, nodeID))</span>
464
+ <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (Symbol.iterator in pastOwning) {</span>
465
+ <span class="cstat-no" title="statement not covered" > for (const sheetID of pastOwning) {</span>
466
+ <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (!nowOwning.includes(sheetID)) {</span>
467
+ <span class="cstat-no" title="statement not covered" > app.send(AdoptedSSRemoveOwner(sheetID, nodeID))</span>
468
+ }
457
469
  }
458
470
  }
459
471
  <span class="cstat-no" title="statement not covered" > adoptedStyleSheetsOwnings.set(nodeID, nowOwning)</span>
460
- }, 20) // Misterious bug:
472
+ }, 20) // Mysterious bug:
461
473
  /* On the page https://explore.fast.design/components/fast-accordion
462
474
  the only rule inside the only adoptedStyleSheet of the iframe-s document
463
475
  gets changed during first milliseconds after the load.
464
- Howerer, none of the documented methods (replace, insertRule) is triggered.
476
+ However, none of the documented methods (replace, insertRule) is triggered.
465
477
  The rule is not substituted (remains the same object), however the text gets changed.
466
478
  */
467
479
  &nbsp;
@@ -544,7 +556,7 @@ export const <span class="cstat-no" title="statement not covered" >styleSheetIDM
544
556
  <div class='footer quiet pad2 space-top1 center small'>
545
557
  Code coverage generated by
546
558
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
547
- at 2023-10-17T13:37:58.420Z
559
+ at 2024-01-23T12:19:37.435Z
548
560
  </div>
549
561
  <script src="../../prettify.js"></script>
550
562
  <script>
@@ -403,7 +403,7 @@
403
403
  <div class='footer quiet pad2 space-top1 center small'>
404
404
  Code coverage generated by
405
405
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
406
- at 2023-10-17T13:37:58.420Z
406
+ at 2024-01-23T12:19:37.435Z
407
407
  </div>
408
408
  <script src="../../prettify.js"></script>
409
409
  <script>
@@ -370,7 +370,7 @@ function <span class="fstat-no" title="function not covered" >getDefaultStack(</
370
370
  <div class='footer quiet pad2 space-top1 center small'>
371
371
  Code coverage generated by
372
372
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
373
- at 2023-10-17T13:37:58.420Z
373
+ at 2024-01-23T12:19:37.435Z
374
374
  </div>
375
375
  <script src="../../prettify.js"></script>
376
376
  <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/49</span>
28
+ <span class='fraction'>0/50</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/9</span>
35
+ <span class='fraction'>0/13</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/41</span>
49
+ <span class='fraction'>0/42</span>
50
50
  </div>
51
51
 
52
52
 
@@ -172,7 +172,8 @@
172
172
  <a name='L107'></a><a href='#L107'>107</a>
173
173
  <a name='L108'></a><a href='#L108'>108</a>
174
174
  <a name='L109'></a><a href='#L109'>109</a>
175
- <a name='L110'></a><a href='#L110'>110</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
175
+ <a name='L110'></a><a href='#L110'>110</a>
176
+ <a name='L111'></a><a href='#L111'>111</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
176
177
  <span class="cline-any cline-neutral">&nbsp;</span>
177
178
  <span class="cline-any cline-neutral">&nbsp;</span>
178
179
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -238,6 +239,7 @@
238
239
  <span class="cline-any cline-neutral">&nbsp;</span>
239
240
  <span class="cline-any cline-neutral">&nbsp;</span>
240
241
  <span class="cline-any cline-no">&nbsp;</span>
242
+ <span class="cline-any cline-no">&nbsp;</span>
241
243
  <span class="cline-any cline-neutral">&nbsp;</span>
242
244
  <span class="cline-any cline-neutral">&nbsp;</span>
243
245
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -320,7 +322,7 @@ export interface FetchPersistFlagsData {
320
322
  <span class="cstat-no" title="statement not covered" > this.onFlagsCb = cb</span>
321
323
  }
322
324
  &nbsp;
323
- async <span class="fstat-no" title="function not covered" >reloadFlags(</span>) {
325
+ async <span class="fstat-no" title="function not covered" >reloadFlags(</span>token?: string) {
324
326
  const persistFlagsStr = <span class="cstat-no" title="statement not covered" >this.app.sessionStorage.getItem(this.storageKey)</span>
325
327
  const persistFlags: Record&lt;string, FetchPersistFlagsData&gt; = <span class="cstat-no" title="statement not covered" >{}</span>
326
328
  <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (persistFlagsStr) {</span>
@@ -346,11 +348,12 @@ export interface FetchPersistFlagsData {
346
348
  persistFlags: persistFlags,
347
349
  }
348
350
  &nbsp;
351
+ const authToken = <span class="cstat-no" title="statement not covered" >token ?? (this.app.session.getSessionToken() as string)</span>
349
352
  const resp = <span class="cstat-no" title="statement not covered" >await fetch(this.app.options.ingestPoint + '/v1/web/feature-flags', {</span>
350
353
  method: 'POST',
351
354
  headers: {
352
355
  'Content-Type': 'application/json',
353
- Authorization: `Bearer ${this.app.session.getSessionToken() as string}`,
356
+ Authorization: `Bearer ${authToken}`,
354
357
  },
355
358
  body: JSON.stringify(requestObject),
356
359
  })
@@ -397,7 +400,7 @@ export interface FetchPersistFlagsData {
397
400
  <div class='footer quiet pad2 space-top1 center small'>
398
401
  Code coverage generated by
399
402
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
400
- at 2023-10-17T13:37:58.420Z
403
+ at 2024-01-23T12:19:37.435Z
401
404
  </div>
402
405
  <script src="../../prettify.js"></script>
403
406
  <script>
@@ -205,7 +205,7 @@
205
205
  <div class='footer quiet pad2 space-top1 center small'>
206
206
  Code coverage generated by
207
207
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
208
- at 2023-10-17T13:37:58.420Z
208
+ at 2024-01-23T12:19:37.435Z
209
209
  </div>
210
210
  <script src="../../prettify.js"></script>
211
211
  <script>
@@ -274,7 +274,7 @@ type FFData = [string, string, string]
274
274
  <div class='footer quiet pad2 space-top1 center small'>
275
275
  Code coverage generated by
276
276
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
277
- at 2023-10-17T13:37:58.420Z
277
+ at 2024-01-23T12:19:37.435Z
278
278
  </div>
279
279
  <script src="../../prettify.js"></script>
280
280
  <script>
@@ -179,7 +179,8 @@
179
179
  <a name='L114'></a><a href='#L114'>114</a>
180
180
  <a name='L115'></a><a href='#L115'>115</a>
181
181
  <a name='L116'></a><a href='#L116'>116</a>
182
- <a name='L117'></a><a href='#L117'>117</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
182
+ <a name='L117'></a><a href='#L117'>117</a>
183
+ <a name='L118'></a><a href='#L118'>118</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
183
184
  <span class="cline-any cline-no">&nbsp;</span>
184
185
  <span class="cline-any cline-no">&nbsp;</span>
185
186
  <span class="cline-any cline-no">&nbsp;</span>
@@ -262,8 +263,8 @@
262
263
  <span class="cline-any cline-no">&nbsp;</span>
263
264
  <span class="cline-any cline-neutral">&nbsp;</span>
264
265
  <span class="cline-any cline-neutral">&nbsp;</span>
265
- <span class="cline-any cline-neutral">&nbsp;</span>
266
266
  <span class="cline-any cline-no">&nbsp;</span>
267
+ <span class="cline-any cline-neutral">&nbsp;</span>
267
268
  <span class="cline-any cline-no">&nbsp;</span>
268
269
  <span class="cline-any cline-no">&nbsp;</span>
269
270
  <span class="cline-any cline-no">&nbsp;</span>
@@ -281,6 +282,7 @@
281
282
  <span class="cline-any cline-neutral">&nbsp;</span>
282
283
  <span class="cline-any cline-neutral">&nbsp;</span>
283
284
  <span class="cline-any cline-neutral">&nbsp;</span>
285
+ <span class="cline-any cline-neutral">&nbsp;</span>
284
286
  <span class="cline-any cline-no">&nbsp;</span>
285
287
  <span class="cline-any cline-no">&nbsp;</span>
286
288
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -296,7 +298,7 @@
296
298
  <span class="cline-any cline-neutral">&nbsp;</span>
297
299
  <span class="cline-any cline-neutral">&nbsp;</span>
298
300
  <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import type App from '../app/index.js'
299
- <span class="cstat-no" title="statement not covered" >import { isURL, IS_FIREFOX, MAX_STR_LEN } from '../utils.js'</span>
301
+ <span class="cstat-no" title="statement not covered" >import { isURL, IS_FIREFOX, MAX_STR_LEN, createMutationObserver } from '../utils.js'</span>
300
302
  <span class="cstat-no" title="statement not covered" >import { ResourceTiming, SetNodeAttributeURLBased } from '../app/messages.gen.js'</span>
301
303
  <span class="cstat-no" title="statement not covered" >import { hasTag } from '../app/guards.js'</span>
302
304
  &nbsp;
@@ -378,24 +380,25 @@ const PLACEHOLDER_SRC = <span class="cstat-no" title="statement not covered" >'h
378
380
  <span class="cstat-no" title="statement not covered" > sendSrcset(id, img)</span>
379
381
  }
380
382
  })
381
- &nbsp;
382
- const observer = <span class="cstat-no" title="statement not covered" >new MutationObserver(<span class="fstat-no" title="function not covered" >(m</span>utations) =&gt; {</span>
383
- <span class="cstat-no" title="statement not covered" > for (const mutation of mutations) {</span>
384
- <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (mutation.type === 'attributes') {</span>
385
- const target = <span class="cstat-no" title="statement not covered" >mutation.target as HTMLImageElement</span>
386
- const id = <span class="cstat-no" title="statement not covered" >app.nodes.getID(target)</span>
387
- <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (id === undefined) {</span>
388
- <span class="cstat-no" title="statement not covered" > return</span>
389
- }
390
- <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (mutation.attributeName === 'src') {</span>
391
- <span class="cstat-no" title="statement not covered" > sendSrc(id, target)</span>
392
- }
393
- <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (mutation.attributeName === 'srcset') {</span>
394
- <span class="cstat-no" title="statement not covered" > sendSrcset(id, target)</span>
383
+ const observer = <span class="cstat-no" title="statement not covered" >createMutationObserver(</span>
384
+ app.safe(<span class="fstat-no" title="function not covered" >(m</span>utations) =&gt; {
385
+ <span class="cstat-no" title="statement not covered" > for (const mutation of mutations) {</span>
386
+ <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (mutation.type === 'attributes') {</span>
387
+ const target = <span class="cstat-no" title="statement not covered" >mutation.target as HTMLImageElement</span>
388
+ const id = <span class="cstat-no" title="statement not covered" >app.nodes.getID(target)</span>
389
+ <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (id === undefined) {</span>
390
+ <span class="cstat-no" title="statement not covered" > return</span>
391
+ }
392
+ <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (mutation.attributeName === 'src') {</span>
393
+ <span class="cstat-no" title="statement not covered" > sendSrc(id, target)</span>
394
+ }
395
+ <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (mutation.attributeName === 'srcset') {</span>
396
+ <span class="cstat-no" title="statement not covered" > sendSrcset(id, target)</span>
397
+ }
395
398
  }
396
399
  }
397
- }
398
- })
400
+ }) as MutationCallback,
401
+ )
399
402
  &nbsp;
400
403
  <span class="cstat-no" title="statement not covered" > app.attachStopCallback(<span class="fstat-no" title="function not covered" >() =</span>&gt; {</span>
401
404
  <span class="cstat-no" title="statement not covered" > observer.disconnect()</span>
@@ -418,7 +421,7 @@ const PLACEHOLDER_SRC = <span class="cstat-no" title="statement not covered" >'h
418
421
  <div class='footer quiet pad2 space-top1 center small'>
419
422
  Code coverage generated by
420
423
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
421
- at 2023-10-17T13:37:58.420Z
424
+ at 2024-01-23T12:19:37.435Z
422
425
  </div>
423
426
  <script src="../../prettify.js"></script>
424
427
  <script>
@@ -23,30 +23,30 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">0% </span>
26
+ <span class="strong">2.78% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>0/1143</span>
28
+ <span class='fraction'>38/1365</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">0% </span>
33
+ <span class="strong">1.78% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>0/580</span>
35
+ <span class='fraction'>12/673</span>
36
36
  </div>
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
- <span class="strong">0% </span>
40
+ <span class="strong">4.25% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>0/215</span>
42
+ <span class='fraction'>12/282</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">0% </span>
47
+ <span class="strong">2.9% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>0/1103</span>
49
+ <span class='fraction'>38/1310</span>
50
50
  </div>
51
51
 
52
52
 
@@ -90,7 +90,7 @@
90
90
  <td data-value="0" class="pct low">0%</td>
91
91
  <td data-value="6" class="abs low">0/6</td>
92
92
  <td data-value="0" class="pct low">0%</td>
93
- <td data-value="21" class="abs low">0/21</td>
93
+ <td data-value="22" class="abs low">0/22</td>
94
94
  </tr>
95
95
 
96
96
  <tr>
@@ -108,6 +108,21 @@
108
108
  <td data-value="66" class="abs low">0/66</td>
109
109
  </tr>
110
110
 
111
+ <tr>
112
+ <td class="file low" data-value="conditionsManager.ts"><a href="conditionsManager.ts.html">conditionsManager.ts</a></td>
113
+ <td data-value="0" class="pic low">
114
+ <div class="chart"><div class="cover-fill" style="width: 0%"></div><div class="cover-empty" style="width: 100%"></div></div>
115
+ </td>
116
+ <td data-value="0" class="pct low">0%</td>
117
+ <td data-value="172" class="abs low">0/172</td>
118
+ <td data-value="0" class="pct low">0%</td>
119
+ <td data-value="67" class="abs low">0/67</td>
120
+ <td data-value="0" class="pct low">0%</td>
121
+ <td data-value="53" class="abs low">0/53</td>
122
+ <td data-value="0" class="pct low">0%</td>
123
+ <td data-value="156" class="abs low">0/156</td>
124
+ </tr>
125
+
111
126
  <tr>
112
127
  <td class="file low" data-value="connection.ts"><a href="connection.ts.html">connection.ts</a></td>
113
128
  <td data-value="0" class="pic low">
@@ -144,13 +159,13 @@
144
159
  <div class="chart"><div class="cover-fill" style="width: 0%"></div><div class="cover-empty" style="width: 100%"></div></div>
145
160
  </td>
146
161
  <td data-value="0" class="pct low">0%</td>
147
- <td data-value="78" class="abs low">0/78</td>
162
+ <td data-value="80" class="abs low">0/80</td>
148
163
  <td data-value="0" class="pct low">0%</td>
149
- <td data-value="17" class="abs low">0/17</td>
164
+ <td data-value="19" class="abs low">0/19</td>
150
165
  <td data-value="0" class="pct low">0%</td>
151
166
  <td data-value="14" class="abs low">0/14</td>
152
167
  <td data-value="0" class="pct low">0%</td>
153
- <td data-value="77" class="abs low">0/77</td>
168
+ <td data-value="79" class="abs low">0/79</td>
154
169
  </tr>
155
170
 
156
171
  <tr>
@@ -189,13 +204,13 @@
189
204
  <div class="chart"><div class="cover-fill" style="width: 0%"></div><div class="cover-empty" style="width: 100%"></div></div>
190
205
  </td>
191
206
  <td data-value="0" class="pct low">0%</td>
192
- <td data-value="49" class="abs low">0/49</td>
207
+ <td data-value="50" class="abs low">0/50</td>
193
208
  <td data-value="0" class="pct low">0%</td>
194
- <td data-value="9" class="abs low">0/9</td>
209
+ <td data-value="13" class="abs low">0/13</td>
195
210
  <td data-value="0" class="pct low">0%</td>
196
211
  <td data-value="17" class="abs low">0/17</td>
197
212
  <td data-value="0" class="pct low">0%</td>
198
- <td data-value="41" class="abs low">0/41</td>
213
+ <td data-value="42" class="abs low">0/42</td>
199
214
  </tr>
200
215
 
201
216
  <tr>
@@ -348,19 +363,34 @@
348
363
  <td data-value="6" class="abs low">0/6</td>
349
364
  </tr>
350
365
 
366
+ <tr>
367
+ <td class="file high" data-value="tagWatcher.ts"><a href="tagWatcher.ts.html">tagWatcher.ts</a></td>
368
+ <td data-value="95" class="pic high">
369
+ <div class="chart"><div class="cover-fill" style="width: 95%"></div><div class="cover-empty" style="width: 5%"></div></div>
370
+ </td>
371
+ <td data-value="95" class="pct high">95%</td>
372
+ <td data-value="40" class="abs high">38/40</td>
373
+ <td data-value="85.71" class="pct high">85.71%</td>
374
+ <td data-value="14" class="abs high">12/14</td>
375
+ <td data-value="92.3" class="pct high">92.3%</td>
376
+ <td data-value="13" class="abs high">12/13</td>
377
+ <td data-value="95" class="pct high">95%</td>
378
+ <td data-value="40" class="abs high">38/40</td>
379
+ </tr>
380
+
351
381
  <tr>
352
382
  <td class="file low" data-value="timing.ts"><a href="timing.ts.html">timing.ts</a></td>
353
383
  <td data-value="0" class="pic low">
354
384
  <div class="chart"><div class="cover-fill" style="width: 0%"></div><div class="cover-empty" style="width: 100%"></div></div>
355
385
  </td>
356
386
  <td data-value="0" class="pct low">0%</td>
357
- <td data-value="110" class="abs low">0/110</td>
387
+ <td data-value="117" class="abs low">0/117</td>
358
388
  <td data-value="0" class="pct low">0%</td>
359
- <td data-value="105" class="abs low">0/105</td>
389
+ <td data-value="111" class="abs low">0/111</td>
360
390
  <td data-value="0" class="pct low">0%</td>
361
- <td data-value="11" class="abs low">0/11</td>
391
+ <td data-value="12" class="abs low">0/12</td>
362
392
  <td data-value="0" class="pct low">0%</td>
363
- <td data-value="103" class="abs low">0/103</td>
393
+ <td data-value="110" class="abs low">0/110</td>
364
394
  </tr>
365
395
 
366
396
  <tr>
@@ -386,7 +416,7 @@
386
416
  <div class='footer quiet pad2 space-top1 center small'>
387
417
  Code coverage generated by
388
418
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
389
- at 2023-10-17T13:37:58.420Z
419
+ at 2024-01-23T12:19:37.435Z
390
420
  </div>
391
421
  <script src="../../prettify.js"></script>
392
422
  <script>
@@ -811,7 +811,7 @@ export interface Options {
811
811
  <div class='footer quiet pad2 space-top1 center small'>
812
812
  Code coverage generated by
813
813
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
814
- at 2023-10-17T13:37:58.420Z
814
+ at 2024-01-23T12:19:37.435Z
815
815
  </div>
816
816
  <script src="../../prettify.js"></script>
817
817
  <script>
@@ -811,7 +811,7 @@ export interface MouseHandlerOptions {
811
811
  <div class='footer quiet pad2 space-top1 center small'>
812
812
  Code coverage generated by
813
813
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
814
- at 2023-10-17T13:37:58.420Z
814
+ at 2024-01-23T12:19:37.435Z
815
815
  </div>
816
816
  <script src="../../prettify.js"></script>
817
817
  <script>
@@ -820,12 +820,12 @@ export interface Options {
820
820
  const options: Options = <span class="cstat-no" title="statement not covered" >Object.assign(</span>
821
821
  {
822
822
  failuresOnly: false,
823
- ignoreHeaders: ['Cookie', 'Set-Cookie', 'Authorization'],
823
+ ignoreHeaders: ['cookie', 'set-cookie', 'authorization'],
824
824
  capturePayload: false,
825
825
  sessionTokenHeader: false,
826
826
  captureInIframes: true,
827
827
  axiosInstances: undefined,
828
- useProxy: false,
828
+ useProxy: true,
829
829
  },
830
830
  opts,
831
831
  )
@@ -1108,7 +1108,7 @@ export interface Options {
1108
1108
  <div class='footer quiet pad2 space-top1 center small'>
1109
1109
  Code coverage generated by
1110
1110
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
1111
- at 2023-10-17T13:37:58.420Z
1111
+ at 2024-01-23T12:19:37.435Z
1112
1112
  </div>
1113
1113
  <script src="../../prettify.js"></script>
1114
1114
  <script>
@@ -352,7 +352,7 @@ export interface Options {
352
352
  <div class='footer quiet pad2 space-top1 center small'>
353
353
  Code coverage generated by
354
354
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
355
- at 2023-10-17T13:37:58.420Z
355
+ at 2024-01-23T12:19:37.435Z
356
356
  </div>
357
357
  <script src="../../prettify.js"></script>
358
358
  <script>