@openreplay/tracker 11.0.0 → 11.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (89) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/cjs/app/index.d.ts +3 -0
  3. package/cjs/app/index.js +27 -4
  4. package/cjs/index.d.ts +1 -0
  5. package/cjs/index.js +7 -1
  6. package/cjs/modules/userTesting/SignalManager.d.ts +29 -0
  7. package/cjs/modules/userTesting/SignalManager.js +83 -0
  8. package/cjs/modules/userTesting/index.d.ts +5 -5
  9. package/cjs/modules/userTesting/index.js +156 -189
  10. package/cjs/modules/userTesting/styles.d.ts +28 -11
  11. package/cjs/modules/userTesting/styles.js +51 -29
  12. package/cjs/modules/userTesting/utils.d.ts +9 -0
  13. package/cjs/modules/userTesting/utils.js +87 -0
  14. package/coverage/clover.xml +851 -351
  15. package/coverage/coverage-final.json +10 -4
  16. package/coverage/lcov-report/index.html +38 -23
  17. package/coverage/lcov-report/main/app/canvas.ts.html +1 -1
  18. package/coverage/lcov-report/main/app/guards.ts.html +42 -42
  19. package/coverage/lcov-report/main/app/index.html +24 -24
  20. package/coverage/lcov-report/main/app/index.ts.html +196 -28
  21. package/coverage/lcov-report/main/app/logger.ts.html +1 -1
  22. package/coverage/lcov-report/main/app/messages.gen.ts.html +1 -1
  23. package/coverage/lcov-report/main/app/nodes.ts.html +1 -1
  24. package/coverage/lcov-report/main/app/observer/iframe_observer.ts.html +1 -1
  25. package/coverage/lcov-report/main/app/observer/iframe_offsets.ts.html +1 -1
  26. package/coverage/lcov-report/main/app/observer/index.html +1 -1
  27. package/coverage/lcov-report/main/app/observer/shadow_root_observer.ts.html +1 -1
  28. package/coverage/lcov-report/main/app/observer/top_observer.ts.html +1 -1
  29. package/coverage/lcov-report/main/app/sanitizer.ts.html +1 -1
  30. package/coverage/lcov-report/main/app/session.ts.html +1 -1
  31. package/coverage/lcov-report/main/app/ticker.ts.html +1 -1
  32. package/coverage/lcov-report/main/index.html +11 -11
  33. package/coverage/lcov-report/main/index.ts.html +33 -6
  34. package/coverage/lcov-report/main/modules/Network/beaconProxy.ts.html +1 -1
  35. package/coverage/lcov-report/main/modules/Network/fetchProxy.ts.html +1 -1
  36. package/coverage/lcov-report/main/modules/Network/index.html +1 -1
  37. package/coverage/lcov-report/main/modules/Network/index.ts.html +1 -1
  38. package/coverage/lcov-report/main/modules/Network/networkMessage.ts.html +1 -1
  39. package/coverage/lcov-report/main/modules/Network/utils.ts.html +1 -1
  40. package/coverage/lcov-report/main/modules/Network/xhrProxy.ts.html +1 -1
  41. package/coverage/lcov-report/main/modules/attributeSender.ts.html +1 -1
  42. package/coverage/lcov-report/main/modules/axiosSpy.ts.html +1 -1
  43. package/coverage/lcov-report/main/modules/connection.ts.html +1 -1
  44. package/coverage/lcov-report/main/modules/console.ts.html +1 -1
  45. package/coverage/lcov-report/main/modules/constructedStyleSheets.ts.html +1 -1
  46. package/coverage/lcov-report/main/modules/cssrules.ts.html +1 -1
  47. package/coverage/lcov-report/main/modules/exception.ts.html +1 -1
  48. package/coverage/lcov-report/main/modules/featureFlags.ts.html +1 -1
  49. package/coverage/lcov-report/main/modules/focus.ts.html +1 -1
  50. package/coverage/lcov-report/main/modules/fonts.ts.html +1 -1
  51. package/coverage/lcov-report/main/modules/img.ts.html +1 -1
  52. package/coverage/lcov-report/main/modules/index.html +1 -1
  53. package/coverage/lcov-report/main/modules/input.ts.html +1 -1
  54. package/coverage/lcov-report/main/modules/mouse.ts.html +1 -1
  55. package/coverage/lcov-report/main/modules/network.ts.html +1 -1
  56. package/coverage/lcov-report/main/modules/performance.ts.html +1 -1
  57. package/coverage/lcov-report/main/modules/scroll.ts.html +1 -1
  58. package/coverage/lcov-report/main/modules/selection.ts.html +1 -1
  59. package/coverage/lcov-report/main/modules/tabs.ts.html +1 -1
  60. package/coverage/lcov-report/main/modules/timing.ts.html +1 -1
  61. package/coverage/lcov-report/main/modules/userTesting/SignalManager.ts.html +361 -0
  62. package/coverage/lcov-report/main/modules/userTesting/dnd.ts.html +10 -22
  63. package/coverage/lcov-report/main/modules/userTesting/index.html +61 -31
  64. package/coverage/lcov-report/main/modules/userTesting/index.ts.html +809 -113
  65. package/coverage/lcov-report/main/modules/userTesting/recorder.ts.html +136 -67
  66. package/coverage/lcov-report/main/modules/userTesting/styles.ts.html +159 -87
  67. package/coverage/lcov-report/main/modules/userTesting/utils.ts.html +361 -0
  68. package/coverage/lcov-report/main/modules/viewport.ts.html +1 -1
  69. package/coverage/lcov-report/main/utils.ts.html +48 -6
  70. package/coverage/lcov-report/webworker/BatchWriter.ts.html +1 -1
  71. package/coverage/lcov-report/webworker/MessageEncoder.gen.ts.html +1 -1
  72. package/coverage/lcov-report/webworker/PrimitiveEncoder.ts.html +1 -1
  73. package/coverage/lcov-report/webworker/QueueSender.ts.html +1 -1
  74. package/coverage/lcov-report/webworker/index.html +1 -1
  75. package/coverage/lcov-report/webworker/index.ts.html +1 -1
  76. package/coverage/lcov.info +1535 -653
  77. package/lib/app/index.d.ts +3 -0
  78. package/lib/app/index.js +27 -4
  79. package/lib/index.d.ts +1 -0
  80. package/lib/index.js +7 -1
  81. package/lib/modules/userTesting/SignalManager.d.ts +29 -0
  82. package/lib/modules/userTesting/SignalManager.js +80 -0
  83. package/lib/modules/userTesting/index.d.ts +5 -5
  84. package/lib/modules/userTesting/index.js +128 -161
  85. package/lib/modules/userTesting/styles.d.ts +28 -11
  86. package/lib/modules/userTesting/styles.js +50 -28
  87. package/lib/modules/userTesting/utils.d.ts +9 -0
  88. package/lib/modules/userTesting/utils.js +79 -0
  89. package/package.json +2 -2
