@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
@@ -25,28 +25,28 @@
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/51</span>
28
+ <span class='fraction'>0/81</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/24</span>
35
+ <span class='fraction'>0/30</span>
36
36
  </div>
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
40
  <span class="strong">0% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>0/14</span>
42
+ <span class='fraction'>0/22</span>
43
43
  </div>
44
44
 
45
45
 
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/51</span>
49
+ <span class='fraction'>0/81</span>
50
50
  </div>
51
51
 
52
52
 
@@ -170,7 +170,93 @@
170
170
  <a name='L105'></a><a href='#L105'>105</a>
171
171
  <a name='L106'></a><a href='#L106'>106</a>
172
172
  <a name='L107'></a><a href='#L107'>107</a>
173
- <a name='L108'></a><a href='#L108'>108</a></td><td class="line-coverage quiet"><span class="cline-any cline-no">&nbsp;</span>
173
+ <a name='L108'></a><a href='#L108'>108</a>
174
+ <a name='L109'></a><a href='#L109'>109</a>
175
+ <a name='L110'></a><a href='#L110'>110</a>
176
+ <a name='L111'></a><a href='#L111'>111</a>
177
+ <a name='L112'></a><a href='#L112'>112</a>
178
+ <a name='L113'></a><a href='#L113'>113</a>
179
+ <a name='L114'></a><a href='#L114'>114</a>
180
+ <a name='L115'></a><a href='#L115'>115</a>
181
+ <a name='L116'></a><a href='#L116'>116</a>
182
+ <a name='L117'></a><a href='#L117'>117</a>
183
+ <a name='L118'></a><a href='#L118'>118</a>
184
+ <a name='L119'></a><a href='#L119'>119</a>
185
+ <a name='L120'></a><a href='#L120'>120</a>
186
+ <a name='L121'></a><a href='#L121'>121</a>
187
+ <a name='L122'></a><a href='#L122'>122</a>
188
+ <a name='L123'></a><a href='#L123'>123</a>
189
+ <a name='L124'></a><a href='#L124'>124</a>
190
+ <a name='L125'></a><a href='#L125'>125</a>
191
+ <a name='L126'></a><a href='#L126'>126</a>
192
+ <a name='L127'></a><a href='#L127'>127</a>
193
+ <a name='L128'></a><a href='#L128'>128</a>
194
+ <a name='L129'></a><a href='#L129'>129</a>
195
+ <a name='L130'></a><a href='#L130'>130</a>
196
+ <a name='L131'></a><a href='#L131'>131</a>
197
+ <a name='L132'></a><a href='#L132'>132</a>
198
+ <a name='L133'></a><a href='#L133'>133</a>
199
+ <a name='L134'></a><a href='#L134'>134</a>
200
+ <a name='L135'></a><a href='#L135'>135</a>
201
+ <a name='L136'></a><a href='#L136'>136</a>
202
+ <a name='L137'></a><a href='#L137'>137</a>
203
+ <a name='L138'></a><a href='#L138'>138</a>
204
+ <a name='L139'></a><a href='#L139'>139</a>
205
+ <a name='L140'></a><a href='#L140'>140</a>
206
+ <a name='L141'></a><a href='#L141'>141</a>
207
+ <a name='L142'></a><a href='#L142'>142</a>
208
+ <a name='L143'></a><a href='#L143'>143</a>
209
+ <a name='L144'></a><a href='#L144'>144</a>
210
+ <a name='L145'></a><a href='#L145'>145</a>
211
+ <a name='L146'></a><a href='#L146'>146</a>
212
+ <a name='L147'></a><a href='#L147'>147</a>
213
+ <a name='L148'></a><a href='#L148'>148</a>
214
+ <a name='L149'></a><a href='#L149'>149</a>
215
+ <a name='L150'></a><a href='#L150'>150</a>
216
+ <a name='L151'></a><a href='#L151'>151</a>
217
+ <a name='L152'></a><a href='#L152'>152</a>
218
+ <a name='L153'></a><a href='#L153'>153</a>
219
+ <a name='L154'></a><a href='#L154'>154</a>
220
+ <a name='L155'></a><a href='#L155'>155</a>
221
+ <a name='L156'></a><a href='#L156'>156</a>
222
+ <a name='L157'></a><a href='#L157'>157</a>
223
+ <a name='L158'></a><a href='#L158'>158</a>
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>
229
+ <a name='L164'></a><a href='#L164'>164</a>
230
+ <a name='L165'></a><a href='#L165'>165</a>
231
+ <a name='L166'></a><a href='#L166'>166</a>
232
+ <a name='L167'></a><a href='#L167'>167</a>
233
+ <a name='L168'></a><a href='#L168'>168</a>
234
+ <a name='L169'></a><a href='#L169'>169</a>
235
+ <a name='L170'></a><a href='#L170'>170</a>
236
+ <a name='L171'></a><a href='#L171'>171</a>
237
+ <a name='L172'></a><a href='#L172'>172</a>
238
+ <a name='L173'></a><a href='#L173'>173</a>
239
+ <a name='L174'></a><a href='#L174'>174</a>
240
+ <a name='L175'></a><a href='#L175'>175</a>
241
+ <a name='L176'></a><a href='#L176'>176</a>
242
+ <a name='L177'></a><a href='#L177'>177</a>
243
+ <a name='L178'></a><a href='#L178'>178</a>
244
+ <a name='L179'></a><a href='#L179'>179</a>
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>
174
260
  <span class="cline-any cline-neutral">&nbsp;</span>
