ugly-app 0.1.358 → 0.1.360

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 (134) hide show
  1. package/coverage/client/AppProvider.tsx.html +1 -1
  2. package/coverage/client/FeedbackContext.ts.html +1 -1
  3. package/coverage/client/LoginPopup.tsx.html +2 -2
  4. package/coverage/client/Router.tsx.html +1 -1
  5. package/coverage/client/Screenshot.ts.html +1 -1
  6. package/coverage/client/StringsProvider.tsx.html +1 -1
  7. package/coverage/client/ViewFlipper.tsx.html +1 -1
  8. package/coverage/client/animation/Animated.tsx.html +1 -1
  9. package/coverage/client/animation/animatedValue.ts.html +1 -1
  10. package/coverage/client/animation/index.html +1 -1
  11. package/coverage/client/components/Button.tsx.html +1 -1
  12. package/coverage/client/components/FeedbackButton.tsx.html +1 -1
  13. package/coverage/client/components/Input.tsx.html +1 -1
  14. package/coverage/client/components/Modal.tsx.html +1 -1
  15. package/coverage/client/components/Text.tsx.html +1 -1
  16. package/coverage/client/components/Toast.tsx.html +1 -1
  17. package/coverage/client/components/index.html +1 -1
  18. package/coverage/client/components/zIndex.ts.html +1 -1
  19. package/coverage/client/createSocket.ts.html +44 -44
  20. package/coverage/client/index.html +15 -15
  21. package/coverage/clover.xml +99 -99
  22. package/coverage/collab/server/CollabServer.ts.html +1 -1
  23. package/coverage/collab/server/index.html +1 -1
  24. package/coverage/coverage-final.json +9 -9
  25. package/coverage/index.html +14 -14
  26. package/coverage/server/Cache.ts.html +1 -1
  27. package/coverage/server/DB.ts.html +1 -1
  28. package/coverage/server/DataProxyClient.ts.html +2 -2
  29. package/coverage/server/Email.ts.html +1 -1
  30. package/coverage/server/EmailTemplate.ts.html +1 -1
  31. package/coverage/server/EventLogAdmin.ts.html +1 -1
  32. package/coverage/server/NatsProxyClient.ts.html +1 -1
  33. package/coverage/server/PushNotification.ts.html +1 -1
  34. package/coverage/server/RateLimit.ts.html +1 -1
  35. package/coverage/server/Router.ts.html +1 -1
  36. package/coverage/server/SchemaCheck.ts.html +1 -1
  37. package/coverage/server/Socket.ts.html +1 -1
  38. package/coverage/server/Strings.ts.html +1 -1
  39. package/coverage/server/ai/ImageGenClient.ts.html +1 -1
  40. package/coverage/server/ai/ProviderBalance.ts.html +1 -1
  41. package/coverage/server/ai/TextGenClient.ts.html +1 -1
  42. package/coverage/server/ai/WebSearchClient.ts.html +1 -1
  43. package/coverage/server/ai/index.html +1 -1
  44. package/coverage/server/ai/index.ts.html +1 -1
  45. package/coverage/server/ai/providers/UglyBotImageGenProvider.ts.html +1 -1
  46. package/coverage/server/ai/providers/UglyBotTextGenProvider.ts.html +1 -1
  47. package/coverage/server/ai/providers/UglyBotWebSearchProvider.ts.html +1 -1
  48. package/coverage/server/ai/providers/index.html +1 -1
  49. package/coverage/server/ai/types.ts.html +1 -1
  50. package/coverage/server/billing/BillingGateway.ts.html +1 -1
  51. package/coverage/server/billing/BillingLedger.ts.html +4 -4
  52. package/coverage/server/billing/CreditStore.ts.html +1 -1
  53. package/coverage/server/billing/LimitEnforcer.ts.html +1 -1
  54. package/coverage/server/billing/UserLimitCache.ts.html +1 -1
  55. package/coverage/server/billing/index.html +5 -5
  56. package/coverage/server/billing/types.ts.html +1 -1
  57. package/coverage/server/embeddings/EmbeddingClient.ts.html +1 -1
  58. package/coverage/server/embeddings/index.html +1 -1
  59. package/coverage/server/embeddings/providers/OpenAI.ts.html +1 -1
  60. package/coverage/server/embeddings/providers/index.html +1 -1
  61. package/coverage/server/embeddings/registry.ts.html +1 -1
  62. package/coverage/server/index.html +1 -1
  63. package/coverage/server/uglyBotProxy.ts.html +1 -1
  64. package/coverage/shared/AiProxy.ts.html +12 -6
  65. package/coverage/shared/Api.ts.html +1 -1
  66. package/coverage/shared/Audio.ts.html +1 -1
  67. package/coverage/shared/DB.ts.html +35 -2
  68. package/coverage/shared/Errors.ts.html +1 -1
  69. package/coverage/shared/Experiment.ts.html +1 -1
  70. package/coverage/shared/FrameworkMessages.ts.html +1 -1
  71. package/coverage/shared/FrameworkRequests.ts.html +1 -1
  72. package/coverage/shared/ImageGen.ts.html +1 -1
  73. package/coverage/shared/Router.ts.html +1 -1
  74. package/coverage/shared/SchemaDiff.ts.html +1 -1
  75. package/coverage/shared/SchemaSerializer.ts.html +1 -1
  76. package/coverage/shared/Strings.ts.html +1 -1
  77. package/coverage/shared/TextGen.ts.html +65 -11
  78. package/coverage/shared/UglyBotMessages.ts.html +1 -1
  79. package/coverage/shared/Voice.ts.html +1 -1
  80. package/coverage/shared/index.html +1 -1
  81. package/coverage/shared/index.ts.html +1 -1
  82. package/coverage/shared/lang/builtin_en.ts.html +1 -1
  83. package/coverage/shared/lang/index.html +1 -1
  84. package/coverage/shared/uglyBotUrl.ts.html +1 -1
  85. package/coverage/three/server/VideoEncoder.ts.html +4 -4
  86. package/coverage/three/server/index.html +1 -1
  87. package/coverage/three/shared/CameraController.ts.html +13 -13
  88. package/coverage/three/shared/PostProcessing.ts.html +1 -1
  89. package/coverage/three/shared/index.html +1 -1
  90. package/coverage/webrtc/server/VideoRoomServer.ts.html +1 -1
  91. package/coverage/webrtc/server/index.html +1 -1
  92. package/coverage/worker/TaskHost.ts.html +1 -1
  93. package/coverage/worker/index.html +1 -1
  94. package/dist/cli/index.js +18 -12
  95. package/dist/cli/index.js.map +1 -1
  96. package/dist/cli/serverLogQueryApi.d.ts +4 -0
  97. package/dist/cli/serverLogQueryApi.d.ts.map +1 -1
  98. package/dist/cli/serverLogQueryApi.js +18 -7
  99. package/dist/cli/serverLogQueryApi.js.map +1 -1
  100. package/dist/cli/version.d.ts +1 -1
  101. package/dist/cli/version.js +1 -1
  102. package/dist/server/App.d.ts.map +1 -1
  103. package/dist/server/App.js +4 -1
  104. package/dist/server/App.js.map +1 -1
  105. package/dist/server/DataProxyClient.d.ts +1 -0
  106. package/dist/server/DataProxyClient.d.ts.map +1 -1
  107. package/dist/server/DataProxyClient.js +1 -1
  108. package/dist/server/DataProxyClient.js.map +1 -1
  109. package/dist/server/Logging.d.ts +3 -2
  110. package/dist/server/Logging.d.ts.map +1 -1
  111. package/dist/server/Logging.js +68 -80
  112. package/dist/server/Logging.js.map +1 -1
  113. package/dist/server/SchemaCheck.d.ts.map +1 -1
  114. package/dist/server/SchemaCheck.js +15 -1
  115. package/dist/server/SchemaCheck.js.map +1 -1
  116. package/dist/shared/DB.d.ts +9 -0
  117. package/dist/shared/DB.d.ts.map +1 -1
  118. package/dist/shared/DB.js +4 -0
  119. package/dist/shared/DB.js.map +1 -1
  120. package/package.json +1 -1
  121. package/src/cli/index.ts +32 -15
  122. package/src/cli/serverLogQueryApi.ts +31 -13
  123. package/src/cli/version.ts +1 -1
  124. package/src/server/App.ts +4 -1
  125. package/src/server/DataProxyClient.ts +1 -1
  126. package/src/server/Logging.ts +89 -81
  127. package/src/server/SchemaCheck.ts +16 -1
  128. package/src/shared/DB.ts +11 -0
  129. package/templates/playwright.config.ts +6 -0
  130. package/dist/cli/serverLogQuery.d.ts +0 -6
  131. package/dist/cli/serverLogQuery.d.ts.map +0 -1
  132. package/dist/cli/serverLogQuery.js +0 -123
  133. package/dist/cli/serverLogQuery.js.map +0 -1
  134. package/src/cli/serverLogQuery.ts +0 -145