@@ -0,0 +1,361 @@
1
+
2
+ <!doctype html>
3
+ <html lang="en">
4
+
5
+ <head>
6
+ <title>Code coverage report for main/modules/userTesting/SignalManager.ts</title>
7
+ <meta charset="utf-8" />
8
+ <link rel="stylesheet" href="../../../prettify.css" />
9
+ <link rel="stylesheet" href="../../../base.css" />
10
+ <link rel="shortcut icon" type="image/x-icon" href="../../../favicon.png" />
11
+ <meta name="viewport" content="width=device-width, initial-scale=1" />
12
+ <style type='text/css'>
13
+ .coverage-summary .sorter {
14
+ background-image: url(../../../sort-arrow-sprite.png);
15
+ }
16
+ </style>
17
+ </head>
18
+
19
+ <body>
20
+ <div class='wrapper'>
21
+ <div class='pad1'>
22
+ <h1><a href="../../../index.html">All files</a> / <a href="index.html">main/modules/userTesting</a> SignalManager.ts</h1>
23
+ <div class='clearfix'>
24
+
25
+ <div class='fl pad1y space-right2'>
26
+ <span class="strong">92.3% </span>
27
+ <span class="quiet">Statements</span>
28
+ <span class='fraction'>36/39</span>
29
+ </div>
30
+
31
+
32
+ <div class='fl pad1y space-right2'>
33
+ <span class="strong">77.77% </span>
34
+ <span class="quiet">Branches</span>
35
+ <span class='fraction'>7/9</span>
36
+ </div>
37
+
38
+
39
+ <div class='fl pad1y space-right2'>
40
+ <span class="strong">100% </span>
41
+ <span class="quiet">Functions</span>
42
+ <span class='fraction'>6/6</span>
43
+ </div>
44
+
45
+
46
+ <div class='fl pad1y space-right2'>
47
+ <span class="strong">91.89% </span>
48
+ <span class="quiet">Lines</span>
49
+ <span class='fraction'>34/37</span>
50
+ </div>
51
+
52
+
53
+ </div>
54
+ <p class="quiet">
55
+ Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
56
+ </p>
57
+ <template id="filterTemplate">
58
+ <div class="quiet">
59
+ Filter:
60
+ <input oninput="onInput()" type="search" id="fileSearch">
61
+ </div>
62
+ </template>
63
+ </div>
64
+ <div class='status-line high'></div>
65
+ <pre><table class="coverage">
66
+ <tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
67
+ <a name='L2'></a><a href='#L2'>2</a>
68
+ <a name='L3'></a><a href='#L3'>3</a>
69
+ <a name='L4'></a><a href='#L4'>4</a>
70
+ <a name='L5'></a><a href='#L5'>5</a>
71
+ <a name='L6'></a><a href='#L6'>6</a>
72
+ <a name='L7'></a><a href='#L7'>7</a>
73
+ <a name='L8'></a><a href='#L8'>8</a>
74
+ <a name='L9'></a><a href='#L9'>9</a>
75
+ <a name='L10'></a><a href='#L10'>10</a>
76
+ <a name='L11'></a><a href='#L11'>11</a>
77
+ <a name='L12'></a><a href='#L12'>12</a>
78
+ <a name='L13'></a><a href='#L13'>13</a>
79
+ <a name='L14'></a><a href='#L14'>14</a>
80
+ <a name='L15'></a><a href='#L15'>15</a>
81
+ <a name='L16'></a><a href='#L16'>16</a>
82
+ <a name='L17'></a><a href='#L17'>17</a>
83
+ <a name='L18'></a><a href='#L18'>18</a>
84
+ <a name='L19'></a><a href='#L19'>19</a>
85
+ <a name='L20'></a><a href='#L20'>20</a>
86
+ <a name='L21'></a><a href='#L21'>21</a>
87
+ <a name='L22'></a><a href='#L22'>22</a>
88
+ <a name='L23'></a><a href='#L23'>23</a>
89
+ <a name='L24'></a><a href='#L24'>24</a>
90
+ <a name='L25'></a><a href='#L25'>25</a>
91
+ <a name='L26'></a><a href='#L26'>26</a>
92
+ <a name='L27'></a><a href='#L27'>27</a>
93
+ <a name='L28'></a><a href='#L28'>28</a>
94
+ <a name='L29'></a><a href='#L29'>29</a>
95
+ <a name='L30'></a><a href='#L30'>30</a>
96
+ <a name='L31'></a><a href='#L31'>31</a>
97
+ <a name='L32'></a><a href='#L32'>32</a>
98
+ <a name='L33'></a><a href='#L33'>33</a>
99
+ <a name='L34'></a><a href='#L34'>34</a>
100
+ <a name='L35'></a><a href='#L35'>35</a>
101
+ <a name='L36'></a><a href='#L36'>36</a>
102
+ <a name='L37'></a><a href='#L37'>37</a>
103
+ <a name='L38'></a><a href='#L38'>38</a>
104
+ <a name='L39'></a><a href='#L39'>39</a>
105
+ <a name='L40'></a><a href='#L40'>40</a>
106
+ <a name='L41'></a><a href='#L41'>41</a>
107
+ <a name='L42'></a><a href='#L42'>42</a>
108
+ <a name='L43'></a><a href='#L43'>43</a>
109
+ <a name='L44'></a><a href='#L44'>44</a>
110
+ <a name='L45'></a><a href='#L45'>45</a>
111
+ <a name='L46'></a><a href='#L46'>46</a>
112
+ <a name='L47'></a><a href='#L47'>47</a>
113
+ <a name='L48'></a><a href='#L48'>48</a>
114
+ <a name='L49'></a><a href='#L49'>49</a>
115
+ <a name='L50'></a><a href='#L50'>50</a>
116
+ <a name='L51'></a><a href='#L51'>51</a>
117
+ <a name='L52'></a><a href='#L52'>52</a>
118
+ <a name='L53'></a><a href='#L53'>53</a>
119
+ <a name='L54'></a><a href='#L54'>54</a>
120
+ <a name='L55'></a><a href='#L55'>55</a>
121
+ <a name='L56'></a><a href='#L56'>56</a>
122
+ <a name='L57'></a><a href='#L57'>57</a>
123
+ <a name='L58'></a><a href='#L58'>58</a>
124
+ <a name='L59'></a><a href='#L59'>59</a>
125
+ <a name='L60'></a><a href='#L60'>60</a>
126
+ <a name='L61'></a><a href='#L61'>61</a>
127
+ <a name='L62'></a><a href='#L62'>62</a>
128
+ <a name='L63'></a><a href='#L63'>63</a>
129
+ <a name='L64'></a><a href='#L64'>64</a>
130
+ <a name='L65'></a><a href='#L65'>65</a>
131
+ <a name='L66'></a><a href='#L66'>66</a>
132
+ <a name='L67'></a><a href='#L67'>67</a>
133
+ <a name='L68'></a><a href='#L68'>68</a>
134
+ <a name='L69'></a><a href='#L69'>69</a>
135
+ <a name='L70'></a><a href='#L70'>70</a>
136
+ <a name='L71'></a><a href='#L71'>71</a>
137
+ <a name='L72'></a><a href='#L72'>72</a>
138
+ <a name='L73'></a><a href='#L73'>73</a>
139
+ <a name='L74'></a><a href='#L74'>74</a>
140
+ <a name='L75'></a><a href='#L75'>75</a>
141
+ <a name='L76'></a><a href='#L76'>76</a>
142
+ <a name='L77'></a><a href='#L77'>77</a>
143
+ <a name='L78'></a><a href='#L78'>78</a>
144
+ <a name='L79'></a><a href='#L79'>79</a>
145
+ <a name='L80'></a><a href='#L80'>80</a>
146
+ <a name='L81'></a><a href='#L81'>81</a>
147
+ <a name='L82'></a><a href='#L82'>82</a>
148
+ <a name='L83'></a><a href='#L83'>83</a>
149
+ <a name='L84'></a><a href='#L84'>84</a>
150
+ <a name='L85'></a><a href='#L85'>85</a>
151
+ <a name='L86'></a><a href='#L86'>86</a>
152
+ <a name='L87'></a><a href='#L87'>87</a>
153
+ <a name='L88'></a><a href='#L88'>88</a>
154
+ <a name='L89'></a><a href='#L89'>89</a>
155
+ <a name='L90'></a><a href='#L90'>90</a>
156
+ <a name='L91'></a><a href='#L91'>91</a>
157
+ <a name='L92'></a><a href='#L92'>92</a>
158
+ <a name='L93'></a><a href='#L93'>93</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
159
+ <span class="cline-any cline-neutral">&nbsp;</span>
160
+ <span class="cline-any cline-yes">1x</span>
161
+ <span class="cline-any cline-yes">5x</span>
162
+ <span class="cline-any cline-neutral">&nbsp;</span>
163
+ <span class="cline-any cline-neutral">&nbsp;</span>
164
+ <span class="cline-any cline-neutral">&nbsp;</span>
165
+ <span class="cline-any cline-neutral">&nbsp;</span>
166
+ <span class="cline-any cline-neutral">&nbsp;</span>
167
+ <span class="cline-any cline-neutral">&nbsp;</span>
168
+ <span class="cline-any cline-neutral">&nbsp;</span>
169
+ <span class="cline-any cline-neutral">&nbsp;</span>
170
+ <span class="cline-any cline-yes">5x</span>
171
+ <span class="cline-any cline-yes">5x</span>
172
+ <span class="cline-any cline-yes">5x</span>
173
+ <span class="cline-any cline-yes">5x</span>
174
+ <span class="cline-any cline-yes">5x</span>
175
+ <span class="cline-any cline-yes">5x</span>
176
+ <span class="cline-any cline-yes">5x</span>
177
+ <span class="cline-any cline-yes">5x</span>
178
+ <span class="cline-any cline-yes">5x</span>
179
+ <span class="cline-any cline-neutral">&nbsp;</span>
180
+ <span class="cline-any cline-yes">5x</span>
181
+ <span class="cline-any cline-neutral">&nbsp;</span>
182
+ <span class="cline-any cline-neutral">&nbsp;</span>
183
+ <span class="cline-any cline-yes">5x</span>
184
+ <span class="cline-any cline-yes">1x</span>
185
+ <span class="cline-any cline-neutral">&nbsp;</span>
186
+ <span class="cline-any cline-neutral">&nbsp;</span>
187
+ <span class="cline-any cline-yes">5x</span>
188
+ <span class="cline-any cline-neutral">&nbsp;</span>
189
+ <span class="cline-any cline-neutral">&nbsp;</span>
190
+ <span class="cline-any cline-neutral">&nbsp;</span>
191
+ <span class="cline-any cline-neutral">&nbsp;</span>
192
+ <span class="cline-any cline-neutral">&nbsp;</span>
193
+ <span class="cline-any cline-neutral">&nbsp;</span>
194
+ <span class="cline-any cline-yes">1x</span>
195
+ <span class="cline-any cline-yes">1x</span>
196
+ <span class="cline-any cline-neutral">&nbsp;</span>
197
+ <span class="cline-any cline-neutral">&nbsp;</span>
198
+ <span class="cline-any cline-yes">5x</span>
199
+ <span class="cline-any cline-yes">2x</span>
200
+ <span class="cline-any cline-yes">1x</span>
201
+ <span class="cline-any cline-yes">1x</span>
202
+ <span class="cline-any cline-yes">1x</span>
203
+ <span class="cline-any cline-yes">1x</span>
204
+ <span class="cline-any cline-neutral">&nbsp;</span>
205
+ <span class="cline-any cline-neutral">&nbsp;</span>
206
+ <span class="cline-any cline-neutral">&nbsp;</span>
207
+ <span class="cline-any cline-neutral">&nbsp;</span>
208
+ <span class="cline-any cline-neutral">&nbsp;</span>
209
+ <span class="cline-any cline-neutral">&nbsp;</span>
210
+ <span class="cline-any cline-neutral">&nbsp;</span>
211
+ <span class="cline-any cline-neutral">&nbsp;</span>
212
+ <span class="cline-any cline-neutral">&nbsp;</span>
213
+ <span class="cline-any cline-neutral">&nbsp;</span>
214
+ <span class="cline-any cline-neutral">&nbsp;</span>
215
+ <span class="cline-any cline-neutral">&nbsp;</span>
216
+ <span class="cline-any cline-neutral">&nbsp;</span>
217
+ <span class="cline-any cline-neutral">&nbsp;</span>
218
+ <span class="cline-any cline-neutral">&nbsp;</span>
219
+ <span class="cline-any cline-neutral">&nbsp;</span>
220
+ <span class="cline-any cline-yes">5x</span>
221
+ <span class="cline-any cline-yes">1x</span>
222
+ <span class="cline-any cline-yes">1x</span>
223
+ <span class="cline-any cline-yes">1x</span>
224
+ <span class="cline-any cline-yes">1x</span>
225
+ <span class="cline-any cline-yes">1x</span>
226
+ <span class="cline-any cline-yes">1x</span>
227
+ <span class="cline-any cline-neutral">&nbsp;</span>
228
+ <span class="cline-any cline-no">&nbsp;</span>
229
+ <span class="cline-any cline-no">&nbsp;</span>
230
+ <span class="cline-any cline-no">&nbsp;</span>
231
+ <span class="cline-any cline-neutral">&nbsp;</span>
232
+ <span class="cline-any cline-yes">1x</span>
233
+ <span class="cline-any cline-yes">1x</span>
234
+ <span class="cline-any cline-neutral">&nbsp;</span>
235
+ <span class="cline-any cline-yes">1x</span>
236
+ <span class="cline-any cline-neutral">&nbsp;</span>
237
+ <span class="cline-any cline-neutral">&nbsp;</span>
238
+ <span class="cline-any cline-neutral">&nbsp;</span>
239
+ <span class="cline-any cline-neutral">&nbsp;</span>
240
+ <span class="cline-any cline-neutral">&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-neutral">&nbsp;</span>
245
+ <span class="cline-any cline-neutral">&nbsp;</span>
246
+ <span class="cline-any cline-neutral">&nbsp;</span>
247
+ <span class="cline-any cline-neutral">&nbsp;</span>
248
+ <span class="cline-any cline-neutral">&nbsp;</span>
249
+ <span class="cline-any cline-neutral">&nbsp;</span>
250
+ <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import { TEST_START, TASK_IND, SESSION_ID } from './utils.js'
251
+ &nbsp;
252
+ export default class SignalManager {
253
+ private readonly durations = {
254
+ testStart: 0,
255
+ tasks: [] as unknown as {
256
+ taskId: number
257
+ started: number
258
+ }[],
259
+ }
260
+ &nbsp;
261
+ constructor(
262
+ private readonly ingestPoint: string,
263
+ private readonly getTimestamp: () =&gt; number,
264
+ private readonly token: string,
265
+ private readonly testId: string,
266
+ private readonly storageKey: string,
267
+ private readonly setStorageKey: (key: string, value: string) =&gt; void,
268
+ private readonly removeStorageKey: (key: string) =&gt; void,
269
+ private readonly getStorageKey: (key: string) =&gt; string | null,
270
+ private readonly getSessionId: () =&gt; string,
271
+ ) {
272
+ this.durations.testStart = parseInt(this.getStorageKey(TEST_START) as string, 10)
273
+ }
274
+ &nbsp;
275
+ getDurations = () =&gt; {
276
+ return this.durations
277
+ }
278
+ &nbsp;
279
+ setDurations = (durations: {
280
+ testStart: number
281
+ tasks: {
282
+ taskId: number
283
+ started: number
284
+ }[]
285
+ }) =&gt; {
286
+ this.durations.testStart = durations.testStart
287
+ this.durations.tasks = durations.tasks
288
+ }
289
+ &nbsp;
290
+ signalTask = (taskId: number, status: 'begin' | 'done' | 'skipped', taskAnswer?: string) =&gt; {
291
+ if (!taskId) return console.error('User Testing: No Task ID Given')
292
+ const taskStart = this.durations.tasks.find((t) =&gt; t.taskId === taskId)
293
+ const timestamp = this.getTimestamp()
294
+ const duration = taskStart ? timestamp - taskStart.started : <span class="branch-1 cbranch-no" title="branch not covered" >0</span>
295
+ return fetch(`${this.ingestPoint}/v1/web/uxt/signals/task`, {
296
+ method: 'POST',
297
+ headers: {
298
+ // eslint-disable-next-line @typescript-eslint/restrict-template-expressions
299
+ Authorization: `Bearer ${this.token}`,
300
+ },
301
+ body: JSON.stringify({
302
+ testId: this.testId,
303
+ taskId,
304
+ status,
305
+ duration,
306
+ timestamp,
307
+ taskAnswer,
308
+ }),
309
+ })
310
+ }
311
+ &nbsp;
312
+ signalTest = (status: 'begin' | 'done' | 'skipped') =&gt; {
313
+ const timestamp = this.getTimestamp()
314
+ if (status === 'begin' &amp;&amp; this.testId) {
315
+ const sessionId = this.getSessionId()
316
+ this.setStorageKey(SESSION_ID, sessionId as unknown as string)
317
+ this.setStorageKey(this.storageKey, this.testId.toString())
318
+ this.setStorageKey(TEST_START, timestamp.toString())
319
+ } else <span class="missing-if-branch" title="else path not taken" >E</span>{
320
+ <span class="cstat-no" title="statement not covered" > this.removeStorageKey(this.storageKey)</span>
321
+ <span class="cstat-no" title="statement not covered" > this.removeStorageKey(TASK_IND)</span>
322
+ <span class="cstat-no" title="statement not covered" > this.removeStorageKey(TEST_START)</span>
323
+ }
324
+ const start = this.durations.testStart || timestamp
325
+ const duration = timestamp - start
326
+ &nbsp;
327
+ return fetch(`${this.ingestPoint}/v1/web/uxt/signals/test`, {
328
+ method: 'POST',
329
+ headers: {
330
+ // eslint-disable-next-line @typescript-eslint/restrict-template-expressions
331
+ Authorization: `Bearer ${this.token}`,
332
+ },
333
+ body: JSON.stringify({
334
+ testId: this.testId,
335
+ status,
336
+ duration,
337
+ timestamp,
338
+ }),
339
+ })
340
+ }
341
+ }
342
+ &nbsp;</pre></td></tr></table></pre>
343
+
344
+ <div class='push'></div><!-- for sticky footer -->
345
+ </div><!-- /wrapper -->
346
+ <div class='footer quiet pad2 space-top1 center small'>
347
+ Code coverage generated by
348
+ <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
349
+ at 2023-12-12T11:45:01.048Z
350
+ </div>
351
+ <script src="../../../prettify.js"></script>
352
+ <script>
353
+ window.onload = function () {
354
+ prettyPrint();
355
+ };
356
+ </script>
357
+ <script src="../../../sorter.js"></script>
358
+ <script src="../../../block-navigation.js"></script>
359
+ </body>
360
+ </html>
361
+
@@ -25,7 +25,7 @@
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/30</span>
28
+ <span class='fraction'>0/28</span>
29
29
  </div>
