kage-baileys 3.0.6 → 3.2.4

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 (217) hide show
  1. package/Example/connection.cjs +4 -0
  2. package/README.MD +4726 -48
  3. package/README.md +5941 -0
  4. package/WAProto/WAProto.proto +3395 -415
  5. package/WAProto/compat.cjs +12 -0
  6. package/WAProto/index.d.ts +47104 -19888
  7. package/WAProto/index.js +131979 -57361
  8. package/lib/Addon/http-error.js +43 -0
  9. package/lib/Addon/index.js +32 -0
  10. package/lib/Addon/keyed-db.js +250 -0
  11. package/lib/Addon/link-preview.js +82 -0
  12. package/lib/Defaults/baileys-version.json +3 -0
  13. package/lib/Defaults/connection.js +110 -0
  14. package/lib/Defaults/constants.js +156 -0
  15. package/lib/Defaults/history.js +46 -0
  16. package/lib/Defaults/index.js +230 -0
  17. package/lib/Defaults/media.js +104 -0
  18. package/lib/Defaults/phonenumber-mcc.json +223 -0
  19. package/lib/Defaults/prefix.js +44 -0
  20. package/lib/Extensions/business-advanced.js +382 -0
  21. package/lib/Extensions/business.js +159 -0
  22. package/lib/Extensions/chats-advanced.js +1106 -0
  23. package/lib/Extensions/chats.js +349 -0
  24. package/lib/Extensions/communities-advanced.js +430 -0
  25. package/lib/Extensions/community.js +94 -0
  26. package/lib/Extensions/groups-advanced.js +343 -0
  27. package/lib/Extensions/index.js +30 -0
  28. package/lib/Extensions/messages-recv-advanced.js +1690 -0
  29. package/lib/Extensions/messages-send-advanced.js +622 -0
  30. package/lib/Extensions/messages-send.js +1380 -0
  31. package/lib/Extensions/newsletter-advanced.js +228 -0
  32. package/lib/Extensions/newsletter.js +72 -0
  33. package/lib/Extensions/socket.js +389 -0
  34. package/lib/Modded/message_builder.js +2084 -4
  35. package/lib/Signal/Group/ciphertext-message.js +54 -0
  36. package/lib/Signal/Group/group-session-builder.js +124 -0
  37. package/lib/Signal/Group/group_cipher.js +216 -0
  38. package/lib/Signal/Group/index.js +124 -0
  39. package/lib/Signal/Group/keyhelper.js +108 -0
  40. package/lib/Signal/Group/sender-chain-key.js +83 -0
  41. package/lib/Signal/Group/sender-key-distribution-message.js +157 -0
  42. package/lib/Signal/Group/sender-key-message.js +166 -0
  43. package/lib/Signal/Group/sender-key-name.js +130 -0
  44. package/lib/Signal/Group/sender-key-record.js +113 -0
  45. package/lib/Signal/Group/sender-key-state.js +208 -0
  46. package/lib/Signal/Group/sender-message-key.js +82 -0
  47. package/lib/Signal/libsignal.js +935 -0
  48. package/lib/Signal/lid-mapping.js +545 -1
  49. package/lib/Socket/Client/index.js +60 -0
  50. package/lib/Socket/Client/types.js +51 -0
  51. package/lib/Socket/Client/websocket.js +152 -0
  52. package/lib/Socket/business.js +831 -0
  53. package/lib/Socket/chats.js +2535 -49
  54. package/lib/Socket/communities.js +450 -1
  55. package/lib/Socket/community.js +1022 -0
  56. package/lib/Socket/dugong.js +1 -1
  57. package/lib/Socket/groups.js +747 -0
  58. package/lib/Socket/index.js +60 -2
  59. package/lib/Socket/messages-recv.js +3450 -5
  60. package/lib/Socket/messages-send.js +3123 -0
  61. package/lib/Socket/mex.js +126 -1
  62. package/lib/Socket/newsletter.js +465 -0
  63. package/lib/Socket/socket.js +2217 -1
  64. package/lib/Store/index.js +79 -0
  65. package/lib/Store/make-cache-manager-store.js +186 -0
  66. package/lib/Store/make-in-memory-store.js +878 -0
  67. package/lib/Store/make-ordered-dictionary.js +187 -0
  68. package/lib/Store/object-repository.js +78 -0
  69. package/lib/Types/Auth.js +25 -0
  70. package/lib/Types/Bussines.js +25 -1
  71. package/lib/Types/Call.js +25 -0
  72. package/lib/Types/Chat.js +39 -0
  73. package/lib/Types/Contact.js +25 -0
  74. package/lib/Types/Events.js +25 -0
  75. package/lib/Types/GroupMetadata.js +25 -0
  76. package/lib/Types/Label.js +76 -0
  77. package/lib/Types/LabelAssociation.js +40 -0
  78. package/lib/Types/Message.js +57 -0
  79. package/lib/Types/Mex.js +56 -1
  80. package/lib/Types/MexUpdates.js +46 -0
  81. package/lib/Types/Newsletter.js +56 -0
  82. package/lib/Types/Product.js +25 -0
  83. package/lib/Types/RichType.js +23 -0
  84. package/lib/Types/Signal.js +25 -0
  85. package/lib/Types/Socket.js +25 -0
  86. package/lib/Types/State.js +92 -0
  87. package/lib/Types/USync.js +25 -0
  88. package/lib/Types/index.js +133 -0
  89. package/lib/Utils/auth-utils.js +703 -0
  90. package/lib/Utils/automation-tools.js +51 -16
  91. package/lib/Utils/baileys-event-stream.js +146 -0
  92. package/lib/Utils/browser-utils.js +95 -0
  93. package/lib/Utils/business.js +525 -0
  94. package/lib/Utils/chat-utils.js +1861 -0
  95. package/lib/Utils/companion-reg-client-utils.js +55 -1
  96. package/lib/Utils/crypto.js +355 -0
  97. package/lib/Utils/decode-wa-message.js +709 -0
  98. package/lib/Utils/event-buffer.js +1323 -8
  99. package/lib/Utils/generics.js +945 -1
  100. package/lib/Utils/history.js +266 -0
  101. package/lib/Utils/identity-change-handler.js +62 -1
  102. package/lib/Utils/index.js +114 -0
  103. package/lib/Utils/link-preview.js +179 -0
  104. package/lib/Utils/logger.js +42 -0
  105. package/lib/Utils/lt-hash.js +73 -0
  106. package/lib/Utils/make-mutex.js +104 -0
  107. package/lib/Utils/message-inspector.js +110 -0
  108. package/lib/Utils/message-retry-manager.js +507 -2
  109. package/lib/Utils/messages-media.js +1931 -1
  110. package/lib/Utils/messages.js +3748 -0
  111. package/lib/Utils/noise-handler.js +423 -0
  112. package/lib/Utils/offline-node-processor.js +53 -1
  113. package/lib/Utils/pre-key-manager.js +255 -1
  114. package/lib/Utils/process-message.js +1592 -0
  115. package/lib/Utils/reporting-utils.js +272 -1
  116. package/lib/Utils/rich-message-utils.js +377 -0
  117. package/lib/Utils/rich-messages.js +1 -1
  118. package/lib/Utils/signal.js +437 -0
  119. package/lib/Utils/stanza-ack.js +51 -1
  120. package/lib/Utils/status-refresh.js +37 -0
  121. package/lib/Utils/status-tools.js +4 -2
  122. package/lib/Utils/sync-action-utils.js +63 -1
  123. package/lib/Utils/tc-token-utils.js +185 -1
  124. package/lib/Utils/terminal-banner.js +31 -0
  125. package/lib/Utils/use-multi-file-auth-state.js +271 -0
  126. package/lib/Utils/use-single-file-auth-state.js +108 -0
  127. package/lib/Utils/use-sqlite-auth-state.js +142 -0
  128. package/lib/Utils/validate-connection.js +497 -1
  129. package/lib/Utils/view-once-compat.js +13 -5
  130. package/lib/VoIP/audio-feeder.js +150 -0
  131. package/lib/VoIP/index.js +289 -0
  132. package/lib/VoIP/relay-transport.js +608 -0
  133. package/lib/VoIP/signaling.js +583 -0
  134. package/lib/VoIP/types.js +30 -0
  135. package/lib/VoIP/wasm-engine.js +1261 -2
  136. package/lib/VoIP/worker-bootstrap.js +1090 -2
  137. package/lib/WABinary/constants.js +2805 -0
  138. package/lib/WABinary/decode.js +649 -2
  139. package/lib/WABinary/encode.js +564 -2
  140. package/lib/WABinary/generic-utils.js +401 -0
  141. package/lib/WABinary/index.js +82 -0
  142. package/lib/WABinary/jid-utils.js +290 -0
  143. package/lib/WABinary/types.js +25 -0
  144. package/lib/WAM/BinaryInfo.js +50 -0
  145. package/lib/WAM/constants.js +45747 -0
  146. package/lib/WAM/encode.js +393 -0
  147. package/lib/WAM/index.js +78 -0
  148. package/lib/WAUSync/Protocols/USyncBotProfileProtocol.js +135 -0
  149. package/lib/WAUSync/Protocols/USyncContactProtocol.js +110 -0
  150. package/lib/WAUSync/Protocols/USyncDeviceProtocol.js +142 -0
  151. package/lib/WAUSync/Protocols/USyncDisappearingModeProtocol.js +85 -0
  152. package/lib/WAUSync/Protocols/USyncLIDProtocol.js +69 -0
  153. package/lib/WAUSync/Protocols/USyncStatusProtocol.js +107 -0
  154. package/lib/WAUSync/Protocols/USyncUsernameProtocol.js +38 -1
  155. package/lib/WAUSync/Protocols/index.js +83 -0
  156. package/lib/WAUSync/USyncQuery.js +241 -2
  157. package/lib/WAUSync/USyncUser.js +86 -0
  158. package/lib/WAUSync/index.js +78 -0
  159. package/lib/assets/wasm/loader.js +1875 -1
  160. package/lib/assets/wasm/worker-modules.js +11047 -1
  161. package/lib/index.d.ts +126 -0
  162. package/lib/index.js +53 -21
  163. package/lib/index.mjs +437 -0
  164. package/licenses/upstream-MIT.txt +22 -0
  165. package/maintenance/api-coverage.json +1642 -0
  166. package/maintenance/archivos-sha256.json +207 -0
  167. package/maintenance/consumer-validation.log +3 -0
  168. package/maintenance/dependency-audit.json +4 -4
  169. package/maintenance/extension-inventory.json +57 -0
  170. package/maintenance/protocol-update.json +1101 -0
  171. package/maintenance/protocol-wire-audit.json +4 -0
  172. package/maintenance/reference-socket-surface.json +209 -0
  173. package/maintenance/resumen-validacion.json +50 -0
  174. package/maintenance/validation.log +2725 -0
  175. package/maintenance/verification.json +566 -0
  176. package/package.json +107 -9
  177. package/scripts/check-imports.cjs +10 -0
  178. package/scripts/check-package.cjs +40 -0
  179. package/scripts/check-syntax.cjs +1 -1
  180. package/scripts/generate-protobuf.cjs +6 -1
  181. package/scripts/generate-public-types.cjs +9 -0
  182. package/scripts/kage-base64-fix.cjs +45 -0
  183. package/scripts/maintenance.cjs +10 -0
  184. package/test/advanced.test.cjs +24 -0
  185. package/test/base64-fix.test.cjs +49 -0
  186. package/test/maintenance.test.cjs +1 -1
  187. package/test/npm-publication.test.cjs +141 -0
  188. package/test/recepcion-reparada.test.cjs +98 -0
  189. package/test/resilience-binary.test.cjs +69 -0
  190. package/test/resilience-transport.test.cjs +34 -0
  191. package/test/types.test.ts +5 -0
  192. package/test/upgrade.test.cjs +104 -0
  193. package/tsconfig.json +20 -0
  194. package/WAProto/p.html +0 -1
  195. package/lib/KageExtra/Modded/message_builder.js +0 -2330
  196. package/lib/KageExtra/VoIP/audio-feeder.js +0 -136
  197. package/lib/KageExtra/VoIP/index.js +0 -282
  198. package/lib/KageExtra/VoIP/relay-transport.js +0 -559
  199. package/lib/KageExtra/VoIP/signaling.js +0 -603
  200. package/lib/KageExtra/VoIP/types.js +0 -17
  201. package/lib/KageExtra/VoIP/wasm-engine.js +0 -1214
  202. package/lib/KageExtra/VoIP/worker-bootstrap.js +0 -1042
  203. package/lib/KageExtra/assets/wasm/loader.js +0 -5
  204. package/lib/KageExtra/assets/wasm/whatsapp.wasm +0 -0
  205. package/lib/KageExtra/assets/wasm/worker-modules.js +0 -273
  206. package/lib/KageExtra/index.js +0 -3
  207. package/lib/KageExtra/package.json +0 -1
  208. package/lib/WAUSync/Protocols/UsyncBotProfileProtocol.js +0 -53
  209. package/lib/WAUSync/Protocols/UsyncLIDProtocol.js +0 -24
  210. package/maintenance/revision-full-check.txt +0 -1097
  211. package/maintenance/revision-library-tests.tap +0 -1088
  212. package/maintenance/revision-protobuf.txt +0 -5
  213. package/maintenance/revision-syntax.txt +0 -5
  214. package/maintenance/schema-coverage.json +0 -23
  215. package/maintenance/schema-merge.json +0 -30
  216. package/maintenance/validation-node20.txt +0 -191
  217. package/maintenance/validation-node22.txt +0 -237