175
261
  <span class="cline-any cline-no">&nbsp;</span>
176
262
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -277,6 +363,92 @@
277
363
  <span class="cline-any cline-no">&nbsp;</span>
278
364
  <span class="cline-any cline-no">&nbsp;</span>
279
365
  <span class="cline-any cline-neutral">&nbsp;</span>
366
+ <span class="cline-any cline-neutral">&nbsp;</span>
367
+ <span class="cline-any cline-no">&nbsp;</span>
368
+ <span class="cline-any cline-no">&nbsp;</span>
369
+ <span class="cline-any cline-no">&nbsp;</span>
370
+ <span class="cline-any cline-neutral">&nbsp;</span>
371
+ <span class="cline-any cline-no">&nbsp;</span>
372
+ <span class="cline-any cline-neutral">&nbsp;</span>
373
+ <span class="cline-any cline-neutral">&nbsp;</span>
374
+ <span class="cline-any cline-neutral">&nbsp;</span>
375
+ <span class="cline-any cline-neutral">&nbsp;</span>
376
+ <span class="cline-any cline-neutral">&nbsp;</span>
377
+ <span class="cline-any cline-neutral">&nbsp;</span>
378
+ <span class="cline-any cline-neutral">&nbsp;</span>
379
+ <span class="cline-any cline-no">&nbsp;</span>
380
+ <span class="cline-any cline-neutral">&nbsp;</span>
381
+ <span class="cline-any cline-no">&nbsp;</span>
382
+ <span class="cline-any cline-neutral">&nbsp;</span>
383
+ <span class="cline-any cline-neutral">&nbsp;</span>
384
+ <span class="cline-any cline-neutral">&nbsp;</span>
385
+ <span class="cline-any cline-neutral">&nbsp;</span>
386
+ <span class="cline-any cline-neutral">&nbsp;</span>
387
+ <span class="cline-any cline-no">&nbsp;</span>
388
+ <span class="cline-any cline-no">&nbsp;</span>
389
+ <span class="cline-any cline-no">&nbsp;</span>
390
+ <span class="cline-any cline-neutral">&nbsp;</span>
391
+ <span class="cline-any cline-neutral">&nbsp;</span>
392
+ <span class="cline-any cline-no">&nbsp;</span>
393
+ <span class="cline-any cline-neutral">&nbsp;</span>
394
+ <span class="cline-any cline-neutral">&nbsp;</span>
395
+ <span class="cline-any cline-neutral">&nbsp;</span>
396
+ <span class="cline-any cline-neutral">&nbsp;</span>
397
+ <span class="cline-any cline-neutral">&nbsp;</span>
398
+ <span class="cline-any cline-no">&nbsp;</span>
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>
405
+ <span class="cline-any cline-neutral">&nbsp;</span>
406
+ <span class="cline-any cline-neutral">&nbsp;</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>
410
+ <span class="cline-any cline-neutral">&nbsp;</span>
411
+ <span class="cline-any cline-neutral">&nbsp;</span>
412
+ <span class="cline-any cline-neutral">&nbsp;</span>
413
+ <span class="cline-any cline-neutral">&nbsp;</span>
414
+ <span class="cline-any cline-neutral">&nbsp;</span>
415
+ <span class="cline-any cline-no">&nbsp;</span>
416
+ <span class="cline-any cline-neutral">&nbsp;</span>
417
+ <span class="cline-any cline-neutral">&nbsp;</span>
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>
422
+ <span class="cline-any cline-neutral">&nbsp;</span>
423
+ <span class="cline-any cline-neutral">&nbsp;</span>
424
+ <span class="cline-any cline-neutral">&nbsp;</span>
425
+ <span class="cline-any cline-neutral">&nbsp;</span>
426
+ <span class="cline-any cline-neutral">&nbsp;</span>
427
+ <span class="cline-any cline-neutral">&nbsp;</span>
428
+ <span class="cline-any cline-neutral">&nbsp;</span>
429
+ <span class="cline-any cline-neutral">&nbsp;</span>
430
+ <span class="cline-any cline-neutral">&nbsp;</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>
436
+ <span class="cline-any cline-no">&nbsp;</span>
437
+ <span class="cline-any cline-no">&nbsp;</span>
438
+ <span class="cline-any cline-no">&nbsp;</span>
439
+ <span class="cline-any cline-neutral">&nbsp;</span>
440
+ <span class="cline-any cline-no">&nbsp;</span>
441
+ <span class="cline-any cline-no">&nbsp;</span>
442
+ <span class="cline-any cline-no">&nbsp;</span>
443
+ <span class="cline-any cline-neutral">&nbsp;</span>
444
+ <span class="cline-any cline-no">&nbsp;</span>
445
+ <span class="cline-any cline-no">&nbsp;</span>
446
+ <span class="cline-any cline-neutral">&nbsp;</span>
447
+ <span class="cline-any cline-no">&nbsp;</span>
448
+ <span class="cline-any cline-no">&nbsp;</span>
449
+ <span class="cline-any cline-neutral">&nbsp;</span>
450
+ <span class="cline-any cline-neutral">&nbsp;</span>
451
+ <span class="cline-any cline-neutral">&nbsp;</span>
280
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>
281
453
  &nbsp;