30
30
 
31
31
 
@@ -39,14 +39,14 @@
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/7</span>
42
+ <span class='fraction'>0/6</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/28</span>
49
+ <span class='fraction'>0/26</span>
50
50
  </div>
51
51
 
52
52
 
@@ -108,11 +108,7 @@
108
108
  <a name='L43'></a><a href='#L43'>43</a>
109
109
  <a name='L44'></a><a href='#L44'>44</a>
110
110
  <a name='L45'></a><a href='#L45'>45</a>
111
- <a name='L46'></a><a href='#L46'>46</a>
112
- <a name='L47'></a><a href='#L47'>47</a>
113
- <a name='L48'></a><a href='#L48'>48</a>
114
- <a name='L49'></a><a href='#L49'>49</a>
115
- <a name='L50'></a><a href='#L50'>50</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
111
+ <a name='L46'></a><a href='#L46'>46</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
116
112
  <span class="cline-any cline-neutral">&nbsp;</span>
117
113
  <span class="cline-any cline-no">&nbsp;</span>
118
114
  <span class="cline-any cline-no">&nbsp;</span>
@@ -150,13 +146,9 @@
150
146
  <span class="cline-any cline-no">&nbsp;</span>
151
147
  <span class="cline-any cline-no">&nbsp;</span>
