@openreplay/tracker 11.0.6 → 12.0.0

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 (113) hide show
  1. package/CHANGELOG.md +4 -2
  2. package/cjs/app/index.d.ts +84 -6
  3. package/cjs/app/index.js +427 -58
  4. package/cjs/app/logger.d.ts +7 -17
  5. package/cjs/app/logger.js +11 -19
  6. package/cjs/app/messages.gen.d.ts +2 -0
  7. package/cjs/app/messages.gen.js +20 -1
  8. package/cjs/app/observer/iframe_observer.js +4 -1
  9. package/cjs/app/observer/shadow_root_observer.js +4 -1
  10. package/cjs/app/observer/top_observer.js +7 -4
  11. package/cjs/common/interaction.d.ts +5 -2
  12. package/cjs/common/messages.gen.d.ts +17 -2
  13. package/cjs/index.d.ts +45 -2
  14. package/cjs/index.js +237 -106
  15. package/cjs/modules/Network/beaconProxy.js +4 -1
  16. package/cjs/modules/Network/fetchProxy.js +24 -1
  17. package/cjs/modules/Network/index.js +6 -3
  18. package/cjs/modules/Network/xhrProxy.js +24 -1
  19. package/cjs/modules/conditionsManager.d.ts +84 -0
  20. package/cjs/modules/conditionsManager.js +343 -0
  21. package/cjs/modules/exception.js +4 -1
  22. package/cjs/modules/featureFlags.d.ts +1 -1
  23. package/cjs/modules/featureFlags.js +36 -46
  24. package/cjs/modules/network.js +5 -2
  25. package/cjs/modules/tagWatcher.d.ts +21 -0
  26. package/cjs/modules/tagWatcher.js +77 -0
  27. package/cjs/modules/userTesting/index.js +30 -4
  28. package/cjs/modules/userTesting/recorder.js +71 -88
  29. package/coverage/clover.xml +577 -544
  30. package/coverage/coverage-final.json +8 -8
  31. package/coverage/lcov-report/index.html +28 -28
  32. package/coverage/lcov-report/main/app/canvas.ts.html +97 -46
  33. package/coverage/lcov-report/main/app/guards.ts.html +1 -1
  34. package/coverage/lcov-report/main/app/index.html +19 -19
  35. package/coverage/lcov-report/main/app/index.ts.html +62 -35
  36. package/coverage/lcov-report/main/app/logger.ts.html +1 -1
  37. package/coverage/lcov-report/main/app/messages.gen.ts.html +32 -5
  38. package/coverage/lcov-report/main/app/nodes.ts.html +17 -5
  39. package/coverage/lcov-report/main/app/observer/iframe_observer.ts.html +1 -1
  40. package/coverage/lcov-report/main/app/observer/iframe_offsets.ts.html +1 -1
  41. package/coverage/lcov-report/main/app/observer/index.html +1 -1
  42. package/coverage/lcov-report/main/app/observer/shadow_root_observer.ts.html +1 -1
  43. package/coverage/lcov-report/main/app/observer/top_observer.ts.html +1 -1
  44. package/coverage/lcov-report/main/app/sanitizer.ts.html +1 -1
  45. package/coverage/lcov-report/main/app/session.ts.html +1 -1
  46. package/coverage/lcov-report/main/app/ticker.ts.html +1 -1
  47. package/coverage/lcov-report/main/index.html +9 -9
  48. package/coverage/lcov-report/main/index.ts.html +27 -6
  49. package/coverage/lcov-report/main/modules/Network/beaconProxy.ts.html +1 -1
  50. package/coverage/lcov-report/main/modules/Network/fetchProxy.ts.html +1 -1
  51. package/coverage/lcov-report/main/modules/Network/index.html +1 -1
  52. package/coverage/lcov-report/main/modules/Network/index.ts.html +1 -1
  53. package/coverage/lcov-report/main/modules/Network/networkMessage.ts.html +1 -1
  54. package/coverage/lcov-report/main/modules/Network/utils.ts.html +1 -1
  55. package/coverage/lcov-report/main/modules/Network/xhrProxy.ts.html +1 -1
  56. package/coverage/lcov-report/main/modules/attributeSender.ts.html +1 -1
  57. package/coverage/lcov-report/main/modules/axiosSpy.ts.html +1 -1
  58. package/coverage/lcov-report/main/modules/conditionsManager.ts.html +92 -38
  59. package/coverage/lcov-report/main/modules/connection.ts.html +1 -1
  60. package/coverage/lcov-report/main/modules/console.ts.html +1 -1
  61. package/coverage/lcov-report/main/modules/constructedStyleSheets.ts.html +1 -1
  62. package/coverage/lcov-report/main/modules/cssrules.ts.html +1 -1
  63. package/coverage/lcov-report/main/modules/exception.ts.html +1 -1
  64. package/coverage/lcov-report/main/modules/featureFlags.ts.html +1 -1
  65. package/coverage/lcov-report/main/modules/focus.ts.html +1 -1
  66. package/coverage/lcov-report/main/modules/fonts.ts.html +1 -1
  67. package/coverage/lcov-report/main/modules/img.ts.html +1 -1
  68. package/coverage/lcov-report/main/modules/index.html +21 -21
  69. package/coverage/lcov-report/main/modules/input.ts.html +1 -1
  70. package/coverage/lcov-report/main/modules/mouse.ts.html +1 -1
  71. package/coverage/lcov-report/main/modules/network.ts.html +1 -1
  72. package/coverage/lcov-report/main/modules/performance.ts.html +1 -1
  73. package/coverage/lcov-report/main/modules/scroll.ts.html +1 -1
  74. package/coverage/lcov-report/main/modules/selection.ts.html +1 -1
  75. package/coverage/lcov-report/main/modules/tabs.ts.html +1 -1
  76. package/coverage/lcov-report/main/modules/tagWatcher.ts.html +54 -27
  77. package/coverage/lcov-report/main/modules/timing.ts.html +1 -1
  78. package/coverage/lcov-report/main/modules/userTesting/SignalManager.ts.html +1 -1
  79. package/coverage/lcov-report/main/modules/userTesting/dnd.ts.html +1 -1
  80. package/coverage/lcov-report/main/modules/userTesting/index.html +1 -1
  81. package/coverage/lcov-report/main/modules/userTesting/index.ts.html +1 -1
  82. package/coverage/lcov-report/main/modules/userTesting/recorder.ts.html +1 -1
  83. package/coverage/lcov-report/main/modules/userTesting/styles.ts.html +1 -1
  84. package/coverage/lcov-report/main/modules/userTesting/utils.ts.html +1 -1
  85. package/coverage/lcov-report/main/modules/viewport.ts.html +1 -1
  86. package/coverage/lcov-report/main/utils.ts.html +1 -1
  87. package/coverage/lcov-report/webworker/BatchWriter.ts.html +1 -1
  88. package/coverage/lcov-report/webworker/MessageEncoder.gen.ts.html +17 -5
  89. package/coverage/lcov-report/webworker/PrimitiveEncoder.ts.html +1 -1
  90. package/coverage/lcov-report/webworker/QueueSender.ts.html +1 -1
  91. package/coverage/lcov-report/webworker/index.html +7 -7
  92. package/coverage/lcov-report/webworker/index.ts.html +1 -1
  93. package/coverage/lcov.info +1100 -1033
  94. package/lib/app/index.d.ts +84 -6
  95. package/lib/app/index.js +387 -44
  96. package/lib/app/logger.d.ts +7 -17
  97. package/lib/app/logger.js +11 -19
  98. package/lib/app/messages.gen.d.ts +2 -0
  99. package/lib/app/messages.gen.js +17 -0
  100. package/lib/common/interaction.d.ts +5 -2
  101. package/lib/common/messages.gen.d.ts +17 -2
  102. package/lib/common/tsconfig.tsbuildinfo +1 -1
  103. package/lib/index.d.ts +45 -2
  104. package/lib/index.js +191 -86
  105. package/lib/modules/conditionsManager.d.ts +84 -0
  106. package/lib/modules/conditionsManager.js +340 -0
  107. package/lib/modules/featureFlags.d.ts +1 -1
  108. package/lib/modules/featureFlags.js +36 -46
  109. package/lib/modules/tagWatcher.d.ts +21 -0
  110. package/lib/modules/tagWatcher.js +74 -0
  111. package/lib/modules/userTesting/recorder.js +71 -88
  112. package/package.json +1 -1
  113. package/tsconfig-base.json +3 -2