@@ -880,7 +880,7 @@ function PopupLayer({ popups }: { popups: PopupEntry[] }) {
880
880
  <div class='footer quiet pad2 space-top1 center small'>
881
881
  Code coverage generated by
882
882
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
883
- at 2026-04-12T17:18:28.972Z
883
+ at 2026-04-12T22:35:43.775Z
884
884
  </div>
885
885
  <script src="../prettify.js"></script>
886
886
  <script>
@@ -118,7 +118,7 @@ export function clearFeedbackContext(): void {
118
118
  <div class='footer quiet pad2 space-top1 center small'>
119
119
  Code coverage generated by
120
120
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
121
- at 2026-04-12T17:18:28.972Z
121
+ at 2026-04-12T22:35:43.775Z
122
122
  </div>
123
123
  <script src="../prettify.js"></script>
124
124
  <script>
@@ -199,7 +199,7 @@
199
199
  <span class="cline-any cline-neutral">&nbsp;</span>
200
200
  <span class="cline-any cline-yes">4x</span>
201
201
  <span class="cline-any cline-yes">3x</span>
202
- <span class="cline-any cline-yes">3x</span>
202
+ <span class="cline-any cline-yes">2x</span>
203
203
  <span class="cline-any cline-yes">1x</span>
204
204
  <span class="cline-any cline-yes">1x</span>
205
205
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -322,7 +322,7 @@ export function LoginPopup({ onSuccess, inline = false }: LoginPopupProps) {
322
322
  <div class='footer quiet pad2 space-top1 center small'>
323
323
  Code coverage generated by
324
324
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
325
- at 2026-04-12T17:18:28.972Z
325
+ at 2026-04-12T22:35:43.775Z
326
326
  </div>
327
327
  <script src="../prettify.js"></script>
328
328
  <script>
@@ -2215,7 +2215,7 @@ export function Link&lt;
2215
2215
  <div class='footer quiet pad2 space-top1 center small'>
2216
2216
  Code coverage generated by
2217
2217
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
2218
- at 2026-04-12T17:18:28.972Z
2218
+ at 2026-04-12T22:35:43.775Z
2219
2219
  </div>
2220
2220
  <script src="../prettify.js"></script>
2221
2221
  <script>
@@ -775,7 +775,7 @@ export function captureElementMap(): ElementMap {
775
775
  <div class='footer quiet pad2 space-top1 center small'>
776
776
  Code coverage generated by
777
777
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
778
- at 2026-04-12T17:18:28.972Z
778
+ at 2026-04-12T22:35:43.775Z
779
779
  </div>
780
780
  <script src="../prettify.js"></script>
781
781
  <script>
@@ -682,7 +682,7 @@ export function useStringsContext(): StringsContextValue | null {
682
682
  <div class='footer quiet pad2 space-top1 center small'>
683
683
  Code coverage generated by
684
684
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
685
- at 2026-04-12T17:18:28.972Z
685
+ at 2026-04-12T22:35:43.775Z
686
686
  </div>
687
687
  <script src="../prettify.js"></script>
688
688
  <script>
@@ -763,7 +763,7 @@ export function ViewFlipper({
763
763
  <div class='footer quiet pad2 space-top1 center small'>
764
764
  Code coverage generated by
765
765
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
766
- at 2026-04-12T17:18:28.972Z
766
+ at 2026-04-12T22:35:43.775Z
767
767
  </div>
768
768
  <script src="../prettify.js"></script>
769
769
  <script>
@@ -529,7 +529,7 @@ export const Animated = {
529
529
  <div class='footer quiet pad2 space-top1 center small'>
530
530
  Code coverage generated by
531
531
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
532
- at 2026-04-12T17:18:28.972Z
532
+ at 2026-04-12T22:35:43.775Z
533
533
  </div>
534
534
  <script src="../../prettify.js"></script>
535
535
  <script>
@@ -706,7 +706,7 @@ export function useAnimatedValueTracker(animatedValue: AnimatedValueRef): number
706
706
  <div class='footer quiet pad2 space-top1 center small'>
707
707
  Code coverage generated by
708
708
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
709
- at 2026-04-12T17:18:28.972Z
709
+ at 2026-04-12T22:35:43.775Z
710
710
  </div>
711
711
  <script src="../../prettify.js"></script>
712
712
  <script>
@@ -116,7 +116,7 @@
116
116
  <div class='footer quiet pad2 space-top1 center small'>
117
117
  Code coverage generated by
118
118
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
119
- at 2026-04-12T17:18:28.972Z
119
+ at 2026-04-12T22:35:43.775Z
120
120
  </div>
121
121
  <script src="../../prettify.js"></script>
122
122
  <script>
@@ -364,7 +364,7 @@ export function Button({
364
364
  <div class='footer quiet pad2 space-top1 center small'>
365
365
  Code coverage generated by
366
366
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
367
- at 2026-04-12T17:18:28.972Z
367
+ at 2026-04-12T22:35:43.775Z
368
368
  </div>
369
369
  <script src="../../prettify.js"></script>
370
370
  <script>
@@ -616,7 +616,7 @@ export function FeedbackButton(): ReactNode {
616
616
  <div class='footer quiet pad2 space-top1 center small'>
617
617
  Code coverage generated by
618
618
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
619
- at 2026-04-12T17:18:28.972Z
619
+ at 2026-04-12T22:35:43.775Z
620
620
  </div>
621
621
  <script src="../../prettify.js"></script>
622
622
  <script>
@@ -271,7 +271,7 @@ export function Input({
271
271
  <div class='footer quiet pad2 space-top1 center small'>
272
272
  Code coverage generated by
273
273
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
274
- at 2026-04-12T17:18:28.972Z
274
+ at 2026-04-12T22:35:43.775Z
275
275
  </div>
276
276
  <script src="../../prettify.js"></script>
277
277
  <script>
@@ -262,7 +262,7 @@ export function Modal({
262
262
  <div class='footer quiet pad2 space-top1 center small'>
263
263
  Code coverage generated by
264
264
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
265
- at 2026-04-12T17:18:28.972Z
265
+ at 2026-04-12T22:35:43.775Z
266
266
  </div>
267
267
  <script src="../../prettify.js"></script>
268
268
  <script>
@@ -334,7 +334,7 @@ export function Text({
334
334
  <div class='footer quiet pad2 space-top1 center small'>
335
335
  Code coverage generated by
336
336
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
337
- at 2026-04-12T17:18:28.972Z
337
+ at 2026-04-12T22:35:43.775Z
338
338
  </div>
339
339
  <script src="../../prettify.js"></script>
340
340
  <script>
@@ -220,7 +220,7 @@ export function Toast({
220
220
  <div class='footer quiet pad2 space-top1 center small'>
221
221
  Code coverage generated by
222
222
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
223
- at 2026-04-12T17:18:28.972Z
223
+ at 2026-04-12T22:35:43.775Z
224
224
  </div>
225
225
  <script src="../../prettify.js"></script>
226
226
  <script>
@@ -191,7 +191,7 @@
191
191
  <div class='footer quiet pad2 space-top1 center small'>
192
192
  Code coverage generated by
193
193
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
194
- at 2026-04-12T17:18:28.972Z
194
+ at 2026-04-12T22:35:43.775Z
195
195
  </div>
196
196
  <script src="../../prettify.js"></script>
197
197
  <script>
@@ -103,7 +103,7 @@ export const Z = {
103
103
  <div class='footer quiet pad2 space-top1 center small'>
104
104
  Code coverage generated by
105
105
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
106
- at 2026-04-12T17:18:28.972Z
106
+ at 2026-04-12T22:35:43.775Z
107
107
  </div>
108
108
  <script src="../../prettify.js"></script>
109
109
  <script>
@@ -23,16 +23,16 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">98.19% </span>
26
+ <span class="strong">97.83% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>272/277</span>
28
+ <span class='fraction'>271/277</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">91.52% </span>
33
+ <span class="strong">90.67% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>108/118</span>
35
+ <span class='fraction'>107/118</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">98.5% </span>
47
+ <span class="strong">98.12% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>263/267</span>
49
+ <span class='fraction'>262/267</span>
50
50
  </div>
51
51
 
52
52
 
@@ -951,20 +951,20 @@
951
951
  <span class="cline-any cline-neutral">&nbsp;</span>
952
952
  <span class="cline-any cline-neutral">&nbsp;</span>
953
953
  <span class="cline-any cline-neutral">&nbsp;</span>
954
- <span class="cline-any cline-yes">451x</span>
955
- <span class="cline-any cline-yes">451x</span>
956
- <span class="cline-any cline-yes">451x</span>
954
+ <span class="cline-any cline-yes">466x</span>
955
+ <span class="cline-any cline-yes">466x</span>
956
+ <span class="cline-any cline-yes">466x</span>
957
957
  <span class="cline-any cline-neutral">&nbsp;</span>
958
958
  <span class="cline-any cline-neutral">&nbsp;</span>
959
- <span class="cline-any cline-yes">451x</span>
959
+ <span class="cline-any cline-yes">466x</span>
960
960
  <span class="cline-any cline-neutral">&nbsp;</span>
961
961
  <span class="cline-any cline-yes">100x</span>
962
962
  <span class="cline-any cline-neutral">&nbsp;</span>
963
963
  <span class="cline-any cline-neutral">&nbsp;</span>
964
964
  <span class="cline-any cline-neutral">&nbsp;</span>
965
965
  <span class="cline-any cline-neutral">&nbsp;</span>
966
- <span class="cline-any cline-yes">441x</span>
967
- <span class="cline-any cline-yes">441x</span>
966
+ <span class="cline-any cline-yes">462x</span>
967
+ <span class="cline-any cline-yes">462x</span>
968
968
  <span class="cline-any cline-yes">14x</span>
969
969
  <span class="cline-any cline-neutral">&nbsp;</span>
970
970
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -990,9 +990,9 @@
990
990
  <span class="cline-any cline-neutral">&nbsp;</span>
991
991
  <span class="cline-any cline-neutral">&nbsp;</span>
992
992
  <span class="cline-any cline-yes">47x</span>
993
- <span class="cline-any cline-yes">43x</span>
993
+ <span class="cline-any cline-yes">45x</span>
994
994
  <span class="cline-any cline-neutral">&nbsp;</span>
995
- <span class="cline-any cline-yes">4x</span>
995
+ <span class="cline-any cline-yes">2x</span>
996
996
  <span class="cline-any cline-neutral">&nbsp;</span>
997
997
  <span class="cline-any cline-neutral">&nbsp;</span>
998
998
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -1032,7 +1032,7 @@
1032
1032
  <span class="cline-any cline-neutral">&nbsp;</span>
1033
1033
  <span class="cline-any cline-neutral">&nbsp;</span>
1034
1034
  <span class="cline-any cline-neutral">&nbsp;</span>
1035
- <span class="cline-any cline-yes">542x</span>
1035
+ <span class="cline-any cline-yes">560x</span>
1036
1036
  <span class="cline-any cline-yes">75x</span>
1037
1037
  <span class="cline-any cline-yes">75x</span>
1038
1038
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -1060,7 +1060,7 @@
1060
1060
  <span class="cline-any cline-neutral">&nbsp;</span>
1061
1061
  <span class="cline-any cline-neutral">&nbsp;</span>
1062
1062
  <span class="cline-any cline-yes">66x</span>
1063
- <span class="cline-any cline-yes">2x</span>
1063
+ <span class="cline-any cline-no">&nbsp;</span>
1064
1064
  <span class="cline-any cline-neutral">&nbsp;</span>
1065
1065
  <span class="cline-any cline-yes">66x</span>
1066
1066
  <span class="cline-any cline-yes">3x</span>
@@ -1204,21 +1204,21 @@
1204
1204
  <span class="cline-any cline-neutral">&nbsp;</span>
1205
1205
  <span class="cline-any cline-neutral">&nbsp;</span>
1206
1206
  <span class="cline-any cline-neutral">&nbsp;</span>
1207
- <span class="cline-any cline-yes">362x</span>
1208
- <span class="cline-any cline-yes">361x</span>
1209
- <span class="cline-any cline-yes">361x</span>
1207
+ <span class="cline-any cline-yes">379x</span>
1208
+ <span class="cline-any cline-yes">378x</span>
1209
+ <span class="cline-any cline-yes">378x</span>
1210
1210
  <span class="cline-any cline-neutral">&nbsp;</span>
1211
- <span class="cline-any cline-yes">361x</span>
1212
- <span class="cline-any cline-yes">362x</span>
1211
+ <span class="cline-any cline-yes">378x</span>
1212
+ <span class="cline-any cline-yes">379x</span>
1213
1213
  <span class="cline-any cline-yes">6x</span>
1214
1214
  <span class="cline-any cline-yes">12x</span>
1215
1215
  <span class="cline-any cline-neutral">&nbsp;</span>
1216
1216
  <span class="cline-any cline-neutral">&nbsp;</span>
1217
1217
  <span class="cline-any cline-neutral">&nbsp;</span>
1218
- <span class="cline-any cline-yes">361x</span>
1219
- <span class="cline-any cline-yes">361x</span>
1218
+ <span class="cline-any cline-yes">378x</span>
1219
+ <span class="cline-any cline-yes">378x</span>
1220
1220
  <span class="cline-any cline-neutral">&nbsp;</span>
1221
- <span class="cline-any cline-yes">361x</span>
1221
+ <span class="cline-any cline-yes">378x</span>
1222
1222
  <span class="cline-any cline-yes">75x</span>
1223
1223
  <span class="cline-any cline-yes">75x</span>
1224
1224
  <span class="cline-any cline-yes">75x</span>
@@ -1249,12 +1249,12 @@
1249
1249
  <span class="cline-any cline-neutral">&nbsp;</span>
1250
1250
  <span class="cline-any cline-neutral">&nbsp;</span>
1251
1251
  <span class="cline-any cline-neutral">&nbsp;</span>
1252
- <span class="cline-any cline-yes">361x</span>
1253
- <span class="cline-any cline-yes">360x</span>
1254
- <span class="cline-any cline-yes">360x</span>
1255
- <span class="cline-any cline-yes">360x</span>
1252
+ <span class="cline-any cline-yes">378x</span>
1253
+ <span class="cline-any cline-yes">378x</span>
1254
+ <span class="cline-any cline-yes">378x</span>
1255
+ <span class="cline-any cline-yes">378x</span>
1256
1256
  <span class="cline-any cline-neutral">&nbsp;</span>
1257
- <span class="cline-any cline-yes">360x</span>
1257
+ <span class="cline-any cline-yes">378x</span>
1258
1258
  <span class="cline-any cline-yes">3x</span>
1259
1259
  <span class="cline-any cline-yes">3x</span>
1260
1260
  <span class="cline-any cline-yes">3x</span>
@@ -1265,27 +1265,27 @@
1265
1265
  <span class="cline-any cline-yes">3x</span>
1266
1266
  <span class="cline-any cline-neutral">&nbsp;</span>
1267
1267
  <span class="cline-any cline-neutral">&nbsp;</span>
1268
- <span class="cline-any cline-yes">357x</span>
1269
- <span class="cline-any cline-yes">357x</span>
1268
+ <span class="cline-any cline-yes">375x</span>
1269
+ <span class="cline-any cline-yes">375x</span>
1270
1270
  <span class="cline-any cline-yes">1x</span>
1271
1271
  <span class="cline-any cline-yes">1x</span>
1272
1272
  <span class="cline-any cline-neutral">&nbsp;</span>
1273
- <span class="cline-any cline-yes">357x</span>
1273
+ <span class="cline-any cline-yes">375x</span>
1274
1274
  <span class="cline-any cline-neutral">&nbsp;</span>
1275
- <span class="cline-any cline-yes">357x</span>
1276
- <span class="cline-any cline-yes">351x</span>
1277
- <span class="cline-any cline-yes">351x</span>
1278
- <span class="cline-any cline-yes">351x</span>
1279
- <span class="cline-any cline-yes">261x</span>
1280
- <span class="cline-any cline-yes">261x</span>
1275
+ <span class="cline-any cline-yes">375x</span>
1276
+ <span class="cline-any cline-yes">366x</span>
1277
+ <span class="cline-any cline-yes">366x</span>
1278
+ <span class="cline-any cline-yes">366x</span>
1279
+ <span class="cline-any cline-yes">278x</span>
1280
+ <span class="cline-any cline-yes">278x</span>
1281
1281
  <span class="cline-any cline-neutral">&nbsp;</span>
1282
1282
  <span class="cline-any cline-neutral">&nbsp;</span>
1283
- <span class="cline-any cline-yes">6x</span>
1284
- <span class="cline-any cline-yes">6x</span>
1283
+ <span class="cline-any cline-yes">9x</span>
1284
+ <span class="cline-any cline-yes">9x</span>
1285
1285
  <span class="cline-any cline-neutral">&nbsp;</span>
1286
1286
  <span class="cline-any cline-neutral">&nbsp;</span>
1287
1287
  <span class="cline-any cline-neutral">&nbsp;</span>
1288
- <span class="cline-any cline-yes">361x</span>
1288
+ <span class="cline-any cline-yes">378x</span>
1289
1289
  <span class="cline-any cline-neutral">&nbsp;</span>
1290
1290
  <span class="cline-any cline-neutral">&nbsp;</span>
1291
1291
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -1780,8 +1780,8 @@ export function createSocket&lt;R extends AppRegistryBase&gt;(
1780
1780
  // ─── Flush queue ───────────────────────────────────────────────────────────
1781
1781
  &nbsp;
1782
1782
  function flushQueue() {
1783
- while (messageQueue.length &gt; 0 &amp;&amp; ws?.readyState === WebSocket.OPEN) {
1784
- ws.send(messageQueue.shift()!);
1783
+ while (messageQueue.length &gt; 0 &amp;&amp; <span class="branch-1 cbranch-no" title="branch not covered" >ws?.readyState === WebSocket.OPEN) {</span>
1784
+ <span class="cstat-no" title="statement not covered" > ws.send(messageQueue.shift()!);</span>
1785
1785
  }
1786
1786
  if (opts.buildId) {
1787
1787
  socketSend('buildId', {})
@@ -2233,7 +2233,7 @@ export function createSocket&lt;R extends AppRegistryBase&gt;(
2233
2233
  <div class='footer quiet pad2 space-top1 center small'>
2234
2234
  Code coverage generated by
2235
2235
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
2236
- at 2026-04-12T17:18:28.972Z
2236
+ at 2026-04-12T22:35:43.775Z
2237
2237
  </div>
2238
2238
  <script src="../prettify.js"></script>
2239
2239
  <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.99% </span>
26
+ <span class="strong">97.87% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>783/799</span>
28
+ <span class='fraction'>782/799</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">92.7% </span>
33
+ <span class="strong">92.45% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>381/411</span>
35
+ <span class='fraction'>380/411</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">99.17% </span>
47
+ <span class="strong">99.04% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>725/731</span>
49
+ <span class='fraction'>724/731</span>
50
50
  </div>
51
51
 
52
52
 
@@ -185,17 +185,17 @@
185
185
 
186
186
  <tr>
187
187
  <td class="file high" data-value="createSocket.ts"><a href="createSocket.ts.html">createSocket.ts</a></td>
188
- <td data-value="98.19" class="pic high">
189
- <div class="chart"><div class="cover-fill" style="width: 98%"></div><div class="cover-empty" style="width: 2%"></div></div>
188
+ <td data-value="97.83" class="pic high">
189
+ <div class="chart"><div class="cover-fill" style="width: 97%"></div><div class="cover-empty" style="width: 3%"></div></div>
190
190
  </td>
191
- <td data-value="98.19" class="pct high">98.19%</td>
192
- <td data-value="277" class="abs high">272/277</td>
193
- <td data-value="91.52" class="pct high">91.52%</td>
194
- <td data-value="118" class="abs high">108/118</td>
191
+ <td data-value="97.83" class="pct high">97.83%</td>
192
+ <td data-value="277" class="abs high">271/277</td>
193
+ <td data-value="90.67" class="pct high">90.67%</td>
194
+ <td data-value="118" class="abs high">107/118</td>
195
195
  <td data-value="94.2" class="pct high">94.2%</td>
196
196
  <td data-value="69" class="abs high">65/69</td>
197
- <td data-value="98.5" class="pct high">98.5%</td>
198
- <td data-value="267" class="abs high">263/267</td>
197
+ <td data-value="98.12" class="pct high">98.12%</td>
198
+ <td data-value="267" class="abs high">262/267</td>
199
199
  </tr>
200
200
 
201
201
  </tbody>
@@ -206,7 +206,7 @@
206
206
  <div class='footer quiet pad2 space-top1 center small'>
207
207
  Code coverage generated by
208
208
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
209
- at 2026-04-12T17:18:28.972Z
209
+ at 2026-04-12T22:35:43.775Z
210
210
  </div>
211
211
  <script src="../prettify.js"></script>
212
212
  <script>