152
148
  <span class="cline-any cline-neutral">&nbsp;</span>
153
- <span class="cline-any cline-neutral">&nbsp;</span>
154
- <span class="cline-any cline-no">&nbsp;</span>
155
- <span class="cline-any cline-no">&nbsp;</span>
156
149
  <span class="cline-any cline-no">&nbsp;</span>
157
150
  <span class="cline-any cline-neutral">&nbsp;</span>
158
151
  <span class="cline-any cline-neutral">&nbsp;</span>
159
- <span class="cline-any cline-neutral">&nbsp;</span>
160
152
  <span class="cline-any cline-no">&nbsp;</span>
161
153
  <span class="cline-any cline-no">&nbsp;</span>
162
154
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -169,8 +161,8 @@
169
161
  const shiftX = <span class="cstat-no" title="statement not covered" >event.clientX - clientRect.left</span>
170
162
  const shiftY = <span class="cstat-no" title="statement not covered" >event.clientY - clientRect.top</span>
171
163
  &nbsp;
172
- <span class="cstat-no" title="statement not covered" > element.style.position = 'absolute'</span>
173
- <span class="cstat-no" title="statement not covered" > element.style.zIndex = 1000</span>
164
+ <span class="cstat-no" title="statement not covered" > element.style.position = 'fixed'</span>
165
+ <span class="cstat-no" title="statement not covered" > element.style.zIndex = 99999999999999</span>
174
166
  &nbsp;