@@ -23,30 +23,30 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">2.8% </span>
26
+ <span class="strong">2.78% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>38/1357</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">1.79% </span>
33
+ <span class="strong">1.78% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>12/668</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">4.27% </span>
40
+ <span class="strong">4.25% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>12/281</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">2.91% </span>
47
+ <span class="strong">2.9% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>38/1303</span>
49
+ <span class='fraction'>38/1310</span>
50
50
  </div>
51
51
 
52
52
 
@@ -114,13 +114,13 @@
114
114
  <div class="chart"><div class="cover-fill" style="width: 0%"></div><div class="cover-empty" style="width: 100%"></div></div>
115
115
  </td>
116
116
  <td data-value="0" class="pct low">0%</td>
117
- <td data-value="165" class="abs low">0/165</td>
117
+ <td data-value="172" class="abs low">0/172</td>
118
118
  <td data-value="0" class="pct low">0%</td>
119
- <td data-value="63" class="abs low">0/63</td>
119
+ <td data-value="67" class="abs low">0/67</td>
120
120
  <td data-value="0" class="pct low">0%</td>
121
- <td data-value="52" class="abs low">0/52</td>
121
+ <td data-value="53" class="abs low">0/53</td>
122
122
  <td data-value="0" class="pct low">0%</td>