282
454
  export const <span class="cstat-no" title="statement not covered" >IN_BROWSER = !(typeof window === 'undefined')</span>
@@ -384,6 +556,92 @@ function <span class="fstat-no" title="function not covered" >dec2hex(</span>dec
384
556
  <span class="cstat-no" title="statement not covered" > safeCrypto.getRandomValues(arr)</span>
385
557
  <span class="cstat-no" title="statement not covered" > return Array.from(arr, dec2hex).join('')</span>
386
558
  }
559
+ &nbsp;
560
+ <span class="cstat-no" title="statement not covered" >export function <span class="fstat-no" title="function not covered" >i</span>nIframe(</span>) {
561
+ <span class="cstat-no" title="statement not covered" > try {</span>
562
+ <span class="cstat-no" title="statement not covered" > return window.self !== window.top</span>
563
+ } catch (e) {
564
+ <span class="cstat-no" title="statement not covered" > return true</span>
565
+ }
566
+ }
567
+ &nbsp;
568
+ /**
569
+ * Because angular devs decided that its a good idea to override a browser apis
570
+ * we need to use this to achieve safe behavior
571
+ * */
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 {
573
+ // @ts-ignore
574
+ <span class="cstat-no" title="statement not covered" > return window.Zone &amp;&amp; '__symbol__' in window.Zone</span>
575
+ ? // @ts-ignore
576
+ window['Zone']['__symbol__'](method)
577
+ : method
578
+ }
579
+ &nbsp;
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) {
581
+ const mObserver = <span class="cstat-no" title="statement not covered" >ngSafeBrowserMethod('MutationObserver') as 'MutationObserver'</span>
582
+ <span class="cstat-no" title="statement not covered" > return new window[mObserver](cb)</span>
583
+ }
584
+ &nbsp;
585
+ <span class="cstat-no" title="statement not covered" >export function <span class="fstat-no" title="function not covered" >c</span>reateEventListener(</span>
586
+ target: EventTarget,
587
+ event: string,
588
+ cb: EventListenerOrEventListenerObject,
589
+ capture?: boolean,
590
+ ) {
591
+ const safeAddEventListener = <span class="cstat-no" title="statement not covered" >ngSafeBrowserMethod('addEventListener') as 'addEventListener'</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
+ }
600
+ }
601
+ &nbsp;
602
+ <span class="cstat-no" title="statement not covered" >export function <span class="fstat-no" title="function not covered" >d</span>eleteEventListener(</span>
603
+ target: EventTarget,
604
+ event: string,
605
+ cb: EventListenerOrEventListenerObject,
606
+ capture?: boolean,
607
+ ) {
608
+ const safeRemoveEventListener = <span class="cstat-no" title="statement not covered" >ngSafeBrowserMethod(</span>
609
+ 'removeEventListener',
610
+ ) as 'removeEventListener'
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
+ }
619
+ }
620
+ &nbsp;
621
+ /**
622
+ * This is a brief polyfill that suits our needs
623
+ * I took inspiration from Microsoft Clarity polyfill on this one
624
+ * then adapted it a little bit
625
+ *
626
+ * I'm very grateful for their bright idea
627
+ * */
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) {
629
+ const taskTimeout = <span class="cstat-no" title="statement not covered" >3000</span>
630
+ <span class="cstat-no" title="statement not covered" > if (window.requestIdleCallback) {</span>
631
+ <span class="cstat-no" title="statement not covered" > return window.requestIdleCallback(callback, { timeout: taskTimeout })</span>
632
+ } else {
633
+ const channel = <span class="cstat-no" title="statement not covered" >new MessageChannel()</span>
634
+ const incoming = <span class="cstat-no" title="statement not covered" >channel.port1</span>
635
+ const outgoing = <span class="cstat-no" title="statement not covered" >channel.port2</span>
636
+ &nbsp;
637
+ <span class="cstat-no" title="statement not covered" > incoming.onmessage = <span class="fstat-no" title="function not covered" >(): void =</span>&gt; {</span>
638
+ <span class="cstat-no" title="statement not covered" > callback()</span>
639
+ }
640
+ <span class="cstat-no" title="statement not covered" > requestAnimationFrame(<span class="fstat-no" title="function not covered" >(): void =</span>&gt; {</span>
641
+ <span class="cstat-no" title="statement not covered" > outgoing.postMessage(1)</span>
642
+ })
643
+ }
644
+ }
387
645
  &nbsp;</pre></td></tr></table></pre>