175
167
  <span class="cstat-no" title="statement not covered" > moveAt(event.pageX, event.pageY)</span>
176
168
  &nbsp;
@@ -195,15 +187,11 @@
195
187
  &nbsp;
196
188
  <span class="cstat-no" title="statement not covered" > document.addEventListener('mousemove', onMouseMove)</span>
197
189
  &nbsp;
198
- <span class="cstat-no" title="statement not covered" > dragTarget.onmouseup = <span class="fstat-no" title="function not covered" >function () {</span></span>
199
- <span class="cstat-no" title="statement not covered" > document.removeEventListener('mousemove', onMouseMove)</span>
200
- <span class="cstat-no" title="statement not covered" > dragTarget.onmouseup = null</span>
201
- }
202
- &nbsp;
203
- <span class="cstat-no" title="statement not covered" > dragTarget.onmouseleave = <span class="fstat-no" title="function not covered" >function () {</span></span>
190
+ const clearAll = <span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" >() =</span>&gt; {</span>
204
191
  <span class="cstat-no" title="statement not covered" > document.removeEventListener('mousemove', onMouseMove)</span>
205
- <span class="cstat-no" title="statement not covered" > dragTarget.onmouseleave = null</span>
192
+ <span class="cstat-no" title="statement not covered" > document.removeEventListener('mouseup', clearAll)</span>
206
193
  }