123
- <td data-value="150" class="abs low">0/150</td>
123
+ <td data-value="156" class="abs low">0/156</td>
124
124
  </tr>
125
125
 
126
126
  <tr>
@@ -365,17 +365,17 @@
365
365
 
366
366
  <tr>
367
367
  <td class="file high" data-value="tagWatcher.ts"><a href="tagWatcher.ts.html">tagWatcher.ts</a></td>
368
- <td data-value="97.43" class="pic high">
369
- <div class="chart"><div class="cover-fill" style="width: 97%"></div><div class="cover-empty" style="width: 3%"></div></div>
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
370
  </td>
371
- <td data-value="97.43" class="pct high">97.43%</td>
372
- <td data-value="39" class="abs high">38/39</td>
373
- <td data-value="92.3" class="pct high">92.3%</td>
374
- <td data-value="13" class="abs high">12/13</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
375
  <td data-value="92.3" class="pct high">92.3%</td>
376
376
  <td data-value="13" class="abs high">12/13</td>
377
- <td data-value="97.43" class="pct high">97.43%</td>
378
- <td data-value="39" class="abs high">38/39</td>
377
+ <td data-value="95" class="pct high">95%</td>
378
+ <td data-value="40" class="abs high">38/40</td>
379
379
  </tr>
380
380
 
381
381
  <tr>
@@ -416,7 +416,7 @@
416
416
  <div class='footer quiet pad2 space-top1 center small'>
417
417
  Code coverage generated by
418
418
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
419
- at 2024-01-09T16:51:30.347Z
419
+ at 2024-01-23T12:19:37.435Z
420
420
  </div>
421
421
  <script src="../../prettify.js"></script>
422
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 2024-01-09T16:51:30.347Z
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 2024-01-09T16:51:30.347Z
814
+ at 2024-01-23T12:19:37.435Z
815
815
  </div>
816
816
  <script src="../../prettify.js"></script>
817
817
  <script>
@@ -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 2024-01-09T16:51:30.347Z
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 2024-01-09T16:51:30.347Z
355
+ at 2024-01-23T12:19:37.435Z
356
356
  </div>
357
357
  <script src="../../prettify.js"></script>
358
358
  <script>