388
646
 
389
647
  <div class='push'></div><!-- for sticky footer -->
@@ -391,7 +649,7 @@ function <span class="fstat-no" title="function not covered" >dec2hex(</span>dec
391
649
  <div class='footer quiet pad2 space-top1 center small'>
392
650
  Code coverage generated by
393
651
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
394
- at 2023-10-17T13:37:58.420Z
652
+ at 2024-01-23T12:19:37.435Z
395
653
  </div>
396
654
  <script src="../prettify.js"></script>
397
655
  <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/69</span>
28
+ <span class='fraction'>0/73</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/15</span>
35
+ <span class='fraction'>0/16</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/68</span>
49
+ <span class='fraction'>0/72</span>
50
50
  </div>
51
51
 
52
52
 
@@ -195,7 +195,13 @@
195
195
  <a name='L130'></a><a href='#L130'>130</a>
196
196
  <a name='L131'></a><a href='#L131'>131</a>
197
197
  <a name='L132'></a><a href='#L132'>132</a>
198
- <a name='L133'></a><a href='#L133'>133</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
198
+ <a name='L133'></a><a href='#L133'>133</a>
199
+ <a name='L134'></a><a href='#L134'>134</a>
200
+ <a name='L135'></a><a href='#L135'>135</a>
201
+ <a name='L136'></a><a href='#L136'>136</a>
202
+ <a name='L137'></a><a href='#L137'>137</a>
203
+ <a name='L138'></a><a href='#L138'>138</a>
204
+ <a name='L139'></a><a href='#L139'>139</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
199
205
  <span class="cline-any cline-neutral">&nbsp;</span>
200
206
  <span class="cline-any cline-no">&nbsp;</span>
201
207
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -215,6 +221,7 @@
215
221
  <span class="cline-any cline-no">&nbsp;</span>
216
222
  <span class="cline-any cline-no">&nbsp;</span>
217
223
  <span class="cline-any cline-no">&nbsp;</span>
224
+ <span class="cline-any cline-no">&nbsp;</span>
218
225
  <span class="cline-any cline-neutral">&nbsp;</span>
219
226
  <span class="cline-any cline-no">&nbsp;</span>
220
227
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -287,6 +294,11 @@
287
294
  <span class="cline-any cline-neutral">&nbsp;</span>
288
295
  <span class="cline-any cline-neutral">&nbsp;</span>
289
296
  <span class="cline-any cline-neutral">&nbsp;</span>
297
+ <span class="cline-any cline-neutral">&nbsp;</span>
298
+ <span class="cline-any cline-no">&nbsp;</span>
299
+ <span class="cline-any cline-no">&nbsp;</span>
300
+ <span class="cline-any cline-no">&nbsp;</span>
301
+ <span class="cline-any cline-neutral">&nbsp;</span>
290
302
  <span class="cline-any cline-no">&nbsp;</span>
291
303
  <span class="cline-any cline-no">&nbsp;</span>
292
304
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -347,6 +359,7 @@ const MAX_M_SIZE = <span class="cstat-no" title="statement not covered" >(1 &lt;
347
359
  private <span class="cstat-no" title="statement not covered" >url: string,</span>
348
360
  private readonly <span class="cstat-no" title="statement not covered" >onBatch: (batch: Uint8Array) =&gt; void,</span>
349
361
  private <span class="cstat-no" title="statement not covered" >tabId: string,</span>
362
+ private readonly <span class="cstat-no" title="statement not covered" >onOfflineEnd: () =&gt; void,</span>
350
363
  ) {
351
364
  <span class="cstat-no" title="statement not covered" > this.prepare()</span>
352
365
  }
@@ -419,6 +432,11 @@ const MAX_M_SIZE = <span class="cstat-no" title="statement not covered" >(1 &lt;
419
432
  }
420
433
  &nbsp;
421
434
  <span class="fstat-no" title="function not covered" > writeMessage(</span>message: Message) {
435
+ // @ts-ignore
436
+ <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (message[0] === 'q_end') {</span>
437
+ <span class="cstat-no" title="statement not covered" > this.finaliseBatch()</span>
438
+ <span class="cstat-no" title="statement not covered" > return this.onOfflineEnd()</span>
439
+ }
422
440
  <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (message[0] === Messages.Type.Timestamp) {</span>
423
441
  <span class="cstat-no" title="statement not covered" > this.timestamp = message[1] /</span>/ .timestamp
424
442
  }
@@ -466,7 +484,7 @@ const MAX_M_SIZE = <span class="cstat-no" title="statement not covered" >(1 &lt;
466
484
  <div class='footer quiet pad2 space-top1 center small'>
467
485
  Code coverage generated by
468
486
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
469
- at 2023-10-17T13:37:58.420Z
487
+ at 2024-01-23T12:19:37.435Z
470
488
  </div>
471
489
  <script src="../prettify.js"></script>
472
490
  <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/147</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/280</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/147</span>
50
50
  </div>
51
51
 
52
52
 
@@ -355,7 +355,19 @@
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>
363
+ <a name='L298'></a><a href='#L298'>298</a>
364
+ <a name='L299'></a><a href='#L299'>299</a>
365
+ <a name='L300'></a><a href='#L300'>300</a>
366
+ <a name='L301'></a><a href='#L301'>301</a>
367
+ <a name='L302'></a><a href='#L302'>302</a>
368
+ <a name='L303'></a><a href='#L303'>303</a>
369
+ <a name='L304'></a><a href='#L304'>304</a>
370
+ <a name='L305'></a><a href='#L305'>305</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
359
371
  <span class="cline-any cline-neutral">&nbsp;</span>
360
372
  <span class="cline-any cline-neutral">&nbsp;</span>
361
373
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -644,6 +656,18 @@
644
656
  <span class="cline-any cline-no">&nbsp;</span>
645
657
  <span class="cline-any cline-neutral">&nbsp;</span>
646
658
  <span class="cline-any cline-neutral">&nbsp;</span>
659
+ <span class="cline-any cline-no">&nbsp;</span>
660
+ <span class="cline-any cline-no">&nbsp;</span>
661
+ <span class="cline-any cline-neutral">&nbsp;</span>
662
+ <span class="cline-any cline-neutral">&nbsp;</span>
663
+ <span class="cline-any cline-no">&nbsp;</span>
664
+ <span class="cline-any cline-no">&nbsp;</span>
665
+ <span class="cline-any cline-neutral">&nbsp;</span>
666
+ <span class="cline-any cline-neutral">&nbsp;</span>
667
+ <span class="cline-any cline-no">&nbsp;</span>
668
+ <span class="cline-any cline-no">&nbsp;</span>
669
+ <span class="cline-any cline-neutral">&nbsp;</span>
670
+ <span class="cline-any cline-neutral">&nbsp;</span>
647
671
  <span class="cline-any cline-neutral">&nbsp;</span>
648
672
  <span class="cline-any cline-neutral">&nbsp;</span>
649
673
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -906,6 +930,10 @@ import Message from '../common/messages.gen.js'
906
930
  case Messages.Type.NetworkRequest:
907
931
  <span class="cstat-no" title="statement not covered" > return this.string(msg[1]) &amp;&amp; this.string(msg[2]) &amp;&amp; this.string(msg[3]) &amp;&amp; this.string(msg[4]) &amp;&amp; this.string(msg[5]) &amp;&amp; this.uint(msg[6]) &amp;&amp; this.uint(msg[7]) &amp;&amp; this.uint(msg[8]) &amp;&amp; this.uint(msg[9])</span>
908
932
  <span class="cstat-no" title="statement not covered" > break</span>
933
+ &nbsp;
934
+ case Messages.Type.WSChannel:
935
+ <span class="cstat-no" title="statement not covered" > return this.string(msg[1]) &amp;&amp; this.string(msg[2]) &amp;&amp; this.string(msg[3]) &amp;&amp; this.uint(msg[4]) &amp;&amp; this.string(msg[5]) &amp;&amp; this.string(msg[6])</span>
936
+ <span class="cstat-no" title="statement not covered" > break</span>
909
937
  &nbsp;
910
938
  case Messages.Type.InputChange:
911
939
  <span class="cstat-no" title="statement not covered" > return this.uint(msg[1]) &amp;&amp; this.string(msg[2]) &amp;&amp; this.boolean(msg[3]) &amp;&amp; this.string(msg[4]) &amp;&amp; this.int(msg[5]) &amp;&amp; this.int(msg[6])</span>
@@ -934,6 +962,14 @@ import Message from '../common/messages.gen.js'
934
962
  case Messages.Type.TabData:
935
963
  <span class="cstat-no" title="statement not covered" > return this.string(msg[1])</span>
936
964
  <span class="cstat-no" title="statement not covered" > break</span>
965
+ &nbsp;
966
+ case Messages.Type.CanvasNode:
967
+ <span class="cstat-no" title="statement not covered" > return this.string(msg[1]) &amp;&amp; this.uint(msg[2])</span>
968
+ <span class="cstat-no" title="statement not covered" > break</span>
969
+ &nbsp;
970
+ case Messages.Type.TagTrigger:
971
+ <span class="cstat-no" title="statement not covered" > return this.int(msg[1])</span>
972
+ <span class="cstat-no" title="statement not covered" > break</span>
937
973
  &nbsp;
938
974
  }
939
975
  }
@@ -946,7 +982,7 @@ import Message from '../common/messages.gen.js'
946
982
  <div class='footer quiet pad2 space-top1 center small'>
947
983
  Code coverage generated by
948
984
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
949
- at 2023-10-17T13:37:58.420Z
985
+ at 2024-01-23T12:19:37.435Z
950
986
  </div>
951
987
  <script src="../prettify.js"></script>
952
988
  <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-10-17T13:37:58.420Z
424
+ at 2024-01-23T12:19:37.435Z
425
425
  </div>
426
426
  <script src="../prettify.js"></script>
427
427
  <script>
@@ -25,28 +25,28 @@
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/64</span>
28
+ <span class='fraction'>0/65</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/25</span>
35
+ <span class='fraction'>0/27</span>
36
36
  </div>
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
40
  <span class="strong">0% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>0/14</span>
42
+ <span class='fraction'>0/15</span>
43
43
  </div>
44
44
 
45
45
 
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/63</span>
49
+ <span class='fraction'>0/64</span>
50
50
  </div>
51
51
 
52
52
 
@@ -203,7 +203,11 @@
203
203
  <a name='L138'></a><a href='#L138'>138</a>
204
204
  <a name='L139'></a><a href='#L139'>139</a>
205
205
  <a name='L140'></a><a href='#L140'>140</a>
206
- <a name='L141'></a><a href='#L141'>141</a></td><td class="line-coverage quiet"><span class="cline-any cline-no">&nbsp;</span>
206
+ <a name='L141'></a><a href='#L141'>141</a>
207
+ <a name='L142'></a><a href='#L142'>142</a>
208
+ <a name='L143'></a><a href='#L143'>143</a>
209
+ <a name='L144'></a><a href='#L144'>144</a>
210
+ <a name='L145'></a><a href='#L145'>145</a></td><td class="line-coverage quiet"><span class="cline-any cline-no">&nbsp;</span>
207
211
  <span class="cline-any cline-no">&nbsp;</span>
208
212
  <span class="cline-any cline-neutral">&nbsp;</span>
209
213
  <span class="cline-any cline-no">&nbsp;</span>
@@ -234,6 +238,10 @@
234
238
  <span class="cline-any cline-neutral">&nbsp;</span>
235
239
  <span class="cline-any cline-neutral">&nbsp;</span>
236
240
  <span class="cline-any cline-no">&nbsp;</span>
241
+ <span class="cline-any cline-neutral">&nbsp;</span>
242
+ <span class="cline-any cline-neutral">&nbsp;</span>
243
+ <span class="cline-any cline-neutral">&nbsp;</span>
244
+ <span class="cline-any cline-no">&nbsp;</span>
237
245
  <span class="cline-any cline-no">&nbsp;</span>
238
246
  <span class="cline-any cline-neutral">&nbsp;</span>
239
247
  <span class="cline-any cline-no">&nbsp;</span>
@@ -371,6 +379,10 @@ const KEEPALIVE_SIZE_LIMIT = <span class="cstat-no" title="statement not covered
371
379
  <span class="cstat-no" title="statement not covered" > this.isCompressing = false</span>
372
380
  }
373
381
  }
382
+ &nbsp;
383
+ public <span class="fstat-no" title="function not covered" >getQueueStatus(</span>) {
384
+ <span class="cstat-no" title="statement not covered" > return this.queue.length === 0 &amp;&amp; !this.busy</span>
385
+ }
374
386
  &nbsp;
375
387
  <span class="fstat-no" title="function not covered" > authorise(</span>token: string): void {
376
388
  <span class="cstat-no" title="statement not covered" > this.token = token</span>
@@ -490,7 +502,7 @@ const KEEPALIVE_SIZE_LIMIT = <span class="cstat-no" title="statement not covered
490
502
  <div class='footer quiet pad2 space-top1 center small'>
491
503
  Code coverage generated by
492
504
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
493
- at 2023-10-17T13:37:58.420Z
505
+ at 2024-01-23T12:19:37.435Z
494
506
  </div>
495
507
  <script src="../prettify.js"></script>
496
508
  <script>