194
+ <span class="cstat-no" title="statement not covered" > document.addEventListener('mouseup', clearAll)</span>
207
195
  }
208
196
  &nbsp;
209
197
  <span class="cstat-no" title="statement not covered" > dragTarget.ondragstart = <span class="fstat-no" title="function not covered" >function () {</span></span>
@@ -217,7 +205,7 @@
217
205
  <div class='footer quiet pad2 space-top1 center small'>
218
206
  Code coverage generated by
219
207
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
220
- at 2023-10-17T13:37:58.420Z
208
+ at 2023-12-12T11:45:01.048Z
221
209
  </div>
222
210
  <script src="../../../prettify.js"></script>
223
211
  <script>
@@ -23,30 +23,30 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">7.74% </span>
26
+ <span class="strong">15.26% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>22/284</span>
28
+ <span class='fraction'>71/465</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">3.97% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>0/55</span>
35
+ <span class='fraction'>7/176</span>
36
36
  </div>
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
- <span class="strong">12.76% </span>
40
+ <span class="strong">8.57% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>6/47</span>
42
+ <span class='fraction'>6/70</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">8.05% </span>
47
+ <span class="strong">15.29% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>22/273</span>
49
+ <span class='fraction'>69/451</span>
50
50
  </div>
51
51
 
52
52
 
@@ -79,18 +79,33 @@
79
79
  </tr>
80
80
  </thead>
81
81
  <tbody><tr>
82
+ <td class="file high" data-value="SignalManager.ts"><a href="SignalManager.ts.html">SignalManager.ts</a></td>
83
+ <td data-value="92.3" class="pic high">
84
+ <div class="chart"><div class="cover-fill" style="width: 92%"></div><div class="cover-empty" style="width: 8%"></div></div>
85
+ </td>
86
+ <td data-value="92.3" class="pct high">92.3%</td>
87
+ <td data-value="39" class="abs high">36/39</td>
88
+ <td data-value="77.77" class="pct medium">77.77%</td>
89
+ <td data-value="9" class="abs medium">7/9</td>
90
+ <td data-value="100" class="pct high">100%</td>
91
+ <td data-value="6" class="abs high">6/6</td>
92
+ <td data-value="91.89" class="pct high">91.89%</td>
93
+ <td data-value="37" class="abs high">34/37</td>
94
+ </tr>
95
+
96
+ <tr>
82
97
  <td class="file low" data-value="dnd.ts"><a href="dnd.ts.html">dnd.ts</a></td>
83
98
  <td data-value="0" class="pic low">
84
99
  <div class="chart"><div class="cover-fill" style="width: 0%"></div><div class="cover-empty" style="width: 100%"></div></div>
85
100
  </td>
86
101
  <td data-value="0" class="pct low">0%</td>
87
- <td data-value="30" class="abs low">0/30</td>
102
+ <td data-value="28" class="abs low">0/28</td>
88
103
  <td data-value="0" class="pct low">0%</td>
89
104
  <td data-value="4" class="abs low">0/4</td>
90
105
  <td data-value="0" class="pct low">0%</td>
91
- <td data-value="7" class="abs low">0/7</td>
106
+ <td data-value="6" class="abs low">0/6</td>
92
107
  <td data-value="0" class="pct low">0%</td>
93
- <td data-value="28" class="abs low">0/28</td>
108
+ <td data-value="26" class="abs low">0/26</td>
94
109
  </tr>
95
110
 
96
111
  <tr>
@@ -99,43 +114,58 @@
99
114
  <div class="chart"><div class="cover-fill" style="width: 0%"></div><div class="cover-empty" style="width: 100%"></div></div>
100
115
  </td>
101
116
  <td data-value="0" class="pct low">0%</td>
102
- <td data-value="184" class="abs low">0/184</td>
117
+ <td data-value="285" class="abs low">0/285</td>
103
118
  <td data-value="0" class="pct low">0%</td>
104
- <td data-value="32" class="abs low">0/32</td>
119
+ <td data-value="146" class="abs low">0/146</td>
105
120
  <td data-value="0" class="pct low">0%</td>
106
- <td data-value="27" class="abs low">0/27</td>
121
+ <td data-value="40" class="abs low">0/40</td>
107
122
  <td data-value="0" class="pct low">0%</td>
108
- <td data-value="177" class="abs low">0/177</td>
123
+ <td data-value="278" class="abs low">0/278</td>
109
124
  </tr>
110
125
 
111
126
  <tr>
112
127
  <td class="file low" data-value="recorder.ts"><a href="recorder.ts.html">recorder.ts</a></td>
113
- <td data-value="47.82" class="pic low">
114
- <div class="chart"><div class="cover-fill" style="width: 47%"></div><div class="cover-empty" style="width: 53%"></div></div>
128
+ <td data-value="0" class="pic low">
129
+ <div class="chart"><div class="cover-fill" style="width: 0%"></div><div class="cover-empty" style="width: 100%"></div></div>
115
130
  </td>
116
- <td data-value="47.82" class="pct low">47.82%</td>
117
- <td data-value="46" class="abs low">22/46</td>
118
131
  <td data-value="0" class="pct low">0%</td>
119
- <td data-value="19" class="abs low">0/19</td>
120
- <td data-value="46.15" class="pct low">46.15%</td>
121
- <td data-value="13" class="abs low">6/13</td>
122
- <td data-value="50" class="pct medium">50%</td>
123
- <td data-value="44" class="abs medium">22/44</td>
132
+ <td data-value="45" class="abs low">0/45</td>
133
+ <td data-value="0" class="pct low">0%</td>
134
+ <td data-value="15" class="abs low">0/15</td>
135
+ <td data-value="0" class="pct low">0%</td>
136
+ <td data-value="13" class="abs low">0/13</td>
137
+ <td data-value="0" class="pct low">0%</td>
138
+ <td data-value="43" class="abs low">0/43</td>
124
139
  </tr>
125
140
 
126
141
  <tr>
127
- <td class="file low" data-value="styles.ts"><a href="styles.ts.html">styles.ts</a></td>
128
- <td data-value="0" class="pic low">
129
- <div class="chart"><div class="cover-fill" style="width: 0%"></div><div class="cover-empty" style="width: 100%"></div></div>
142
+ <td class="file high" data-value="styles.ts"><a href="styles.ts.html">styles.ts</a></td>
143
+ <td data-value="100" class="pic high">
144
+ <div class="chart"><div class="cover-fill cover-full" style="width: 100%"></div><div class="cover-empty" style="width: 0%"></div></div>
130
145
  </td>
131
- <td data-value="0" class="pct low">0%</td>
132
- <td data-value="24" class="abs low">0/24</td>
146
+ <td data-value="100" class="pct high">100%</td>
147
+ <td data-value="25" class="abs high">25/25</td>
133
148
  <td data-value="100" class="pct high">100%</td>
134
149
  <td data-value="0" class="abs high">0/0</td>
135
150
  <td data-value="100" class="pct high">100%</td>
136
151
  <td data-value="0" class="abs high">0/0</td>
152
+ <td data-value="100" class="pct high">100%</td>
153
+ <td data-value="25" class="abs high">25/25</td>
154
+ </tr>
155
+
156
+ <tr>
157
+ <td class="file low" data-value="utils.ts"><a href="utils.ts.html">utils.ts</a></td>
158
+ <td data-value="23.25" class="pic low">
159
+ <div class="chart"><div class="cover-fill" style="width: 23%"></div><div class="cover-empty" style="width: 77%"></div></div>
160
+ </td>
161
+ <td data-value="23.25" class="pct low">23.25%</td>
162
+ <td data-value="43" class="abs low">10/43</td>
163
+ <td data-value="0" class="pct low">0%</td>
164
+ <td data-value="2" class="abs low">0/2</td>
137
165
  <td data-value="0" class="pct low">0%</td>
138
- <td data-value="24" class="abs low">0/24</td>
166
+ <td data-value="5" class="abs low">0/5</td>
167
+ <td data-value="23.8" class="pct low">23.8%</td>
168
+ <td data-value="42" class="abs low">10/42</td>
139
169
  </tr>
140
170
 
141
171
  </tbody>
@@ -146,7 +176,7 @@
146
176
  <div class='footer quiet pad2 space-top1 center small'>
147
177
  Code coverage generated by
148
178
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
149
- at 2023-10-17T13:37:58.420Z
179
+ at 2023-12-12T11:45:01.048Z
150
180
  </div>
151
181
  <script src="../../../prettify.js"></script>
152
182
  <script>