@@ -349,7 +349,7 @@ function <span class="fstat-no" title="function not covered" >getDocumentScroll(
349
349
  <div class='footer quiet pad2 space-top1 center small'>
350
350
  Code coverage generated by
351
351
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
352
- at 2024-01-09T16:51:30.347Z
352
+ at 2024-01-23T12:19:37.435Z
353
353
  </div>
354
354
  <script src="../../prettify.js"></script>
355
355
  <script>
@@ -187,7 +187,7 @@ function <span class="fstat-no" title="function not covered" >selection(</span>a
187
187
  <div class='footer quiet pad2 space-top1 center small'>
188
188
  Code coverage generated by
189
189
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
190
- at 2024-01-09T16:51:30.347Z
190
+ at 2024-01-23T12:19:37.435Z
191
191
  </div>
192
192
  <script src="../../prettify.js"></script>
193
193
  <script>
@@ -109,7 +109,7 @@
109
109
  <div class='footer quiet pad2 space-top1 center small'>
110
110
  Code coverage generated by
111
111
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
112
- at 2024-01-09T16:51:30.347Z
112
+ at 2024-01-23T12:19:37.435Z
113
113
  </div>
114
114
  <script src="../../prettify.js"></script>
115
115
  <script>
@@ -23,16 +23,16 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">97.43% </span>
26
+ <span class="strong">95% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>38/39</span>
28
+ <span class='fraction'>38/40</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">92.3% </span>
33
+ <span class="strong">85.71% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>12/13</span>
35
+ <span class='fraction'>12/14</span>
36
36
  </div>
37
37
 
38
38
 
@@ -44,9 +44,9 @@
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">97.43% </span>
47
+ <span class="strong">95% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>38/39</span>
49
+ <span class='fraction'>38/40</span>
50
50
  </div>
51
51
 
52
52
 
@@ -137,7 +137,16 @@
137
137
  <a name='L72'></a><a href='#L72'>72</a>
138
138
  <a name='L73'></a><a href='#L73'>73</a>
139
139
  <a name='L74'></a><a href='#L74'>74</a>
140
- <a name='L75'></a><a href='#L75'>75</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
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></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
141
150
  <span class="cline-any cline-neutral">&nbsp;</span>
142
151
  <span class="cline-any cline-neutral">&nbsp;</span>
143
152
  <span class="cline-any cline-yes">5x</span>
@@ -150,6 +159,8 @@
150
159
  <span class="cline-any cline-yes">5x</span>
151
160
  <span class="cline-any cline-neutral">&nbsp;</span>
152
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>
153
164
  <span class="cline-any cline-yes">5x</span>
154
165
  <span class="cline-any cline-yes">5x</span>
155
166
  <span class="cline-any cline-yes">1x</span>
@@ -169,10 +180,17 @@
169
180
  <span class="cline-any cline-neutral">&nbsp;</span>
170
181
  <span class="cline-any cline-neutral">&nbsp;</span>
171
182
  <span class="cline-any cline-yes">1x</span>
183
+ <span class="cline-any cline-neutral">&nbsp;</span>
184
+ <span class="cline-any cline-neutral">&nbsp;</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-neutral">&nbsp;</span>
172
188
  <span class="cline-any cline-yes">1x</span>
173
189
  <span class="cline-any cline-neutral">&nbsp;</span>
174
190
  <span class="cline-any cline-yes">1x</span>
175
191
  <span class="cline-any cline-yes">1x</span>
192
+ <span class="cline-any cline-yes">1x</span>
193
+ <span class="cline-any cline-neutral">&nbsp;</span>
176
194
  <span class="cline-any cline-neutral">&nbsp;</span>
177
195
  <span class="cline-any cline-no">&nbsp;</span>
178
196
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -195,7 +213,7 @@
195
213
  <span class="cline-any cline-neutral">&nbsp;</span>
196
214
  <span class="cline-any cline-neutral">&nbsp;</span>
197
215
  <span class="cline-any cline-yes">1x</span>
198
- <span class="cline-any cline-yes">1x</span>
216
+ <span class="cline-any cline-no">&nbsp;</span>
199
217
  <span class="cline-any cline-neutral">&nbsp;</span>
200
218
  <span class="cline-any cline-yes">1x</span>
201
219
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -215,22 +233,24 @@
215
233
  &nbsp;
216
234
  class TagWatcher {
217
235
  intervals: Record&lt;string, ReturnType&lt;typeof setInterval&gt;&gt; = {}
218
- tags: string[] = []
236
+ tags: { id: number; selector: string }[] = []
219
237
  observer: IntersectionObserver
220
238
  &nbsp;
221
239
  constructor(
222
240
  private readonly sessionStorage: Storage,
223
241
  private readonly errLog: (args: any[]) =&gt; void,
224
- private readonly onTag: (tag: string) =&gt; void,
242
+ private readonly onTag: (tag: number) =&gt; void,
225
243
  ) {
226
- const tags = sessionStorage.getItem(WATCHED_TAGS_KEY)?.split(',') || []
244
+ const tags: { id: number; selector: string }[] = JSON.parse(
245
+ sessionStorage.getItem(WATCHED_TAGS_KEY) ?? '[]',
246
+ )
227
247
  this.setTags(tags)
228
248
  this.observer = new IntersectionObserver((entries) =&gt; {
229
249
  entries.forEach((entry) =&gt; {
230
250
  if (entry.isIntersecting) {
231
251
  if (entry.target) {
232
252
  // @ts-ignore
233
- const tag = entry.target.__or_watcher_tagname
253
+ const tag = entry.target.__or_watcher_tagname as number
234
254
  if (tag) {
235
255
  this.onTagRendered(tag)
236
256
  }
@@ -241,42 +261,49 @@ class TagWatcher {
241
261
  })
242
262
  }
243
263
  &nbsp;
244
- async fetchTags() {
245
- return fetch('https://api.openreplay.com/tags')
264
+ async fetchTags(ingest: string, token: string) {
265
+ return fetch(`${ingest}/v1/web/tags`, {
266
+ method: 'GET',
267
+ headers: {
268
+ Authorization: `Bearer ${token}`,
269
+ },
270
+ })
246
271
  .then((r) =&gt; r.json())
247
- .then((tags: string[]) =&gt; {
248
- this.setTags(tags)
249
- this.sessionStorage.setItem(WATCHED_TAGS_KEY, tags.join(',') || <span class="branch-1 cbranch-no" title="branch not covered" >'')</span>
272
+ .then(({ tags }: { tags: { id: number; selector: string }[] }) =&gt; {
273
+ if (tags &amp;&amp; tags.length) {
274
+ this.setTags(tags)
275
+ this.sessionStorage.setItem(WATCHED_TAGS_KEY, JSON.stringify(tags) || <span class="branch-1 cbranch-no" title="branch not covered" >'')</span>
276
+ }
250
277
  })
251
278
  .catch(<span class="fstat-no" title="function not covered" >(e</span>) =&gt; <span class="cstat-no" title="statement not covered" >this.errLog(e))</span>
252
279
  }
253
280
  &nbsp;
254
- setTags(tags: string[]) {
281
+ setTags(tags: { id: number; selector: string }[]) {
255
282
  this.tags = tags
256
283
  this.intervals = {}
257
284
  tags.forEach((tag) =&gt; {
258
- this.intervals[tag] = setInterval(() =&gt; {
259
- const possibleEls = document.querySelectorAll(tag)
285
+ this.intervals[tag.id] = setInterval(() =&gt; {
286
+ const possibleEls = document.querySelectorAll(tag.selector)
260
287
  if (possibleEls.length &gt; 0) {
261
288
  const el = possibleEls[0]
262
289
  // @ts-ignore
263
- el.__or_watcher_tagname = tag
290
+ el.__or_watcher_tagname = tag.id
264
291
  this.observer.observe(el)
265
292
  }
266
293
  }, 500)
267
294
  })
268
295
  }
269
296
  &nbsp;
270
- onTagRendered(tag: string) {
271
- if (this.intervals[tag]) {
272
- clearInterval(this.intervals[tag])
297
+ onTagRendered(tagId: number) {
298
+ <span class="missing-if-branch" title="if path not taken" >I</span>if (this.intervals[tagId]) {
299
+ <span class="cstat-no" title="statement not covered" > clearInterval(this.intervals[tagId])</span>
273
300
  }
274
- this.onTag(tag)
301
+ this.onTag(tagId)
275
302
  }
276
303
  &nbsp;
277
304
  clear() {
278
305
  this.tags.forEach((tag) =&gt; {
279
- clearInterval(this.intervals[tag])
306
+ clearInterval(this.intervals[tag.id])
280
307
  })
281
308
  this.tags = []
282
309
  this.intervals = {}
@@ -292,7 +319,7 @@ export default TagWatcher
292
319
  <div class='footer quiet pad2 space-top1 center small'>
293
320
  Code coverage generated by
294
321
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
295
- at 2024-01-09T16:51:30.347Z
322
+ at 2024-01-23T12:19:37.435Z
296
323
  </div>
297
324
  <script src="../../prettify.js"></script>
298
325
  <script>
@@ -862,7 +862,7 @@ export interface Options {
862
862
  <div class='footer quiet pad2 space-top1 center small'>
863
863
  Code coverage generated by
864
864
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
865
- at 2024-01-09T16:51:30.347Z
865
+ at 2024-01-23T12:19:37.435Z
866
866
  </div>
867
867
  <script src="../../prettify.js"></script>
868
868
  <script>
@@ -355,7 +355,7 @@
355
355
  <div class='footer quiet pad2 space-top1 center small'>
356
356
  Code coverage generated by
357
357
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
358
- at 2024-01-09T16:51:30.347Z
358
+ at 2024-01-23T12:19:37.435Z
359
359
  </div>
360
360
  <script src="../../../prettify.js"></script>
361
361
  <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 2024-01-09T16:51:30.347Z
208
+ at 2024-01-23T12:19:37.435Z
209
209
  </div>
210
210
  <script src="../../../prettify.js"></script>
211
211
  <script>
@@ -176,7 +176,7 @@
176
176
  <div class='footer quiet pad2 space-top1 center small'>
177
177
  Code coverage generated by
178
178
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
179
- at 2024-01-09T16:51:30.347Z
179
+ at 2024-01-23T12:19:37.435Z
180
180
  </div>
181
181
  <script src="../../../prettify.js"></script>
182
182
  <script>
@@ -1894,7 +1894,7 @@ interface Test {
1894
1894
  <div class='footer quiet pad2 space-top1 center small'>
1895
1895
  Code coverage generated by
1896
1896
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
1897
- at 2024-01-09T16:51:30.347Z
1897
+ at 2024-01-23T12:19:37.435Z
1898
1898
  </div>
1899
1899
  <script src="../../../prettify.js"></script>
1900
1900
  <script>
@@ -415,7 +415,7 @@ export const <span class="cstat-no" title="statement not covered" >Quality = {</
415
415
  <div class='footer quiet pad2 space-top1 center small'>
416
416
  Code coverage generated by
417
417
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
418
- at 2024-01-09T16:51:30.347Z
418
+ at 2024-01-23T12:19:37.435Z
419
419
  </div>
420
420
  <script src="../../../prettify.js"></script>
421
421
  <script>
@@ -922,7 +922,7 @@ export const <span class="cstat-no" title="statement not covered" >spinnerStyles
922
922
  <div class='footer quiet pad2 space-top1 center small'>
923
923
  Code coverage generated by
924
924
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
925
- at 2024-01-09T16:51:30.347Z
925
+ at 2024-01-23T12:19:37.435Z
926
926
  </div>
927
927
  <script src="../../../prettify.js"></script>
928
928
  <script>
@@ -349,7 +349,7 @@ export const <span class="cstat-no" title="statement not covered" >TEST_ID = 'or
349
349
  <div class='footer quiet pad2 space-top1 center small'>
350
350
  Code coverage generated by
351
351
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
352
- at 2024-01-09T16:51:30.347Z
352
+ at 2024-01-23T12:19:37.435Z
353
353
  </div>
354
354
  <script src="../../../prettify.js"></script>
355
355
  <script>
@@ -235,7 +235,7 @@
235
235
  <div class='footer quiet pad2 space-top1 center small'>
236
236
  Code coverage generated by
237
237
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
238
- at 2024-01-09T16:51:30.347Z
238
+ at 2024-01-23T12:19:37.435Z
239
239
  </div>
240
240
  <script src="../../prettify.js"></script>
241
241
  <script>
@@ -649,7 +649,7 @@ function <span class="fstat-no" title="function not covered" >dec2hex(</span>dec
649
649
  <div class='footer quiet pad2 space-top1 center small'>
650
650
  Code coverage generated by
651
651
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
652
- at 2024-01-09T16:51:30.347Z
652
+ at 2024-01-23T12:19:37.435Z
653
653
  </div>
654
654
  <script src="../prettify.js"></script>
655
655
  <script>
@@ -484,7 +484,7 @@ const MAX_M_SIZE = <span class="cstat-no" title="statement not covered" >(1 &lt;
484
484
  <div class='footer quiet pad2 space-top1 center small'>
485
485
  Code coverage generated by
486
486
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
487
- at 2024-01-09T16:51:30.347Z
487
+ at 2024-01-23T12:19:37.435Z
488
488
  </div>
489
489
  <script src="../prettify.js"></script>
490
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/145</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/279</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/145</span>
49
+ <span class='fraction'>0/147</span>
50
50
  </div>
51
51
 
52
52
 
@@ -363,7 +363,11 @@
363
363
  <a name='L298'></a><a href='#L298'>298</a>
364
364
  <a name='L299'></a><a href='#L299'>299</a>
365
365
  <a name='L300'></a><a href='#L300'>300</a>
366
- <a name='L301'></a><a href='#L301'>301</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
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>
367
371
  <span class="cline-any cline-neutral">&nbsp;</span>
368
372
  <span class="cline-any cline-neutral">&nbsp;</span>
369
373
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -660,6 +664,10 @@
660
664
  <span class="cline-any cline-no">&nbsp;</span>
661
665
  <span class="cline-any cline-neutral">&nbsp;</span>
662
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>
663
671
  <span class="cline-any cline-neutral">&nbsp;</span>
664
672
  <span class="cline-any cline-neutral">&nbsp;</span>
665
673
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -958,6 +966,10 @@ import Message from '../common/messages.gen.js'
958
966
  case Messages.Type.CanvasNode:
959
967
  <span class="cstat-no" title="statement not covered" > return this.string(msg[1]) &amp;&amp; this.uint(msg[2])</span>
960
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>
961
973
  &nbsp;
962
974
  }
963
975
  }
@@ -970,7 +982,7 @@ import Message from '../common/messages.gen.js'
970
982
  <div class='footer quiet pad2 space-top1 center small'>
971
983
  Code coverage generated by
972
984
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
973
- at 2024-01-09T16:51:30.347Z
985
+ at 2024-01-23T12:19:37.435Z
974
986
  </div>
975
987
  <script src="../prettify.js"></script>
976
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 2024-01-09T16:51:30.347Z
424
+ at 2024-01-23T12:19:37.435Z
425
425
  </div>
426
426
  <script src="../prettify.js"></script>
427
427
  <script>
@@ -502,7 +502,7 @@ const KEEPALIVE_SIZE_LIMIT = <span class="cstat-no" title="statement not covered
502
502
  <div class='footer quiet pad2 space-top1 center small'>
503
503
  Code coverage generated by
504
504
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
505
- at 2024-01-09T16:51:30.347Z
505
+ at 2024-01-23T12:19:37.435Z
506
506
  </div>
507
507
  <script src="../prettify.js"></script>
508
508
  <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/452</span>
28
+ <span class='fraction'>0/454</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/378</span>
35
+ <span class='fraction'>0/379</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/445</span>
49
+ <span class='fraction'>0/447</span>
50
50
  </div>
51
51
 
52
52
 
@@ -99,13 +99,13 @@
99
99
  <div class="chart"><div class="cover-fill" style="width: 0%"></div><div class="cover-empty" style="width: 100%"></div></div>
100
100
  </td>
101
101
  <td data-value="0" class="pct low">0%</td>
102
- <td data-value="145" class="abs low">0/145</td>
102
+ <td data-value="147" class="abs low">0/147</td>
103
103
  <td data-value="0" class="pct low">0%</td>
104
- <td data-value="279" class="abs low">0/279</td>
104
+ <td data-value="280" class="abs low">0/280</td>
105
105
  <td data-value="0" class="pct low">0%</td>
106
106
  <td data-value="1" class="abs low">0/1</td>
107
107
  <td data-value="0" class="pct low">0%</td>
108
- <td data-value="145" class="abs low">0/145</td>
108
+ <td data-value="147" class="abs low">0/147</td>
109
109
  </tr>
110
110
 
111
111
  <tr>
@@ -161,7 +161,7 @@
161
161
  <div class='footer quiet pad2 space-top1 center small'>
162
162
  Code coverage generated by
163
163
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
164
- at 2024-01-09T16:51:30.347Z
164
+ at 2024-01-23T12:19:37.435Z
165
165
  </div>
166
166
  <script src="../prettify.js"></script>
167
167
  <script>
@@ -622,7 +622,7 @@ let restartTimeoutID: ReturnType&lt;typeof setTimeout&gt;
622
622
  <div class='footer quiet pad2 space-top1 center small'>
623
623
  Code coverage generated by
624
624
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
625
- at 2024-01-09T16:51:30.347Z
625
+ at 2024-01-23T12:19:37.435Z
626
626
  </div>
627
627
  <script src="../prettify.js"></script>
628
628
  <script>