@@ -1,1088 +0,0 @@
1
-
2
- > kage-baileys@1.1.8 test
3
- > node --test test/*.test.cjs
4
-
5
- TAP version 13
6
- # Subtest: force flush resets buffering state and live events are not trapped
7
- ok 1 - force flush resets buffering state and live events are not trapped
8
- ---
9
- duration_ms: 1.482403
10
- type: 'test'
11
- ...
12
- # Subtest: normal nested buffers still require matching releases
13
- ok 2 - normal nested buffers still require matching releases
14
- ---
15
- duration_ms: 0.188642
16
- type: 'test'
17
- ...
18
- # Subtest: consented viewOnceMessage imageMessage
19
- ok 3 - consented viewOnceMessage imageMessage
20
- ---
21
- duration_ms: 4.331712
22
- type: 'test'
23
- ...
24
- # Subtest: consented viewOnceMessageV2 imageMessage
25
- ok 4 - consented viewOnceMessageV2 imageMessage
26
- ---
27
- duration_ms: 0.987498
28
- type: 'test'
29
- ...
30
- # Subtest: consented viewOnceMessageV2Extension imageMessage
31
- ok 5 - consented viewOnceMessageV2Extension imageMessage
32
- ---
33
- duration_ms: 0.831471
34
- type: 'test'
35
- ...
36
- # Subtest: consented viewOnceMessage videoMessage
37
- ok 6 - consented viewOnceMessage videoMessage
38
- ---
39
- duration_ms: 0.81011
40
- type: 'test'
41
- ...
42
- # Subtest: consented viewOnceMessageV2 videoMessage
43
- ok 7 - consented viewOnceMessageV2 videoMessage
44
- ---
45
- duration_ms: 1.068257
46
- type: 'test'
47
- ...
48
- # Subtest: consented viewOnceMessageV2Extension videoMessage
49
- ok 8 - consented viewOnceMessageV2Extension videoMessage
50
- ---
51
- duration_ms: 0.692574
52
- type: 'test'
53
- ...
54
- # Subtest: consented viewOnceMessage audioMessage
55
- ok 9 - consented viewOnceMessage audioMessage
56
- ---
57
- duration_ms: 0.824015
58
- type: 'test'
59
- ...
60
- # Subtest: consented viewOnceMessageV2 audioMessage
61
- ok 10 - consented viewOnceMessageV2 audioMessage
62
- ---
63
- duration_ms: 0.801486
64
- type: 'test'
65
- ...
66
- # Subtest: consented viewOnceMessageV2Extension audioMessage
67
- ok 11 - consented viewOnceMessageV2Extension audioMessage
68
- ---
69
- duration_ms: 1.122301
70
- type: 'test'
71
- ...
72
- # Subtest: consented viewOnceMessage documentMessage
73
- ok 12 - consented viewOnceMessage documentMessage
74
- ---
75
- duration_ms: 0.954815
76
- type: 'test'
77
- ...
78
- # Subtest: consented viewOnceMessageV2 documentMessage
79
- ok 13 - consented viewOnceMessageV2 documentMessage
80
- ---
81
- duration_ms: 0.631116
82
- type: 'test'
83
- ...
84
- # Subtest: consented viewOnceMessageV2Extension documentMessage
85
- ok 14 - consented viewOnceMessageV2Extension documentMessage
86
- ---
87
- duration_ms: 0.505922
88
- type: 'test'
89
- ...
90
- # Subtest: consented viewOnceMessage stickerMessage
91
- ok 15 - consented viewOnceMessage stickerMessage
92
- ---
93
- duration_ms: 0.52051
94
- type: 'test'
95
- ...
96
- # Subtest: consented viewOnceMessageV2 stickerMessage
97
- ok 16 - consented viewOnceMessageV2 stickerMessage
98
- ---
99
- duration_ms: 0.512219
100
- type: 'test'
101
- ...
102
- # Subtest: consented viewOnceMessageV2Extension stickerMessage
103
- ok 17 - consented viewOnceMessageV2Extension stickerMessage
104
- ---
105
- duration_ms: 0.446984
106
- type: 'test'
107
- ...
108
- # Subtest: view once rejects missing or wrong sender authorization before download
109
- ok 18 - view once rejects missing or wrong sender authorization before download
110
- ---
111
- duration_ms: 0.563531
112
- type: 'test'
113
- ...
114
- # Subtest: view once rejects group and status routes
115
- ok 19 - view once rejects group and status routes
116
- ---
117
- duration_ms: 0.249714
118
- type: 'test'
119
- ...
120
- # Subtest: own outgoing view once can be explicitly authorized by account identity
121
- ok 20 - own outgoing view once can be explicitly authorized by account identity
122
- ---
123
- duration_ms: 0.630141
124
- type: 'test'
125
- ...
126
- # Subtest: consented view once does not invent content for consumed notifications
127
- ok 21 - consented view once does not invent content for consumed notifications
128
- ---
129
- duration_ms: 0.216191
130
- type: 'test'
131
- ...
132
- # Subtest: auto view once is off without explicit chat consent and ignores historical data
133
- ok 22 - auto view once is off without explicit chat consent and ignores historical data
134
- ---
135
- duration_ms: 0.249587
136
- type: 'test'
137
- ...
138
- # Subtest: single canonical proto resolves every message, enum and wire identifier
139
- ok 23 - single canonical proto resolves every message, enum and wire identifier
140
- ---
141
- duration_ms: 179.060672
142
- type: 'test'
143
- ...
144
- # Subtest: restored media, bot and sync fields survive serialization
145
- ok 24 - restored media, bot and sync fields survive serialization
146
- ---
147
- duration_ms: 8.115338
148
- type: 'test'
149
- ...
150
- # Subtest: historical enum aliases and timestamp alias remain usable
151
- ok 25 - historical enum aliases and timestamp alias remain usable
152
- ---
153
- duration_ms: 1.248463
154
- type: 'test'
155
- ...
156
- # Subtest: poll snapshot canonical and legacy tags decode independently
157
- ok 26 - poll snapshot canonical and legacy tags decode independently
158
- ---
159
- duration_ms: 0.602084
160
- type: 'test'
161
- ...
162
- # Subtest: exact supplied event payload round trips including reminder and false flags
163
- ok 27 - exact supplied event payload round trips including reminder and false flags
164
- ---
165
- duration_ms: 4.822922
166
- type: 'test'
167
- ...
168
- # Subtest: event secret is retained across retries and wrappers
169
- ok 28 - event secret is retained across retries and wrappers
170
- ---
171
- duration_ms: 0.822569
172
- type: 'test'
173
- ...
174
- # Subtest: event secret supplied as base64 is normalized without replacement
175
- ok 29 - event secret supplied as base64 is normalized without replacement
176
- ---
177
- duration_ms: 0.299141
178
- type: 'test'
179
- ...
180
- # Subtest: legacy event.messageSecret is moved out of EventMessage
181
- ok 30 - legacy event.messageSecret is moved out of EventMessage
182
- ---
183
- duration_ms: 0.20859
184
- type: 'test'
185
- ...
186
- # Subtest: event validation rejects missing name
187
- ok 31 - event validation rejects missing name
188
- ---
189
- duration_ms: 0.50998
190
- type: 'test'
191
- ...
192
- # Subtest: event validation rejects milliseconds
193
- ok 32 - event validation rejects milliseconds
194
- ---
195
- duration_ms: 0.370372
196
- type: 'test'
197
- ...
198
- # Subtest: event validation rejects invalid latitude
199
- ok 33 - event validation rejects invalid latitude
200
- ---
201
- duration_ms: 0.210199
202
- type: 'test'
203
- ...
204
- # Subtest: event validation rejects end before start
205
- ok 34 - event validation rejects end before start
206
- ---
207
- duration_ms: 0.10282
208
- type: 'test'
209
- ...
210
- # Subtest: event validation rejects string boolean
211
- ok 35 - event validation rejects string boolean
212
- ---
213
- duration_ms: 0.073037
214
- type: 'test'
215
- ...
216
- # Subtest: event validation rejects negative reminder
217
- ok 36 - event validation rejects negative reminder
218
- ---
219
- duration_ms: 0.07453
220
- type: 'test'
221
- ...
222
- # Subtest: event validation rejects decimal timestamp
223
- ok 37 - event validation rejects decimal timestamp
224
- ---
225
- duration_ms: 0.062793
226
- type: 'test'
227
- ...
228
- # Subtest: invalid event secret fails locally
229
- ok 38 - invalid event secret fails locally
230
- ---
231
- duration_ms: 0.379219
232
- type: 'test'
233
- ...
234
- # Subtest: int64 strings and bigint convert without losing precision in toObject
235
- ok 39 - int64 strings and bigint convert without losing precision in toObject
236
- ---
237
- duration_ms: 1.065455
238
- type: 'test'
239
- ...
240
- # Subtest: sendMessage content builder supports event shorthand and preserves mention context
241
- ok 40 - sendMessage content builder supports event shorthand and preserves mention context
242
- ---
243
- duration_ms: 1.688803
244
- type: 'test'
245
- ...
246
- # Subtest: mention handling does not overwrite existing context fields
247
- ok 41 - mention handling does not overwrite existing context fields
248
- ---
249
- duration_ms: 0.780432
250
- type: 'test'
251
- ...
252
- # Subtest: text, reaction, location, poll and revoke messages still serialize
253
- ok 42 - text, reaction, location, poll and revoke messages still serialize
254
- ---
255
- duration_ms: 4.08142
256
- type: 'test'
257
- ...
258
- # Subtest: history skips malformed rows, selects newest message and does not mutate input
259
- ok 43 - history skips malformed rows, selects newest message and does not mutate input
260
- ---
261
- duration_ms: 0.431348
262
- type: 'test'
263
- ...
264
- # Subtest: missing optional history arrays are accepted
265
- ok 44 - missing optional history arrays are accepted
266
- ---
267
- duration_ms: 0.113938
268
- type: 'test'
269
- ...
270
- # Subtest: on-demand history is merged instead of discarded
271
- ok 45 - on-demand history is merged instead of discarded
272
- ---
273
- duration_ms: 2.047519
274
- type: 'test'
275
- ...
276
- # Subtest: initial history does not erase already received live messages by default
277
- ok 46 - initial history does not erase already received live messages by default
278
- ---
279
- duration_ms: 0.413936
280
- type: 'test'
281
- ...
282
- # Subtest: store snapshots preserve bytes and support serialized async atomic writes
283
- ok 47 - store snapshots preserve bytes and support serialized async atomic writes
284
- ---
285
- duration_ms: 28.935605
286
- type: 'test'
287
- ...
288
- # Subtest: auth concurrent saves round trip credentials and Signal keys atomically
289
- ok 48 - auth concurrent saves round trip credentials and Signal keys atomically
290
- ---
291
- duration_ms: 62.278373
292
- type: 'test'
293
- ...
294
- # Subtest: corrupt auth is surfaced instead of silently creating a new identity
295
- ok 49 - corrupt auth is surfaced instead of silently creating a new identity
296
- ---
297
- duration_ms: 2.120544
298
- type: 'test'
299
- ...
300
- # Subtest: updated Jimp thumbnails and profile pictures work without native sharp
301
- ok 50 - updated Jimp thumbnails and profile pictures work without native sharp
302
- ---
303
- duration_ms: 291.008358
304
- type: 'test'
305
- ...
306
- # Subtest: updated music metadata parses generated PCM WAV
307
- ok 51 - updated music metadata parses generated PCM WAV
308
- ---
309
- duration_ms: 30.175282
310
- type: 'test'
311
- ...
312
- # Subtest: queue module supports CommonJS and package exports load
313
- ok 52 - queue module supports CommonJS and package exports load
314
- ---
315
- duration_ms: 214.388276
316
- type: 'test'
317
- ...
318
- # Subtest: relayMessage group pipeline encrypts the supplied event with reminder and secret
319
- ok 53 - relayMessage group pipeline encrypts the supplied event with reminder and secret
320
- ---
321
- duration_ms: 6.21936
322
- type: 'test'
323
- ...
324
- # Subtest: emoji accepted: ❤️
325
- ok 54 - emoji accepted: ❤️
326
- ---
327
- duration_ms: 11.598344
328
- type: 'test'
329
- ...
330
- # Subtest: emoji accepted: 🔥
331
- ok 55 - emoji accepted: 🔥
332
- ---
333
- duration_ms: 0.346473
334
- type: 'test'
335
- ...
336
- # Subtest: emoji accepted: 👍
337
- ok 56 - emoji accepted: 👍
338
- ---
339
- duration_ms: 0.169928
340
- type: 'test'
341
- ...
342
- # Subtest: emoji accepted: 👍🏽
343
- ok 57 - emoji accepted: 👍🏽
344
- ---
345
- duration_ms: 0.107447
346
- type: 'test'
347
- ...
348
- # Subtest: emoji accepted: 👨‍👩‍👧‍👦
349
- ok 58 - emoji accepted: 👨‍👩‍👧‍👦
350
- ---
351
- duration_ms: 0.105771
352
- type: 'test'
353
- ...
354
- # Subtest: emoji accepted: 😊
355
- ok 59 - emoji accepted: 😊
356
- ---
357
- duration_ms: 0.115719
358
- type: 'test'
359
- ...
360
- # Subtest: emoji accepted: 🇵🇪
361
- ok 60 - emoji accepted: 🇵🇪
362
- ---
363
- duration_ms: 0.093393
364
- type: 'test'
365
- ...
366
- # Subtest: emoji accepted: 1️⃣
367
- ok 61 - emoji accepted: 1️⃣
368
- ---
369
- duration_ms: 0.156554
370
- type: 'test'
371
- ...
372
- # Subtest: emoji accepted: 💜
373
- ok 62 - emoji accepted: 💜
374
- ---
375
- duration_ms: 0.303164
376
- type: 'test'
377
- ...
378
- # Subtest: emoji accepted: 👏
379
- ok 63 - emoji accepted: 👏
380
- ---
381
- duration_ms: 0.35451
382
- type: 'test'
383
- ...
384
- # Subtest: emoji accepted: 🌈
385
- ok 64 - emoji accepted: 🌈
386
- ---
387
- duration_ms: 0.268042
388
- type: 'test'
389
- ...
390
- # Subtest: emoji accepted: 🏳️‍🌈
391
- ok 65 - emoji accepted: 🏳️‍🌈
392
- ---
393
- duration_ms: 0.088685
394
- type: 'test'
395
- ...
396
- # Subtest: emoji accepted: 🧑🏽‍💻
397
- ok 66 - emoji accepted: 🧑🏽‍💻
398
- ---
399
- duration_ms: 0.082456
400
- type: 'test'
401
- ...
402
- # Subtest: emoji accepted: 🫶
403
- ok 67 - emoji accepted: 🫶
404
- ---
405
- duration_ms: 0.073793
406
- type: 'test'
407
- ...
408
- # Subtest: emoji accepted: ☀️
409
- ok 68 - emoji accepted: ☀️
410
- ---
411
- duration_ms: 0.065123
412
- type: 'test'
413
- ...
414
- # Subtest: emoji accepted: ⭐
415
- ok 69 - emoji accepted: ⭐
416
- ---
417
- duration_ms: 0.070209
418
- type: 'test'
419
- ...
420
- # Subtest: emoji accepted: 🐕
421
- ok 70 - emoji accepted: 🐕
422
- ---
423
- duration_ms: 0.063251
424
- type: 'test'
425
- ...
426
- # Subtest: emoji accepted: 💯
427
- ok 71 - emoji accepted: 💯
428
- ---
429
- duration_ms: 0.060004
430
- type: 'test'
431
- ...
432
- # Subtest: emoji accepted: 😀
433
- ok 72 - emoji accepted: 😀
434
- ---
435
- duration_ms: 0.059167
436
- type: 'test'
437
- ...
438
- # Subtest: emoji accepted: 🎉
439
- ok 73 - emoji accepted: 🎉
440
- ---
441
- duration_ms: 0.058432
442
- type: 'test'
443
- ...
444
- # Subtest: emoji rejected: ""
445
- ok 74 - emoji rejected: ""
446
- ---
447
- duration_ms: 0.164106
448
- type: 'test'
449
- ...
450
- # Subtest: emoji rejected: "hola"
451
- ok 75 - emoji rejected: "hola"
452
- ---
453
- duration_ms: 0.059741
454
- type: 'test'
455
- ...
456
- # Subtest: emoji rejected: "❤️🔥"
457
- ok 76 - emoji rejected: "❤️🔥"
458
- ---
459
- duration_ms: 0.145372
460
- type: 'test'
461
- ...
462
- # Subtest: emoji rejected: "a❤️"
463
- ok 77 - emoji rejected: "a❤️"
464
- ---
465
- duration_ms: 0.078323
466
- type: 'test'
467
- ...
468
- # Subtest: emoji rejected: "123"
469
- ok 78 - emoji rejected: "123"
470
- ---
471
- duration_ms: 0.049233
472
- type: 'test'
473
- ...
474
- # Subtest: emoji rejected: null
475
- ok 79 - emoji rejected: null
476
- ---
477
- duration_ms: 0.046766
478
- type: 'test'
479
- ...
480
- # Subtest: emoji rejected: 2
481
- ok 80 - emoji rejected: 2
482
- ---
483
- duration_ms: 0.047733
484
- type: 'test'
485
- ...
486
- # Subtest: emoji rejected: " "
487
- ok 81 - emoji rejected: " "
488
- ---
489
- duration_ms: 0.044354
490
- type: 'test'
491
- ...
492
- # Subtest: emoji rejected: "\\n"
493
- ok 82 - emoji rejected: "\\n"
494
- ---
495
- duration_ms: 0.043204
496
- type: 'test'
497
- ...
498
- # Subtest: emoji rejected: "👍 👍"
499
- ok 83 - emoji rejected: "👍 👍"
500
- ---
501
- duration_ms: 0.069066
502
- type: 'test'
503
- ...
504
- # Subtest: emoji rejected: "x"
505
- ok 84 - emoji rejected: "x"
506
- ---
507
- duration_ms: 0.049119
508
- type: 'test'
509
- ...
510
- # Subtest: emoji rejected: "🇵🇪🇲🇽"
511
- ok 85 - emoji rejected: "🇵🇪🇲🇽"
512
- ---
513
- duration_ms: 0.094517
514
- type: 'test'
515
- ...
516
- # Subtest: emoji rejected: "❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️"
517
- ok 86 - emoji rejected: "❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️❤️"
518
- ---
519
- duration_ms: 0.05665
520
- type: 'test'
521
- ...
522
- # Subtest: offline country lookup PE
523
- ok 87 - offline country lookup PE
524
- ---
525
- duration_ms: 7.243548
526
- type: 'test'
527
- ...
528
- # Subtest: offline country lookup MX
529
- ok 88 - offline country lookup MX
530
- ---
531
- duration_ms: 1.270886
532
- type: 'test'
533
- ...
534
- # Subtest: offline country lookup ES
535
- ok 89 - offline country lookup ES
536
- ---
537
- duration_ms: 0.574483
538
- type: 'test'
539
- ...
540
- # Subtest: offline country lookup AR
541
- ok 90 - offline country lookup AR
542
- ---
543
- duration_ms: 1.691301
544
- type: 'test'
545
- ...
546
- # Subtest: offline country lookup CO
547
- ok 91 - offline country lookup CO
548
- ---
549
- duration_ms: 0.554637
550
- type: 'test'
551
- ...
552
- # Subtest: offline country lookup CL
553
- ok 92 - offline country lookup CL
554
- ---
555
- duration_ms: 0.672369
556
- type: 'test'
557
- ...
558
- # Subtest: offline country lookup EC
559
- ok 93 - offline country lookup EC
560
- ---
561
- duration_ms: 0.417919
562
- type: 'test'
563
- ...
564
- # Subtest: offline country lookup BO
565
- ok 94 - offline country lookup BO
566
- ---
567
- duration_ms: 0.508842
568
- type: 'test'
569
- ...
570
- # Subtest: offline country lookup BR
571
- ok 95 - offline country lookup BR
572
- ---
573
- duration_ms: 0.756607
574
- type: 'test'
575
- ...
576
- # Subtest: offline country lookup US
577
- ok 96 - offline country lookup US
578
- ---
579
- duration_ms: 0.922799
580
- type: 'test'
581
- ...
582
- # Subtest: offline country lookup CA
583
- ok 97 - offline country lookup CA
584
- ---
585
- duration_ms: 5.586974
586
- type: 'test'
587
- ...
588
- # Subtest: offline country lookup GB
589
- ok 98 - offline country lookup GB
590
- ---
591
- duration_ms: 1.598755
592
- type: 'test'
593
- ...
594
- # Subtest: offline country lookup FR
595
- ok 99 - offline country lookup FR
596
- ---
597
- duration_ms: 0.354378
598
- type: 'test'
599
- ...
600
- # Subtest: offline country lookup DE
601
- ok 100 - offline country lookup DE
602
- ---
603
- duration_ms: 0.889433
604
- type: 'test'
605
- ...
606
- # Subtest: offline country lookup IT
607
- ok 101 - offline country lookup IT
608
- ---
609
- duration_ms: 0.75475
610
- type: 'test'
611
- ...
612
- # Subtest: offline country lookup JP
613
- ok 102 - offline country lookup JP
614
- ---
615
- duration_ms: 0.847758
616
- type: 'test'
617
- ...
618
- # Subtest: offline country lookup KR
619
- ok 103 - offline country lookup KR
620
- ---
621
- duration_ms: 0.450539
622
- type: 'test'
623
- ...
624
- # Subtest: offline country lookup AU
625
- ok 104 - offline country lookup AU
626
- ---
627
- duration_ms: 0.694878
628
- type: 'test'
629
- ...
630
- # Subtest: offline country lookup NZ
631
- ok 105 - offline country lookup NZ
632
- ---
633
- duration_ms: 0.368887
634
- type: 'test'
635
- ...
636
- # Subtest: offline country lookup IN
637
- ok 106 - offline country lookup IN
638
- ---
639
- duration_ms: 1.571569
640
- type: 'test'
641
- ...
642
- # Subtest: offline country lookup ZA
643
- ok 107 - offline country lookup ZA
644
- ---
645
- duration_ms: 0.570311
646
- type: 'test'
647
- ...
648
- # Subtest: offline country lookup EG
649
- ok 108 - offline country lookup EG
650
- ---
651
- duration_ms: 0.341756
652
- type: 'test'
653
- ...
654
- # Subtest: offline country lookup MA
655
- ok 109 - offline country lookup MA
656
- ---
657
- duration_ms: 0.341102
658
- type: 'test'
659
- ...
660
- # Subtest: offline country lookup UY
661
- ok 110 - offline country lookup UY
662
- ---
663
- duration_ms: 0.323943
664
- type: 'test'
665
- ...
666
- # Subtest: offline country lookup PY
667
- ok 111 - offline country lookup PY
668
- ---
669
- duration_ms: 0.437932
670
- type: 'test'
671
- ...
672
- # Subtest: offline country lookup VE
673
- ok 112 - offline country lookup VE
674
- ---
675
- duration_ms: 0.276687
676
- type: 'test'
677
- ...
678
- # Subtest: offline country lookup CR
679
- ok 113 - offline country lookup CR
680
- ---
681
- duration_ms: 0.36684
682
- type: 'test'
683
- ...
684
- # Subtest: offline country lookup PA
685
- ok 114 - offline country lookup PA
686
- ---
687
- duration_ms: 0.249482
688
- type: 'test'
689
- ...
690
- # Subtest: offline country lookup DO
691
- ok 115 - offline country lookup DO
692
- ---
693
- duration_ms: 0.609801
694
- type: 'test'
695
- ...
696
- # Subtest: offline country lookup GT
697
- ok 116 - offline country lookup GT
698
- ---
699
- duration_ms: 0.226207
700
- type: 'test'
701
- ...
702
- # Subtest: country input rejection "123456@lid"
703
- ok 117 - country input rejection "123456@lid"
704
- ---
705
- duration_ms: 0.109999
706
- type: 'test'
707
- ...
708
- # Subtest: country input rejection "123@g.us"
709
- ok 118 - country input rejection "123@g.us"
710
- ---
711
- duration_ms: 0.051526
712
- type: 'test'
713
- ...
714
- # Subtest: country input rejection "status@broadcast"
715
- ok 119 - country input rejection "status@broadcast"
716
- ---
717
- duration_ms: 0.047657
718
- type: 'test'
719
- ...
720
- # Subtest: country input rejection "foo"
721
- ok 120 - country input rejection "foo"
722
- ---
723
- duration_ms: 0.121026
724
- type: 'test'
725
- ...
726
- # Subtest: country input rejection ""
727
- ok 121 - country input rejection ""
728
- ---
729
- duration_ms: 0.092625
730
- type: 'test'
731
- ...
732
- # Subtest: country input rejection null
733
- ok 122 - country input rejection null
734
- ---
735
- duration_ms: 0.074081
736
- type: 'test'
737
- ...
738
- # Subtest: country input rejection {}
739
- ok 123 - country input rejection {}
740
- ---
741
- duration_ms: 0.055779
742
- type: 'test'
743
- ...
744
- # Subtest: country input rejection "+9999999999999999999"
745
- ok 124 - country input rejection "+9999999999999999999"
746
- ---
747
- duration_ms: 0.050133
748
- type: 'test'
749
- ...
750
- # Subtest: country input rejection "123"
751
- ok 125 - country input rejection "123"
752
- ---
753
- duration_ms: 0.048883
754
- type: 'test'
755
- ...
756
- # Subtest: country input rejection "123:2@lid"
757
- ok 126 - country input rejection "123:2@lid"
758
- ---
759
- duration_ms: 0.056615
760
- type: 'test'
761
- ...
762
- # Subtest: LID mapping uses explicit mapped phone only
763
- ok 127 - LID mapping uses explicit mapped phone only
764
- ---
765
- duration_ms: 0.430181
766
- type: 'test'
767
- ...
768
- # Subtest: country responses do not leak mutable dataset references
769
- ok 128 - country responses do not leak mutable dataset references
770
- ---
771
- duration_ms: 0.873435
772
- type: 'test'
773
- ...
774
- # Subtest: normal media imageMessage / none
775
- ok 129 - normal media imageMessage / none
776
- ---
777
- duration_ms: 3.316644
778
- type: 'test'
779
- ...
780
- # Subtest: normal media imageMessage / ephemeralMessage
781
- ok 130 - normal media imageMessage / ephemeralMessage
782
- ---
783
- duration_ms: 0.693101
784
- type: 'test'
785
- ...
786
- # Subtest: normal media imageMessage / documentWithCaptionMessage
787
- ok 131 - normal media imageMessage / documentWithCaptionMessage
788
- ---
789
- duration_ms: 0.857334
790
- type: 'test'
791
- ...
792
- # Subtest: view-once not archived imageMessage / viewOnceMessage
793
- ok 132 - view-once not archived imageMessage / viewOnceMessage
794
- ---
795
- duration_ms: 0.460391
796
- type: 'test'
797
- ...
798
- # Subtest: view-once not archived imageMessage / viewOnceMessageV2
799
- ok 133 - view-once not archived imageMessage / viewOnceMessageV2
800
- ---
801
- duration_ms: 0.086211
802
- type: 'test'
803
- ...
804
- # Subtest: view-once not archived imageMessage / viewOnceMessageV2Extension
805
- ok 134 - view-once not archived imageMessage / viewOnceMessageV2Extension
806
- ---
807
- duration_ms: 0.062226
808
- type: 'test'
809
- ...
810
- # Subtest: normal media videoMessage / none
811
- ok 135 - normal media videoMessage / none
812
- ---
813
- duration_ms: 1.473393
814
- type: 'test'
815
- ...
816
- # Subtest: normal media videoMessage / ephemeralMessage
817
- ok 136 - normal media videoMessage / ephemeralMessage
818
- ---
819
- duration_ms: 1.270216
820
- type: 'test'
821
- ...
822
- # Subtest: normal media videoMessage / documentWithCaptionMessage
823
- ok 137 - normal media videoMessage / documentWithCaptionMessage
824
- ---
825
- duration_ms: 0.763681
826
- type: 'test'
827
- ...
828
- # Subtest: view-once not archived videoMessage / viewOnceMessage
829
- ok 138 - view-once not archived videoMessage / viewOnceMessage
830
- ---
831
- duration_ms: 0.152705
832
- type: 'test'
833
- ...
834
- # Subtest: view-once not archived videoMessage / viewOnceMessageV2
835
- ok 139 - view-once not archived videoMessage / viewOnceMessageV2
836
- ---
837
- duration_ms: 0.074242
838
- type: 'test'
839
- ...
840
- # Subtest: view-once not archived videoMessage / viewOnceMessageV2Extension
841
- ok 140 - view-once not archived videoMessage / viewOnceMessageV2Extension
842
- ---
843
- duration_ms: 0.068614
844
- type: 'test'
845
- ...
846
- # Subtest: normal media audioMessage / none
847
- ok 141 - normal media audioMessage / none
848
- ---
849
- duration_ms: 1.073246
850
- type: 'test'
851
- ...
852
- # Subtest: normal media audioMessage / ephemeralMessage
853
- ok 142 - normal media audioMessage / ephemeralMessage
854
- ---
855
- duration_ms: 2.6581
856
- type: 'test'
857
- ...
858
- # Subtest: normal media audioMessage / documentWithCaptionMessage
859
- ok 143 - normal media audioMessage / documentWithCaptionMessage
860
- ---
861
- duration_ms: 1.18978
862
- type: 'test'
863
- ...
864
- # Subtest: view-once not archived audioMessage / viewOnceMessage
865
- ok 144 - view-once not archived audioMessage / viewOnceMessage
866
- ---
867
- duration_ms: 0.100711
868
- type: 'test'
869
- ...
870
- # Subtest: view-once not archived audioMessage / viewOnceMessageV2
871
- ok 145 - view-once not archived audioMessage / viewOnceMessageV2
872
- ---
873
- duration_ms: 0.063807
874
- type: 'test'
875
- ...
876
- # Subtest: view-once not archived audioMessage / viewOnceMessageV2Extension
877
- ok 146 - view-once not archived audioMessage / viewOnceMessageV2Extension
878
- ---
879
- duration_ms: 0.113493
880
- type: 'test'
881
- ...
882
- # Subtest: normal media documentMessage / none
883
- ok 147 - normal media documentMessage / none
884
- ---
885
- duration_ms: 0.930191
886
- type: 'test'
887
- ...
888
- # Subtest: normal media documentMessage / ephemeralMessage
889
- ok 148 - normal media documentMessage / ephemeralMessage
890
- ---
891
- duration_ms: 0.771193
892
- type: 'test'
893
- ...
894
- # Subtest: normal media documentMessage / documentWithCaptionMessage
895
- ok 149 - normal media documentMessage / documentWithCaptionMessage
896
- ---
897
- duration_ms: 0.910302
898
- type: 'test'
899
- ...
900
- # Subtest: view-once not archived documentMessage / viewOnceMessage
901
- ok 150 - view-once not archived documentMessage / viewOnceMessage
902
- ---
903
- duration_ms: 0.103884
904
- type: 'test'
905
- ...
906
- # Subtest: view-once not archived documentMessage / viewOnceMessageV2
907
- ok 151 - view-once not archived documentMessage / viewOnceMessageV2
908
- ---
909
- duration_ms: 0.072834
910
- type: 'test'
911
- ...
912
- # Subtest: view-once not archived documentMessage / viewOnceMessageV2Extension
913
- ok 152 - view-once not archived documentMessage / viewOnceMessageV2Extension
914
- ---
915
- duration_ms: 0.055227
916
- type: 'test'
917
- ...
918
- # Subtest: normal media stickerMessage / none
919
- ok 153 - normal media stickerMessage / none
920
- ---
921
- duration_ms: 0.809767
922
- type: 'test'
923
- ...
924
- # Subtest: normal media stickerMessage / ephemeralMessage
925
- ok 154 - normal media stickerMessage / ephemeralMessage
926
- ---
927
- duration_ms: 1.139398
928
- type: 'test'
929
- ...
930
- # Subtest: normal media stickerMessage / documentWithCaptionMessage
931
- ok 155 - normal media stickerMessage / documentWithCaptionMessage
932
- ---
933
- duration_ms: 0.755992
934
- type: 'test'
935
- ...
936
- # Subtest: view-once not archived stickerMessage / viewOnceMessage
937
- ok 156 - view-once not archived stickerMessage / viewOnceMessage
938
- ---
939
- duration_ms: 0.107787
940
- type: 'test'
941
- ...
942
- # Subtest: view-once not archived stickerMessage / viewOnceMessageV2
943
- ok 157 - view-once not archived stickerMessage / viewOnceMessageV2
944
- ---
945
- duration_ms: 0.063943
946
- type: 'test'
947
- ...
948
- # Subtest: view-once not archived stickerMessage / viewOnceMessageV2Extension
949
- ok 158 - view-once not archived stickerMessage / viewOnceMessageV2Extension
950
- ---
951
- duration_ms: 0.053281
952
- type: 'test'
953
- ...
954
- # Subtest: normal media size limit checks actual stream bytes
955
- ok 159 - normal media size limit checks actual stream bytes
956
- ---
957
- duration_ms: 0.912796
958
- type: 'test'
959
- ...
960
- # Subtest: declared oversized media is rejected before download
961
- ok 160 - declared oversized media is rejected before download
962
- ---
963
- duration_ms: 0.230063
964
- type: 'test'
965
- ...
966
- # Subtest: empty media reports an explicit error
967
- ok 161 - empty media reports an explicit error
968
- ---
969
- duration_ms: 0.980908
970
- type: 'test'
971
- ...
972
- # Subtest: download deadline destroys a late stream
973
- ok 162 - download deadline destroys a late stream
974
- ---
975
- duration_ms: 180.829809
976
- type: 'test'
977
- ...
978
- # Subtest: saved files have deterministic safe names and restrictive permissions
979
- ok 163 - saved files have deterministic safe names and restrictive permissions
980
- ---
981
- duration_ms: 5.579054
982
- type: 'test'
983
- ...
984
- # Subtest: autodownload requires allowlist and ignores historical messages
985
- ok 164 - autodownload requires allowlist and ignores historical messages
986
- ---
987
- duration_ms: 0.494783
988
- type: 'test'
989
- ...
990
- # Subtest: status survives a new socket with matching account, binary data intact
991
- ok 165 - status survives a new socket with matching account, binary data intact
992
- ---
993
- duration_ms: 1.897312
994
- type: 'test'
995
- ...
996
- # Subtest: duplicate status retains stable ID
997
- ok 166 - duplicate status retains stable ID
998
- ---
999
- duration_ms: 0.267669
1000
- type: 'test'
1001
- ...
1002
- # Subtest: revoke keeps only metadata tombstone and never restores deleted content
1003
- ok 167 - revoke keeps only metadata tombstone and never restores deleted content
1004
- ---
1005
- duration_ms: 0.417266
1006
- type: 'test'
1007
- ...
1008
- # Subtest: deletion is scoped by author and broadcast route
1009
- ok 168 - deletion is scoped by author and broadcast route
1010
- ---
1011
- duration_ms: 0.273081
1012
- type: 'test'
1013
- ...
1014
- # Subtest: expired status drops content and stays in short metadata history
1015
- ok 169 - expired status drops content and stays in short metadata history
1016
- ---
1017
- duration_ms: 0.152371
1018
- type: 'test'
1019
- ...
1020
- # Subtest: status cache bounded to 500 entries
1021
- ok 170 - status cache bounded to 500 entries
1022
- ---
1023
- duration_ms: 31.341994
1024
- type: 'test'
1025
- ...
1026
- # Subtest: manual reaction uses status route, real message key and emoji
1027
- ok 171 - manual reaction uses status route, real message key and emoji
1028
- ---
1029
- duration_ms: 0.635396
1030
- type: 'test'
1031
- ...
1032
- # Subtest: cannot react to deleted or self statuses
1033
- ok 172 - cannot react to deleted or self statuses
1034
- ---
1035
- duration_ms: 0.390008
1036
- type: 'test'
1037
- ...
1038
- # Subtest: random reaction uses configured emoji pool and deduplicates delivery
1039
- ok 173 - random reaction uses configured emoji pool and deduplicates delivery
1040
- ---
1041
- duration_ms: 1.038961
1042
- type: 'test'
1043
- ...
1044
- # Subtest: socket bindings install and detach status listeners without duplicates
1045
- ok 174 - socket bindings install and detach status listeners without duplicates
1046
- ---
1047
- duration_ms: 7.267469
1048
- type: 'test'
1049
- ...
1050
- # Subtest: AI disclosure is honest text, presence always resets after failure
1051
- ok 175 - AI disclosure is honest text, presence always resets after failure
1052
- ---
1053
- duration_ms: 0.37939
1054
- type: 'test'
1055
- ...
1056
- # Subtest: rich AI envelopes serialize locally without claiming server authentication
1057
- ok 176 - rich AI envelopes serialize locally without claiming server authentication
1058
- ---
1059
- duration_ms: 7.924282
1060
- type: 'test'
1061
- ...
1062
- # Subtest: browser presets support documented calls and missing browser
1063
- ok 177 - browser presets support documented calls and missing browser
1064
- ---
1065
- duration_ms: 0.253459
1066
- type: 'test'
1067
- ...
1068
- # Subtest: automatic reaction queue processes a burst with configured pacing
1069
- ok 178 - automatic reaction queue processes a burst with configured pacing
1070
- ---
1071
- duration_ms: 1002.060219
1072
- type: 'test'
1073
- ...
1074
- # Subtest: detaching status tracking never overwrites persisted activation setting
1075
- ok 179 - detaching status tracking never overwrites persisted activation setting
1076
- ---
1077
- duration_ms: 0.502328
1078
- type: 'test'
1079
- ...
1080
- 1..179
1081
- # tests 179
1082
- # suites 0
1083
- # pass 179
1084
- # fail 0
1085
- # cancelled 0
1086
- # skipped 0
1087
- # todo 0
1088
- # duration_ms 4675.10936