@unwanted/matrix-sdk-mini 34.12.0 → 36.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 (759) hide show
  1. package/git-revision.txt +1 -1
  2. package/lib/@types/event.d.ts +25 -19
  3. package/lib/@types/event.d.ts.map +1 -1
  4. package/lib/@types/event.js +5 -0
  5. package/lib/@types/event.js.map +1 -1
  6. package/lib/@types/global.d.js +0 -2
  7. package/lib/@types/global.d.js.map +1 -1
  8. package/lib/autodiscovery.d.ts +1 -1
  9. package/lib/autodiscovery.d.ts.map +1 -1
  10. package/lib/autodiscovery.js.map +1 -1
  11. package/lib/base64.d.ts +3 -6
  12. package/lib/base64.d.ts.map +1 -1
  13. package/lib/base64.js +43 -36
  14. package/lib/base64.js.map +1 -1
  15. package/lib/browser-index.d.ts.map +1 -1
  16. package/lib/browser-index.js +0 -11
  17. package/lib/browser-index.js.map +1 -1
  18. package/lib/client.d.ts +45 -1306
  19. package/lib/client.d.ts.map +1 -1
  20. package/lib/client.js +406 -2963
  21. package/lib/client.js.map +1 -1
  22. package/lib/digest.d.ts +2 -2
  23. package/lib/digest.d.ts.map +1 -1
  24. package/lib/digest.js +2 -2
  25. package/lib/digest.js.map +1 -1
  26. package/lib/embedded.d.ts +2 -23
  27. package/lib/embedded.d.ts.map +1 -1
  28. package/lib/embedded.js +82 -209
  29. package/lib/embedded.js.map +1 -1
  30. package/lib/event-mapper.d.ts.map +1 -1
  31. package/lib/event-mapper.js +0 -4
  32. package/lib/event-mapper.js.map +1 -1
  33. package/lib/feature.d.ts.map +1 -1
  34. package/lib/feature.js +2 -1
  35. package/lib/feature.js.map +1 -1
  36. package/lib/http-api/errors.d.ts +3 -3
  37. package/lib/http-api/errors.js +3 -3
  38. package/lib/http-api/errors.js.map +1 -1
  39. package/lib/http-api/utils.js +2 -2
  40. package/lib/http-api/utils.js.map +1 -1
  41. package/lib/matrix.d.ts +0 -25
  42. package/lib/matrix.d.ts.map +1 -1
  43. package/lib/matrix.js +1 -30
  44. package/lib/matrix.js.map +1 -1
  45. package/lib/models/MSC3089Branch.d.ts.map +1 -1
  46. package/lib/models/MSC3089Branch.js +0 -3
  47. package/lib/models/MSC3089Branch.js.map +1 -1
  48. package/lib/models/event-timeline-set.d.ts +6 -10
  49. package/lib/models/event-timeline-set.d.ts.map +1 -1
  50. package/lib/models/event-timeline-set.js +28 -36
  51. package/lib/models/event-timeline-set.js.map +1 -1
  52. package/lib/models/event-timeline.d.ts +7 -2
  53. package/lib/models/event-timeline.d.ts.map +1 -1
  54. package/lib/models/event-timeline.js +9 -30
  55. package/lib/models/event-timeline.js.map +1 -1
  56. package/lib/models/event.d.ts +12 -96
  57. package/lib/models/event.d.ts.map +1 -1
  58. package/lib/models/event.js +59 -286
  59. package/lib/models/event.js.map +1 -1
  60. package/lib/models/invites-ignorer-types.d.ts +27 -0
  61. package/lib/models/invites-ignorer-types.d.ts.map +1 -0
  62. package/lib/models/invites-ignorer-types.js +36 -0
  63. package/lib/models/invites-ignorer-types.js.map +1 -0
  64. package/lib/models/invites-ignorer.d.ts +2 -26
  65. package/lib/models/invites-ignorer.d.ts.map +1 -1
  66. package/lib/models/invites-ignorer.js +2 -27
  67. package/lib/models/invites-ignorer.js.map +1 -1
  68. package/lib/models/poll.d.ts.map +1 -1
  69. package/lib/models/poll.js +1 -5
  70. package/lib/models/poll.js.map +1 -1
  71. package/lib/models/relations-container.d.ts.map +1 -1
  72. package/lib/models/relations-container.js +1 -7
  73. package/lib/models/relations-container.js.map +1 -1
  74. package/lib/models/relations.d.ts +0 -1
  75. package/lib/models/relations.d.ts.map +1 -1
  76. package/lib/models/relations.js +0 -8
  77. package/lib/models/relations.js.map +1 -1
  78. package/lib/models/room-member.d.ts +6 -1
  79. package/lib/models/room-member.d.ts.map +1 -1
  80. package/lib/models/room-member.js +7 -1
  81. package/lib/models/room-member.js.map +1 -1
  82. package/lib/models/room-state.d.ts +2 -13
  83. package/lib/models/room-state.d.ts.map +1 -1
  84. package/lib/models/room-state.js +12 -56
  85. package/lib/models/room-state.js.map +1 -1
  86. package/lib/models/room.d.ts +8 -21
  87. package/lib/models/room.d.ts.map +1 -1
  88. package/lib/models/room.js +128 -163
  89. package/lib/models/room.js.map +1 -1
  90. package/lib/models/thread.d.ts.map +1 -1
  91. package/lib/models/thread.js +5 -4
  92. package/lib/models/thread.js.map +1 -1
  93. package/lib/oidc/authorize.d.ts +2 -2
  94. package/lib/oidc/authorize.d.ts.map +1 -1
  95. package/lib/oidc/authorize.js +5 -5
  96. package/lib/oidc/authorize.js.map +1 -1
  97. package/lib/oidc/discovery.d.ts +8 -0
  98. package/lib/oidc/discovery.d.ts.map +1 -1
  99. package/lib/oidc/discovery.js +22 -11
  100. package/lib/oidc/discovery.js.map +1 -1
  101. package/lib/oidc/index.d.ts +3 -4
  102. package/lib/oidc/index.d.ts.map +1 -1
  103. package/lib/oidc/index.js.map +1 -1
  104. package/lib/oidc/register.js +3 -3
  105. package/lib/oidc/register.js.map +1 -1
  106. package/lib/oidc/tokenRefresher.d.ts.map +1 -1
  107. package/lib/oidc/tokenRefresher.js +6 -5
  108. package/lib/oidc/tokenRefresher.js.map +1 -1
  109. package/lib/oidc/validate.d.ts +9 -23
  110. package/lib/oidc/validate.d.ts.map +1 -1
  111. package/lib/oidc/validate.js +13 -28
  112. package/lib/oidc/validate.js.map +1 -1
  113. package/lib/randomstring.d.ts +30 -3
  114. package/lib/randomstring.d.ts.map +1 -1
  115. package/lib/randomstring.js +68 -16
  116. package/lib/randomstring.js.map +1 -1
  117. package/lib/sliding-sync-sdk.d.ts +3 -4
  118. package/lib/sliding-sync-sdk.d.ts.map +1 -1
  119. package/lib/sliding-sync-sdk.js +55 -102
  120. package/lib/sliding-sync-sdk.js.map +1 -1
  121. package/lib/sliding-sync.js +9 -6
  122. package/lib/sliding-sync.js.map +1 -1
  123. package/lib/store/indexeddb-local-backend.js +4 -2
  124. package/lib/store/indexeddb-local-backend.js.map +1 -1
  125. package/lib/store/indexeddb.d.ts +1 -1
  126. package/lib/store/indexeddb.d.ts.map +1 -1
  127. package/lib/store/indexeddb.js.map +1 -1
  128. package/lib/sync-accumulator.d.ts +6 -4
  129. package/lib/sync-accumulator.d.ts.map +1 -1
  130. package/lib/sync-accumulator.js +23 -12
  131. package/lib/sync-accumulator.js.map +1 -1
  132. package/lib/sync.d.ts +10 -13
  133. package/lib/sync.d.ts.map +1 -1
  134. package/lib/sync.js +94 -115
  135. package/lib/sync.js.map +1 -1
  136. package/lib/testing.d.ts +13 -44
  137. package/lib/testing.d.ts.map +1 -1
  138. package/lib/testing.js +36 -99
  139. package/lib/testing.js.map +1 -1
  140. package/lib/types.d.ts +0 -1
  141. package/lib/types.d.ts.map +1 -1
  142. package/lib/types.js.map +1 -1
  143. package/package.json +14 -15
  144. package/src/@types/event.ts +19 -36
  145. package/src/@types/global.d.ts +21 -4
  146. package/src/autodiscovery.ts +1 -1
  147. package/src/base64.ts +38 -40
  148. package/src/browser-index.ts +0 -11
  149. package/src/client.ts +175 -3136
  150. package/src/digest.ts +3 -3
  151. package/src/embedded.ts +43 -149
  152. package/src/event-mapper.ts +0 -4
  153. package/src/feature.ts +1 -0
  154. package/src/http-api/errors.ts +3 -3
  155. package/src/http-api/utils.ts +2 -2
  156. package/src/matrix.ts +0 -41
  157. package/src/models/MSC3089Branch.ts +0 -3
  158. package/src/models/event-timeline-set.ts +17 -38
  159. package/src/models/event-timeline.ts +11 -26
  160. package/src/models/event.ts +54 -295
  161. package/src/models/invites-ignorer-types.ts +48 -0
  162. package/src/models/invites-ignorer.ts +7 -42
  163. package/src/models/poll.ts +0 -6
  164. package/src/models/relations-container.ts +1 -8
  165. package/src/models/relations.ts +0 -8
  166. package/src/models/room-member.ts +16 -1
  167. package/src/models/room-state.ts +4 -37
  168. package/src/models/room.ts +34 -69
  169. package/src/models/thread.ts +4 -3
  170. package/src/oidc/authorize.ts +7 -7
  171. package/src/oidc/discovery.ts +16 -10
  172. package/src/oidc/index.ts +3 -4
  173. package/src/oidc/register.ts +3 -3
  174. package/src/oidc/tokenRefresher.ts +3 -2
  175. package/src/oidc/validate.ts +40 -63
  176. package/src/randomstring.ts +65 -19
  177. package/src/sliding-sync-sdk.ts +10 -83
  178. package/src/sliding-sync.ts +6 -6
  179. package/src/store/indexeddb-local-backend.ts +2 -2
  180. package/src/store/indexeddb.ts +1 -1
  181. package/src/sync-accumulator.ts +33 -16
  182. package/src/sync.ts +112 -143
  183. package/src/testing.ts +36 -103
  184. package/src/types.ts +0 -1
  185. package/CHANGELOG.md +0 -5910
  186. package/lib/@types/AESEncryptedSecretStoragePayload.d.ts +0 -14
  187. package/lib/@types/AESEncryptedSecretStoragePayload.d.ts.map +0 -1
  188. package/lib/@types/AESEncryptedSecretStoragePayload.js +0 -1
  189. package/lib/@types/AESEncryptedSecretStoragePayload.js.map +0 -1
  190. package/lib/@types/crypto.d.ts +0 -47
  191. package/lib/@types/crypto.d.ts.map +0 -1
  192. package/lib/@types/crypto.js +0 -1
  193. package/lib/@types/crypto.js.map +0 -1
  194. package/lib/@types/matrix-sdk-crypto-wasm.d.js +0 -1
  195. package/lib/@types/matrix-sdk-crypto-wasm.d.js.map +0 -1
  196. package/lib/common-crypto/CryptoBackend.d.ts +0 -240
  197. package/lib/common-crypto/CryptoBackend.d.ts.map +0 -1
  198. package/lib/common-crypto/CryptoBackend.js +0 -73
  199. package/lib/common-crypto/CryptoBackend.js.map +0 -1
  200. package/lib/common-crypto/key-passphrase.d.ts +0 -14
  201. package/lib/common-crypto/key-passphrase.d.ts.map +0 -1
  202. package/lib/common-crypto/key-passphrase.js +0 -33
  203. package/lib/common-crypto/key-passphrase.js.map +0 -1
  204. package/lib/crypto/CrossSigning.d.ts +0 -184
  205. package/lib/crypto/CrossSigning.d.ts.map +0 -1
  206. package/lib/crypto/CrossSigning.js +0 -718
  207. package/lib/crypto/CrossSigning.js.map +0 -1
  208. package/lib/crypto/DeviceList.d.ts +0 -216
  209. package/lib/crypto/DeviceList.d.ts.map +0 -1
  210. package/lib/crypto/DeviceList.js +0 -892
  211. package/lib/crypto/DeviceList.js.map +0 -1
  212. package/lib/crypto/EncryptionSetup.d.ts +0 -152
  213. package/lib/crypto/EncryptionSetup.d.ts.map +0 -1
  214. package/lib/crypto/EncryptionSetup.js +0 -356
  215. package/lib/crypto/EncryptionSetup.js.map +0 -1
  216. package/lib/crypto/OlmDevice.d.ts +0 -457
  217. package/lib/crypto/OlmDevice.d.ts.map +0 -1
  218. package/lib/crypto/OlmDevice.js +0 -1241
  219. package/lib/crypto/OlmDevice.js.map +0 -1
  220. package/lib/crypto/OutgoingRoomKeyRequestManager.d.ts +0 -109
  221. package/lib/crypto/OutgoingRoomKeyRequestManager.d.ts.map +0 -1
  222. package/lib/crypto/OutgoingRoomKeyRequestManager.js +0 -415
  223. package/lib/crypto/OutgoingRoomKeyRequestManager.js.map +0 -1
  224. package/lib/crypto/RoomList.d.ts +0 -26
  225. package/lib/crypto/RoomList.d.ts.map +0 -1
  226. package/lib/crypto/RoomList.js +0 -71
  227. package/lib/crypto/RoomList.js.map +0 -1
  228. package/lib/crypto/SecretSharing.d.ts +0 -24
  229. package/lib/crypto/SecretSharing.d.ts.map +0 -1
  230. package/lib/crypto/SecretSharing.js +0 -194
  231. package/lib/crypto/SecretSharing.js.map +0 -1
  232. package/lib/crypto/SecretStorage.d.ts +0 -55
  233. package/lib/crypto/SecretStorage.d.ts.map +0 -1
  234. package/lib/crypto/SecretStorage.js +0 -118
  235. package/lib/crypto/SecretStorage.js.map +0 -1
  236. package/lib/crypto/aes.d.ts +0 -6
  237. package/lib/crypto/aes.d.ts.map +0 -1
  238. package/lib/crypto/aes.js +0 -24
  239. package/lib/crypto/aes.js.map +0 -1
  240. package/lib/crypto/algorithms/base.d.ts +0 -156
  241. package/lib/crypto/algorithms/base.d.ts.map +0 -1
  242. package/lib/crypto/algorithms/base.js +0 -187
  243. package/lib/crypto/algorithms/base.js.map +0 -1
  244. package/lib/crypto/algorithms/index.d.ts +0 -4
  245. package/lib/crypto/algorithms/index.d.ts.map +0 -1
  246. package/lib/crypto/algorithms/index.js +0 -20
  247. package/lib/crypto/algorithms/index.js.map +0 -1
  248. package/lib/crypto/algorithms/megolm.d.ts +0 -385
  249. package/lib/crypto/algorithms/megolm.d.ts.map +0 -1
  250. package/lib/crypto/algorithms/megolm.js +0 -1822
  251. package/lib/crypto/algorithms/megolm.js.map +0 -1
  252. package/lib/crypto/algorithms/olm.d.ts +0 -5
  253. package/lib/crypto/algorithms/olm.d.ts.map +0 -1
  254. package/lib/crypto/algorithms/olm.js +0 -299
  255. package/lib/crypto/algorithms/olm.js.map +0 -1
  256. package/lib/crypto/api.d.ts +0 -32
  257. package/lib/crypto/api.d.ts.map +0 -1
  258. package/lib/crypto/api.js +0 -22
  259. package/lib/crypto/api.js.map +0 -1
  260. package/lib/crypto/backup.d.ts +0 -227
  261. package/lib/crypto/backup.d.ts.map +0 -1
  262. package/lib/crypto/backup.js +0 -824
  263. package/lib/crypto/backup.js.map +0 -1
  264. package/lib/crypto/crypto.d.ts +0 -3
  265. package/lib/crypto/crypto.d.ts.map +0 -1
  266. package/lib/crypto/crypto.js +0 -19
  267. package/lib/crypto/crypto.js.map +0 -1
  268. package/lib/crypto/dehydration.d.ts +0 -34
  269. package/lib/crypto/dehydration.d.ts.map +0 -1
  270. package/lib/crypto/dehydration.js +0 -252
  271. package/lib/crypto/dehydration.js.map +0 -1
  272. package/lib/crypto/device-converter.d.ts +0 -9
  273. package/lib/crypto/device-converter.d.ts.map +0 -1
  274. package/lib/crypto/device-converter.js +0 -42
  275. package/lib/crypto/device-converter.js.map +0 -1
  276. package/lib/crypto/deviceinfo.d.ts +0 -99
  277. package/lib/crypto/deviceinfo.d.ts.map +0 -1
  278. package/lib/crypto/deviceinfo.js +0 -148
  279. package/lib/crypto/deviceinfo.js.map +0 -1
  280. package/lib/crypto/index.d.ts +0 -1210
  281. package/lib/crypto/index.d.ts.map +0 -1
  282. package/lib/crypto/index.js +0 -4101
  283. package/lib/crypto/index.js.map +0 -1
  284. package/lib/crypto/key_passphrase.d.ts +0 -14
  285. package/lib/crypto/key_passphrase.d.ts.map +0 -1
  286. package/lib/crypto/key_passphrase.js +0 -44
  287. package/lib/crypto/key_passphrase.js.map +0 -1
  288. package/lib/crypto/keybackup.d.ts +0 -18
  289. package/lib/crypto/keybackup.d.ts.map +0 -1
  290. package/lib/crypto/keybackup.js +0 -1
  291. package/lib/crypto/keybackup.js.map +0 -1
  292. package/lib/crypto/olmlib.d.ts +0 -129
  293. package/lib/crypto/olmlib.d.ts.map +0 -1
  294. package/lib/crypto/olmlib.js +0 -492
  295. package/lib/crypto/olmlib.js.map +0 -1
  296. package/lib/crypto/recoverykey.d.ts +0 -2
  297. package/lib/crypto/recoverykey.d.ts.map +0 -1
  298. package/lib/crypto/recoverykey.js +0 -19
  299. package/lib/crypto/recoverykey.js.map +0 -1
  300. package/lib/crypto/store/base.d.ts +0 -252
  301. package/lib/crypto/store/base.d.ts.map +0 -1
  302. package/lib/crypto/store/base.js +0 -64
  303. package/lib/crypto/store/base.js.map +0 -1
  304. package/lib/crypto/store/indexeddb-crypto-store-backend.d.ts +0 -187
  305. package/lib/crypto/store/indexeddb-crypto-store-backend.d.ts.map +0 -1
  306. package/lib/crypto/store/indexeddb-crypto-store-backend.js +0 -1145
  307. package/lib/crypto/store/indexeddb-crypto-store-backend.js.map +0 -1
  308. package/lib/crypto/store/indexeddb-crypto-store.d.ts +0 -432
  309. package/lib/crypto/store/indexeddb-crypto-store.d.ts.map +0 -1
  310. package/lib/crypto/store/indexeddb-crypto-store.js +0 -728
  311. package/lib/crypto/store/indexeddb-crypto-store.js.map +0 -1
  312. package/lib/crypto/store/localStorage-crypto-store.d.ts +0 -119
  313. package/lib/crypto/store/localStorage-crypto-store.d.ts.map +0 -1
  314. package/lib/crypto/store/localStorage-crypto-store.js +0 -531
  315. package/lib/crypto/store/localStorage-crypto-store.js.map +0 -1
  316. package/lib/crypto/store/memory-crypto-store.d.ts +0 -215
  317. package/lib/crypto/store/memory-crypto-store.d.ts.map +0 -1
  318. package/lib/crypto/store/memory-crypto-store.js +0 -622
  319. package/lib/crypto/store/memory-crypto-store.js.map +0 -1
  320. package/lib/crypto/verification/Base.d.ts +0 -105
  321. package/lib/crypto/verification/Base.d.ts.map +0 -1
  322. package/lib/crypto/verification/Base.js +0 -372
  323. package/lib/crypto/verification/Base.js.map +0 -1
  324. package/lib/crypto/verification/Error.d.ts +0 -35
  325. package/lib/crypto/verification/Error.d.ts.map +0 -1
  326. package/lib/crypto/verification/Error.js +0 -86
  327. package/lib/crypto/verification/Error.js.map +0 -1
  328. package/lib/crypto/verification/IllegalMethod.d.ts +0 -15
  329. package/lib/crypto/verification/IllegalMethod.d.ts.map +0 -1
  330. package/lib/crypto/verification/IllegalMethod.js +0 -43
  331. package/lib/crypto/verification/IllegalMethod.js.map +0 -1
  332. package/lib/crypto/verification/QRCode.d.ts +0 -51
  333. package/lib/crypto/verification/QRCode.d.ts.map +0 -1
  334. package/lib/crypto/verification/QRCode.js +0 -277
  335. package/lib/crypto/verification/QRCode.js.map +0 -1
  336. package/lib/crypto/verification/SAS.d.ts +0 -27
  337. package/lib/crypto/verification/SAS.d.ts.map +0 -1
  338. package/lib/crypto/verification/SAS.js +0 -485
  339. package/lib/crypto/verification/SAS.js.map +0 -1
  340. package/lib/crypto/verification/SASDecimal.d.ts +0 -8
  341. package/lib/crypto/verification/SASDecimal.d.ts.map +0 -1
  342. package/lib/crypto/verification/SASDecimal.js +0 -34
  343. package/lib/crypto/verification/SASDecimal.js.map +0 -1
  344. package/lib/crypto/verification/request/Channel.d.ts +0 -18
  345. package/lib/crypto/verification/request/Channel.d.ts.map +0 -1
  346. package/lib/crypto/verification/request/Channel.js +0 -1
  347. package/lib/crypto/verification/request/Channel.js.map +0 -1
  348. package/lib/crypto/verification/request/InRoomChannel.d.ts +0 -113
  349. package/lib/crypto/verification/request/InRoomChannel.d.ts.map +0 -1
  350. package/lib/crypto/verification/request/InRoomChannel.js +0 -351
  351. package/lib/crypto/verification/request/InRoomChannel.js.map +0 -1
  352. package/lib/crypto/verification/request/ToDeviceChannel.d.ts +0 -105
  353. package/lib/crypto/verification/request/ToDeviceChannel.d.ts.map +0 -1
  354. package/lib/crypto/verification/request/ToDeviceChannel.js +0 -328
  355. package/lib/crypto/verification/request/ToDeviceChannel.js.map +0 -1
  356. package/lib/crypto/verification/request/VerificationRequest.d.ts +0 -227
  357. package/lib/crypto/verification/request/VerificationRequest.d.ts.map +0 -1
  358. package/lib/crypto/verification/request/VerificationRequest.js +0 -937
  359. package/lib/crypto/verification/request/VerificationRequest.js.map +0 -1
  360. package/lib/crypto-api/CryptoEvent.d.ts +0 -69
  361. package/lib/crypto-api/CryptoEvent.d.ts.map +0 -1
  362. package/lib/crypto-api/CryptoEvent.js +0 -33
  363. package/lib/crypto-api/CryptoEvent.js.map +0 -1
  364. package/lib/crypto-api/CryptoEventHandlerMap.d.ts +0 -16
  365. package/lib/crypto-api/CryptoEventHandlerMap.d.ts.map +0 -1
  366. package/lib/crypto-api/CryptoEventHandlerMap.js +0 -22
  367. package/lib/crypto-api/CryptoEventHandlerMap.js.map +0 -1
  368. package/lib/crypto-api/index.d.ts +0 -978
  369. package/lib/crypto-api/index.d.ts.map +0 -1
  370. package/lib/crypto-api/index.js +0 -304
  371. package/lib/crypto-api/index.js.map +0 -1
  372. package/lib/crypto-api/key-passphrase.d.ts +0 -11
  373. package/lib/crypto-api/key-passphrase.d.ts.map +0 -1
  374. package/lib/crypto-api/key-passphrase.js +0 -51
  375. package/lib/crypto-api/key-passphrase.js.map +0 -1
  376. package/lib/crypto-api/keybackup.d.ts +0 -88
  377. package/lib/crypto-api/keybackup.d.ts.map +0 -1
  378. package/lib/crypto-api/keybackup.js +0 -1
  379. package/lib/crypto-api/keybackup.js.map +0 -1
  380. package/lib/crypto-api/recovery-key.d.ts +0 -11
  381. package/lib/crypto-api/recovery-key.d.ts.map +0 -1
  382. package/lib/crypto-api/recovery-key.js +0 -65
  383. package/lib/crypto-api/recovery-key.js.map +0 -1
  384. package/lib/crypto-api/verification.d.ts +0 -344
  385. package/lib/crypto-api/verification.d.ts.map +0 -1
  386. package/lib/crypto-api/verification.js +0 -91
  387. package/lib/crypto-api/verification.js.map +0 -1
  388. package/lib/matrixrtc/CallMembership.d.ts +0 -66
  389. package/lib/matrixrtc/CallMembership.d.ts.map +0 -1
  390. package/lib/matrixrtc/CallMembership.js +0 -197
  391. package/lib/matrixrtc/CallMembership.js.map +0 -1
  392. package/lib/matrixrtc/LivekitFocus.d.ts +0 -16
  393. package/lib/matrixrtc/LivekitFocus.d.ts.map +0 -1
  394. package/lib/matrixrtc/LivekitFocus.js +0 -20
  395. package/lib/matrixrtc/LivekitFocus.js.map +0 -1
  396. package/lib/matrixrtc/MatrixRTCSession.d.ts +0 -295
  397. package/lib/matrixrtc/MatrixRTCSession.d.ts.map +0 -1
  398. package/lib/matrixrtc/MatrixRTCSession.js +0 -1043
  399. package/lib/matrixrtc/MatrixRTCSession.js.map +0 -1
  400. package/lib/matrixrtc/MatrixRTCSessionManager.d.ts +0 -40
  401. package/lib/matrixrtc/MatrixRTCSessionManager.d.ts.map +0 -1
  402. package/lib/matrixrtc/MatrixRTCSessionManager.js +0 -146
  403. package/lib/matrixrtc/MatrixRTCSessionManager.js.map +0 -1
  404. package/lib/matrixrtc/focus.d.ts +0 -10
  405. package/lib/matrixrtc/focus.d.ts.map +0 -1
  406. package/lib/matrixrtc/focus.js +0 -1
  407. package/lib/matrixrtc/focus.js.map +0 -1
  408. package/lib/matrixrtc/index.d.ts +0 -7
  409. package/lib/matrixrtc/index.d.ts.map +0 -1
  410. package/lib/matrixrtc/index.js +0 -21
  411. package/lib/matrixrtc/index.js.map +0 -1
  412. package/lib/matrixrtc/types.d.ts +0 -19
  413. package/lib/matrixrtc/types.d.ts.map +0 -1
  414. package/lib/matrixrtc/types.js +0 -1
  415. package/lib/matrixrtc/types.js.map +0 -1
  416. package/lib/rendezvous/MSC4108SignInWithQR.d.ts +0 -112
  417. package/lib/rendezvous/MSC4108SignInWithQR.d.ts.map +0 -1
  418. package/lib/rendezvous/MSC4108SignInWithQR.js +0 -392
  419. package/lib/rendezvous/MSC4108SignInWithQR.js.map +0 -1
  420. package/lib/rendezvous/RendezvousChannel.d.ts +0 -27
  421. package/lib/rendezvous/RendezvousChannel.d.ts.map +0 -1
  422. package/lib/rendezvous/RendezvousChannel.js +0 -1
  423. package/lib/rendezvous/RendezvousChannel.js.map +0 -1
  424. package/lib/rendezvous/RendezvousCode.d.ts +0 -9
  425. package/lib/rendezvous/RendezvousCode.d.ts.map +0 -1
  426. package/lib/rendezvous/RendezvousCode.js +0 -1
  427. package/lib/rendezvous/RendezvousCode.js.map +0 -1
  428. package/lib/rendezvous/RendezvousError.d.ts +0 -6
  429. package/lib/rendezvous/RendezvousError.d.ts.map +0 -1
  430. package/lib/rendezvous/RendezvousError.js +0 -23
  431. package/lib/rendezvous/RendezvousError.js.map +0 -1
  432. package/lib/rendezvous/RendezvousFailureReason.d.ts +0 -31
  433. package/lib/rendezvous/RendezvousFailureReason.d.ts.map +0 -1
  434. package/lib/rendezvous/RendezvousFailureReason.js +0 -38
  435. package/lib/rendezvous/RendezvousFailureReason.js.map +0 -1
  436. package/lib/rendezvous/RendezvousIntent.d.ts +0 -5
  437. package/lib/rendezvous/RendezvousIntent.d.ts.map +0 -1
  438. package/lib/rendezvous/RendezvousIntent.js +0 -22
  439. package/lib/rendezvous/RendezvousIntent.js.map +0 -1
  440. package/lib/rendezvous/RendezvousTransport.d.ts +0 -36
  441. package/lib/rendezvous/RendezvousTransport.d.ts.map +0 -1
  442. package/lib/rendezvous/RendezvousTransport.js +0 -1
  443. package/lib/rendezvous/RendezvousTransport.js.map +0 -1
  444. package/lib/rendezvous/channels/MSC4108SecureChannel.d.ts +0 -58
  445. package/lib/rendezvous/channels/MSC4108SecureChannel.d.ts.map +0 -1
  446. package/lib/rendezvous/channels/MSC4108SecureChannel.js +0 -246
  447. package/lib/rendezvous/channels/MSC4108SecureChannel.js.map +0 -1
  448. package/lib/rendezvous/channels/index.d.ts +0 -2
  449. package/lib/rendezvous/channels/index.d.ts.map +0 -1
  450. package/lib/rendezvous/channels/index.js +0 -18
  451. package/lib/rendezvous/channels/index.js.map +0 -1
  452. package/lib/rendezvous/index.d.ts +0 -10
  453. package/lib/rendezvous/index.d.ts.map +0 -1
  454. package/lib/rendezvous/index.js +0 -23
  455. package/lib/rendezvous/index.js.map +0 -1
  456. package/lib/rendezvous/transports/MSC4108RendezvousSession.d.ts +0 -61
  457. package/lib/rendezvous/transports/MSC4108RendezvousSession.d.ts.map +0 -1
  458. package/lib/rendezvous/transports/MSC4108RendezvousSession.js +0 -253
  459. package/lib/rendezvous/transports/MSC4108RendezvousSession.js.map +0 -1
  460. package/lib/rendezvous/transports/index.d.ts +0 -2
  461. package/lib/rendezvous/transports/index.d.ts.map +0 -1
  462. package/lib/rendezvous/transports/index.js +0 -18
  463. package/lib/rendezvous/transports/index.js.map +0 -1
  464. package/lib/rust-crypto/CrossSigningIdentity.d.ts +0 -33
  465. package/lib/rust-crypto/CrossSigningIdentity.d.ts.map +0 -1
  466. package/lib/rust-crypto/CrossSigningIdentity.js +0 -157
  467. package/lib/rust-crypto/CrossSigningIdentity.js.map +0 -1
  468. package/lib/rust-crypto/DehydratedDeviceManager.d.ts +0 -98
  469. package/lib/rust-crypto/DehydratedDeviceManager.d.ts.map +0 -1
  470. package/lib/rust-crypto/DehydratedDeviceManager.js +0 -285
  471. package/lib/rust-crypto/DehydratedDeviceManager.js.map +0 -1
  472. package/lib/rust-crypto/KeyClaimManager.d.ts +0 -33
  473. package/lib/rust-crypto/KeyClaimManager.d.ts.map +0 -1
  474. package/lib/rust-crypto/KeyClaimManager.js +0 -82
  475. package/lib/rust-crypto/KeyClaimManager.js.map +0 -1
  476. package/lib/rust-crypto/OutgoingRequestProcessor.d.ts +0 -43
  477. package/lib/rust-crypto/OutgoingRequestProcessor.d.ts.map +0 -1
  478. package/lib/rust-crypto/OutgoingRequestProcessor.js +0 -195
  479. package/lib/rust-crypto/OutgoingRequestProcessor.js.map +0 -1
  480. package/lib/rust-crypto/OutgoingRequestsManager.d.ts +0 -47
  481. package/lib/rust-crypto/OutgoingRequestsManager.d.ts.map +0 -1
  482. package/lib/rust-crypto/OutgoingRequestsManager.js +0 -148
  483. package/lib/rust-crypto/OutgoingRequestsManager.js.map +0 -1
  484. package/lib/rust-crypto/PerSessionKeyBackupDownloader.d.ts +0 -120
  485. package/lib/rust-crypto/PerSessionKeyBackupDownloader.d.ts.map +0 -1
  486. package/lib/rust-crypto/PerSessionKeyBackupDownloader.js +0 -467
  487. package/lib/rust-crypto/PerSessionKeyBackupDownloader.js.map +0 -1
  488. package/lib/rust-crypto/RoomEncryptor.d.ts +0 -98
  489. package/lib/rust-crypto/RoomEncryptor.d.ts.map +0 -1
  490. package/lib/rust-crypto/RoomEncryptor.js +0 -299
  491. package/lib/rust-crypto/RoomEncryptor.js.map +0 -1
  492. package/lib/rust-crypto/backup.d.ts +0 -254
  493. package/lib/rust-crypto/backup.d.ts.map +0 -1
  494. package/lib/rust-crypto/backup.js +0 -837
  495. package/lib/rust-crypto/backup.js.map +0 -1
  496. package/lib/rust-crypto/constants.d.ts +0 -3
  497. package/lib/rust-crypto/constants.d.ts.map +0 -1
  498. package/lib/rust-crypto/constants.js +0 -19
  499. package/lib/rust-crypto/constants.js.map +0 -1
  500. package/lib/rust-crypto/device-converter.d.ts +0 -28
  501. package/lib/rust-crypto/device-converter.d.ts.map +0 -1
  502. package/lib/rust-crypto/device-converter.js +0 -123
  503. package/lib/rust-crypto/device-converter.js.map +0 -1
  504. package/lib/rust-crypto/index.d.ts +0 -61
  505. package/lib/rust-crypto/index.d.ts.map +0 -1
  506. package/lib/rust-crypto/index.js +0 -152
  507. package/lib/rust-crypto/index.js.map +0 -1
  508. package/lib/rust-crypto/libolm_migration.d.ts +0 -81
  509. package/lib/rust-crypto/libolm_migration.d.ts.map +0 -1
  510. package/lib/rust-crypto/libolm_migration.js +0 -459
  511. package/lib/rust-crypto/libolm_migration.js.map +0 -1
  512. package/lib/rust-crypto/rust-crypto.d.ts +0 -556
  513. package/lib/rust-crypto/rust-crypto.d.ts.map +0 -1
  514. package/lib/rust-crypto/rust-crypto.js +0 -2016
  515. package/lib/rust-crypto/rust-crypto.js.map +0 -1
  516. package/lib/rust-crypto/secret-storage.d.ts +0 -22
  517. package/lib/rust-crypto/secret-storage.d.ts.map +0 -1
  518. package/lib/rust-crypto/secret-storage.js +0 -63
  519. package/lib/rust-crypto/secret-storage.js.map +0 -1
  520. package/lib/rust-crypto/verification.d.ts +0 -319
  521. package/lib/rust-crypto/verification.d.ts.map +0 -1
  522. package/lib/rust-crypto/verification.js +0 -816
  523. package/lib/rust-crypto/verification.js.map +0 -1
  524. package/lib/secret-storage.d.ts +0 -370
  525. package/lib/secret-storage.d.ts.map +0 -1
  526. package/lib/secret-storage.js +0 -466
  527. package/lib/secret-storage.js.map +0 -1
  528. package/lib/utils/decryptAESSecretStorageItem.d.ts +0 -12
  529. package/lib/utils/decryptAESSecretStorageItem.d.ts.map +0 -1
  530. package/lib/utils/decryptAESSecretStorageItem.js +0 -50
  531. package/lib/utils/decryptAESSecretStorageItem.js.map +0 -1
  532. package/lib/utils/encryptAESSecretStorageItem.d.ts +0 -16
  533. package/lib/utils/encryptAESSecretStorageItem.d.ts.map +0 -1
  534. package/lib/utils/encryptAESSecretStorageItem.js +0 -68
  535. package/lib/utils/encryptAESSecretStorageItem.js.map +0 -1
  536. package/lib/utils/internal/deriveKeys.d.ts +0 -10
  537. package/lib/utils/internal/deriveKeys.d.ts.map +0 -1
  538. package/lib/utils/internal/deriveKeys.js +0 -60
  539. package/lib/utils/internal/deriveKeys.js.map +0 -1
  540. package/lib/webrtc/audioContext.d.ts +0 -15
  541. package/lib/webrtc/audioContext.d.ts.map +0 -1
  542. package/lib/webrtc/audioContext.js +0 -46
  543. package/lib/webrtc/audioContext.js.map +0 -1
  544. package/lib/webrtc/call.d.ts +0 -560
  545. package/lib/webrtc/call.d.ts.map +0 -1
  546. package/lib/webrtc/call.js +0 -2541
  547. package/lib/webrtc/call.js.map +0 -1
  548. package/lib/webrtc/callEventHandler.d.ts +0 -37
  549. package/lib/webrtc/callEventHandler.d.ts.map +0 -1
  550. package/lib/webrtc/callEventHandler.js +0 -344
  551. package/lib/webrtc/callEventHandler.js.map +0 -1
  552. package/lib/webrtc/callEventTypes.d.ts +0 -73
  553. package/lib/webrtc/callEventTypes.d.ts.map +0 -1
  554. package/lib/webrtc/callEventTypes.js +0 -13
  555. package/lib/webrtc/callEventTypes.js.map +0 -1
  556. package/lib/webrtc/callFeed.d.ts +0 -128
  557. package/lib/webrtc/callFeed.d.ts.map +0 -1
  558. package/lib/webrtc/callFeed.js +0 -289
  559. package/lib/webrtc/callFeed.js.map +0 -1
  560. package/lib/webrtc/groupCall.d.ts +0 -323
  561. package/lib/webrtc/groupCall.d.ts.map +0 -1
  562. package/lib/webrtc/groupCall.js +0 -1337
  563. package/lib/webrtc/groupCall.js.map +0 -1
  564. package/lib/webrtc/groupCallEventHandler.d.ts +0 -31
  565. package/lib/webrtc/groupCallEventHandler.d.ts.map +0 -1
  566. package/lib/webrtc/groupCallEventHandler.js +0 -178
  567. package/lib/webrtc/groupCallEventHandler.js.map +0 -1
  568. package/lib/webrtc/mediaHandler.d.ts +0 -89
  569. package/lib/webrtc/mediaHandler.d.ts.map +0 -1
  570. package/lib/webrtc/mediaHandler.js +0 -437
  571. package/lib/webrtc/mediaHandler.js.map +0 -1
  572. package/lib/webrtc/stats/callFeedStatsReporter.d.ts +0 -8
  573. package/lib/webrtc/stats/callFeedStatsReporter.d.ts.map +0 -1
  574. package/lib/webrtc/stats/callFeedStatsReporter.js +0 -82
  575. package/lib/webrtc/stats/callFeedStatsReporter.js.map +0 -1
  576. package/lib/webrtc/stats/callStatsReportGatherer.d.ts +0 -25
  577. package/lib/webrtc/stats/callStatsReportGatherer.d.ts.map +0 -1
  578. package/lib/webrtc/stats/callStatsReportGatherer.js +0 -199
  579. package/lib/webrtc/stats/callStatsReportGatherer.js.map +0 -1
  580. package/lib/webrtc/stats/callStatsReportSummary.d.ts +0 -17
  581. package/lib/webrtc/stats/callStatsReportSummary.d.ts.map +0 -1
  582. package/lib/webrtc/stats/callStatsReportSummary.js +0 -1
  583. package/lib/webrtc/stats/callStatsReportSummary.js.map +0 -1
  584. package/lib/webrtc/stats/connectionStats.d.ts +0 -28
  585. package/lib/webrtc/stats/connectionStats.d.ts.map +0 -1
  586. package/lib/webrtc/stats/connectionStats.js +0 -26
  587. package/lib/webrtc/stats/connectionStats.js.map +0 -1
  588. package/lib/webrtc/stats/connectionStatsBuilder.d.ts +0 -5
  589. package/lib/webrtc/stats/connectionStatsBuilder.d.ts.map +0 -1
  590. package/lib/webrtc/stats/connectionStatsBuilder.js +0 -27
  591. package/lib/webrtc/stats/connectionStatsBuilder.js.map +0 -1
  592. package/lib/webrtc/stats/connectionStatsReportBuilder.d.ts +0 -7
  593. package/lib/webrtc/stats/connectionStatsReportBuilder.d.ts.map +0 -1
  594. package/lib/webrtc/stats/connectionStatsReportBuilder.js +0 -121
  595. package/lib/webrtc/stats/connectionStatsReportBuilder.js.map +0 -1
  596. package/lib/webrtc/stats/groupCallStats.d.ts +0 -22
  597. package/lib/webrtc/stats/groupCallStats.d.ts.map +0 -1
  598. package/lib/webrtc/stats/groupCallStats.js +0 -78
  599. package/lib/webrtc/stats/groupCallStats.js.map +0 -1
  600. package/lib/webrtc/stats/media/mediaSsrcHandler.d.ts +0 -10
  601. package/lib/webrtc/stats/media/mediaSsrcHandler.d.ts.map +0 -1
  602. package/lib/webrtc/stats/media/mediaSsrcHandler.js +0 -57
  603. package/lib/webrtc/stats/media/mediaSsrcHandler.js.map +0 -1
  604. package/lib/webrtc/stats/media/mediaTrackHandler.d.ts +0 -12
  605. package/lib/webrtc/stats/media/mediaTrackHandler.d.ts.map +0 -1
  606. package/lib/webrtc/stats/media/mediaTrackHandler.js +0 -62
  607. package/lib/webrtc/stats/media/mediaTrackHandler.js.map +0 -1
  608. package/lib/webrtc/stats/media/mediaTrackStats.d.ts +0 -86
  609. package/lib/webrtc/stats/media/mediaTrackStats.d.ts.map +0 -1
  610. package/lib/webrtc/stats/media/mediaTrackStats.js +0 -142
  611. package/lib/webrtc/stats/media/mediaTrackStats.js.map +0 -1
  612. package/lib/webrtc/stats/media/mediaTrackStatsHandler.d.ts +0 -22
  613. package/lib/webrtc/stats/media/mediaTrackStatsHandler.d.ts.map +0 -1
  614. package/lib/webrtc/stats/media/mediaTrackStatsHandler.js +0 -76
  615. package/lib/webrtc/stats/media/mediaTrackStatsHandler.js.map +0 -1
  616. package/lib/webrtc/stats/statsReport.d.ts +0 -99
  617. package/lib/webrtc/stats/statsReport.d.ts.map +0 -1
  618. package/lib/webrtc/stats/statsReport.js +0 -32
  619. package/lib/webrtc/stats/statsReport.js.map +0 -1
  620. package/lib/webrtc/stats/statsReportEmitter.d.ts +0 -15
  621. package/lib/webrtc/stats/statsReportEmitter.d.ts.map +0 -1
  622. package/lib/webrtc/stats/statsReportEmitter.js +0 -33
  623. package/lib/webrtc/stats/statsReportEmitter.js.map +0 -1
  624. package/lib/webrtc/stats/summaryStatsReportGatherer.d.ts +0 -16
  625. package/lib/webrtc/stats/summaryStatsReportGatherer.d.ts.map +0 -1
  626. package/lib/webrtc/stats/summaryStatsReportGatherer.js +0 -116
  627. package/lib/webrtc/stats/summaryStatsReportGatherer.js.map +0 -1
  628. package/lib/webrtc/stats/trackStatsBuilder.d.ts +0 -19
  629. package/lib/webrtc/stats/trackStatsBuilder.d.ts.map +0 -1
  630. package/lib/webrtc/stats/trackStatsBuilder.js +0 -168
  631. package/lib/webrtc/stats/trackStatsBuilder.js.map +0 -1
  632. package/lib/webrtc/stats/transportStats.d.ts +0 -11
  633. package/lib/webrtc/stats/transportStats.d.ts.map +0 -1
  634. package/lib/webrtc/stats/transportStats.js +0 -1
  635. package/lib/webrtc/stats/transportStats.js.map +0 -1
  636. package/lib/webrtc/stats/transportStatsBuilder.d.ts +0 -5
  637. package/lib/webrtc/stats/transportStatsBuilder.d.ts.map +0 -1
  638. package/lib/webrtc/stats/transportStatsBuilder.js +0 -34
  639. package/lib/webrtc/stats/transportStatsBuilder.js.map +0 -1
  640. package/lib/webrtc/stats/valueFormatter.d.ts +0 -4
  641. package/lib/webrtc/stats/valueFormatter.d.ts.map +0 -1
  642. package/lib/webrtc/stats/valueFormatter.js +0 -25
  643. package/lib/webrtc/stats/valueFormatter.js.map +0 -1
  644. package/src/@types/AESEncryptedSecretStoragePayload.ts +0 -29
  645. package/src/@types/crypto.ts +0 -73
  646. package/src/@types/matrix-sdk-crypto-wasm.d.ts +0 -44
  647. package/src/common-crypto/CryptoBackend.ts +0 -302
  648. package/src/common-crypto/README.md +0 -4
  649. package/src/common-crypto/key-passphrase.ts +0 -43
  650. package/src/crypto/CrossSigning.ts +0 -773
  651. package/src/crypto/DeviceList.ts +0 -989
  652. package/src/crypto/EncryptionSetup.ts +0 -351
  653. package/src/crypto/OlmDevice.ts +0 -1500
  654. package/src/crypto/OutgoingRoomKeyRequestManager.ts +0 -485
  655. package/src/crypto/RoomList.ts +0 -70
  656. package/src/crypto/SecretSharing.ts +0 -240
  657. package/src/crypto/SecretStorage.ts +0 -136
  658. package/src/crypto/aes.ts +0 -23
  659. package/src/crypto/algorithms/base.ts +0 -236
  660. package/src/crypto/algorithms/index.ts +0 -20
  661. package/src/crypto/algorithms/megolm.ts +0 -2216
  662. package/src/crypto/algorithms/olm.ts +0 -381
  663. package/src/crypto/api.ts +0 -70
  664. package/src/crypto/backup.ts +0 -922
  665. package/src/crypto/crypto.ts +0 -18
  666. package/src/crypto/dehydration.ts +0 -272
  667. package/src/crypto/device-converter.ts +0 -45
  668. package/src/crypto/deviceinfo.ts +0 -158
  669. package/src/crypto/index.ts +0 -4418
  670. package/src/crypto/key_passphrase.ts +0 -42
  671. package/src/crypto/keybackup.ts +0 -47
  672. package/src/crypto/olmlib.ts +0 -539
  673. package/src/crypto/recoverykey.ts +0 -18
  674. package/src/crypto/store/base.ts +0 -348
  675. package/src/crypto/store/indexeddb-crypto-store-backend.ts +0 -1250
  676. package/src/crypto/store/indexeddb-crypto-store.ts +0 -845
  677. package/src/crypto/store/localStorage-crypto-store.ts +0 -579
  678. package/src/crypto/store/memory-crypto-store.ts +0 -680
  679. package/src/crypto/verification/Base.ts +0 -409
  680. package/src/crypto/verification/Error.ts +0 -76
  681. package/src/crypto/verification/IllegalMethod.ts +0 -50
  682. package/src/crypto/verification/QRCode.ts +0 -310
  683. package/src/crypto/verification/SAS.ts +0 -494
  684. package/src/crypto/verification/SASDecimal.ts +0 -37
  685. package/src/crypto/verification/request/Channel.ts +0 -34
  686. package/src/crypto/verification/request/InRoomChannel.ts +0 -371
  687. package/src/crypto/verification/request/ToDeviceChannel.ts +0 -354
  688. package/src/crypto/verification/request/VerificationRequest.ts +0 -976
  689. package/src/crypto-api/CryptoEvent.ts +0 -93
  690. package/src/crypto-api/CryptoEventHandlerMap.ts +0 -32
  691. package/src/crypto-api/index.ts +0 -1175
  692. package/src/crypto-api/key-passphrase.ts +0 -58
  693. package/src/crypto-api/keybackup.ts +0 -115
  694. package/src/crypto-api/recovery-key.ts +0 -69
  695. package/src/crypto-api/verification.ts +0 -408
  696. package/src/matrixrtc/CallMembership.ts +0 -247
  697. package/src/matrixrtc/LivekitFocus.ts +0 -39
  698. package/src/matrixrtc/MatrixRTCSession.ts +0 -1319
  699. package/src/matrixrtc/MatrixRTCSessionManager.ts +0 -166
  700. package/src/matrixrtc/focus.ts +0 -25
  701. package/src/matrixrtc/index.ts +0 -22
  702. package/src/matrixrtc/types.ts +0 -36
  703. package/src/rendezvous/MSC4108SignInWithQR.ts +0 -444
  704. package/src/rendezvous/RendezvousChannel.ts +0 -48
  705. package/src/rendezvous/RendezvousCode.ts +0 -25
  706. package/src/rendezvous/RendezvousError.ts +0 -26
  707. package/src/rendezvous/RendezvousFailureReason.ts +0 -49
  708. package/src/rendezvous/RendezvousIntent.ts +0 -20
  709. package/src/rendezvous/RendezvousTransport.ts +0 -58
  710. package/src/rendezvous/channels/MSC4108SecureChannel.ts +0 -270
  711. package/src/rendezvous/channels/index.ts +0 -17
  712. package/src/rendezvous/index.ts +0 -25
  713. package/src/rendezvous/transports/MSC4108RendezvousSession.ts +0 -270
  714. package/src/rendezvous/transports/index.ts +0 -17
  715. package/src/rust-crypto/CrossSigningIdentity.ts +0 -183
  716. package/src/rust-crypto/DehydratedDeviceManager.ts +0 -306
  717. package/src/rust-crypto/KeyClaimManager.ts +0 -86
  718. package/src/rust-crypto/OutgoingRequestProcessor.ts +0 -236
  719. package/src/rust-crypto/OutgoingRequestsManager.ts +0 -143
  720. package/src/rust-crypto/PerSessionKeyBackupDownloader.ts +0 -501
  721. package/src/rust-crypto/RoomEncryptor.ts +0 -352
  722. package/src/rust-crypto/backup.ts +0 -881
  723. package/src/rust-crypto/constants.ts +0 -18
  724. package/src/rust-crypto/device-converter.ts +0 -128
  725. package/src/rust-crypto/index.ts +0 -237
  726. package/src/rust-crypto/libolm_migration.ts +0 -530
  727. package/src/rust-crypto/rust-crypto.ts +0 -2205
  728. package/src/rust-crypto/secret-storage.ts +0 -60
  729. package/src/rust-crypto/verification.ts +0 -830
  730. package/src/secret-storage.ts +0 -693
  731. package/src/utils/decryptAESSecretStorageItem.ts +0 -54
  732. package/src/utils/encryptAESSecretStorageItem.ts +0 -73
  733. package/src/utils/internal/deriveKeys.ts +0 -63
  734. package/src/webrtc/audioContext.ts +0 -44
  735. package/src/webrtc/call.ts +0 -3074
  736. package/src/webrtc/callEventHandler.ts +0 -425
  737. package/src/webrtc/callEventTypes.ts +0 -93
  738. package/src/webrtc/callFeed.ts +0 -364
  739. package/src/webrtc/groupCall.ts +0 -1735
  740. package/src/webrtc/groupCallEventHandler.ts +0 -234
  741. package/src/webrtc/mediaHandler.ts +0 -484
  742. package/src/webrtc/stats/callFeedStatsReporter.ts +0 -94
  743. package/src/webrtc/stats/callStatsReportGatherer.ts +0 -219
  744. package/src/webrtc/stats/callStatsReportSummary.ts +0 -30
  745. package/src/webrtc/stats/connectionStats.ts +0 -47
  746. package/src/webrtc/stats/connectionStatsBuilder.ts +0 -28
  747. package/src/webrtc/stats/connectionStatsReportBuilder.ts +0 -140
  748. package/src/webrtc/stats/groupCallStats.ts +0 -93
  749. package/src/webrtc/stats/media/mediaSsrcHandler.ts +0 -57
  750. package/src/webrtc/stats/media/mediaTrackHandler.ts +0 -76
  751. package/src/webrtc/stats/media/mediaTrackStats.ts +0 -176
  752. package/src/webrtc/stats/media/mediaTrackStatsHandler.ts +0 -90
  753. package/src/webrtc/stats/statsReport.ts +0 -133
  754. package/src/webrtc/stats/statsReportEmitter.ts +0 -49
  755. package/src/webrtc/stats/summaryStatsReportGatherer.ts +0 -148
  756. package/src/webrtc/stats/trackStatsBuilder.ts +0 -207
  757. package/src/webrtc/stats/transportStats.ts +0 -26
  758. package/src/webrtc/stats/transportStatsBuilder.ts +0 -48
  759. package/src/webrtc/stats/valueFormatter.ts +0 -27
@@ -282,16 +282,22 @@ export class RoomMember extends TypedEventEmitter {
282
282
  * If false, any non-matrix content URLs will be ignored. Setting this option to
283
283
  * true will expose URLs that, if fetched, will leak information about the user
284
284
  * to anyone who they share a room with.
285
+ * @param useAuthentication - (optional) If true, the caller supports authenticated
286
+ * media and wants an authentication-required URL. Note that server support for
287
+ * authenticated media will not be checked - it is the caller's responsibility
288
+ * to do so before calling this function. Note also that useAuthentication
289
+ * implies allowRedirects. Defaults to false (unauthenticated endpoints).
285
290
  * @returns the avatar URL or null.
286
291
  */
287
292
  getAvatarUrl(baseUrl, width, height, resizeMethod) {
288
293
  var allowDefault = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : true;
289
294
  var allowDirectLinks = arguments.length > 5 ? arguments[5] : undefined;
295
+ var useAuthentication = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : false;
290
296
  var rawUrl = this.getMxcAvatarUrl();
291
297
  if (!rawUrl && !allowDefault) {
292
298
  return null;
293
299
  }
294
- var httpUrl = getHttpUriForMxc(baseUrl, rawUrl, width, height, resizeMethod, allowDirectLinks);
300
+ var httpUrl = getHttpUriForMxc(baseUrl, rawUrl, width, height, resizeMethod, allowDirectLinks, undefined, useAuthentication);
295
301
  if (httpUrl) {
296
302
  return httpUrl;
297
303
  }
@@ -1 +1 @@
1
- {"version":3,"file":"room-member.js","names":["getHttpUriForMxc","removeDirectionOverrideChars","removeHiddenChars","logger","TypedEventEmitter","EventType","KnownMembership","RoomMemberEvent","RoomMember","constructor","roomId","userId","_defineProperty","name","rawDisplayName","updateModifiedTime","markOutOfBand","_isOutOfBand","isOutOfBand","setMembershipEvent","event","roomState","_event$getDirectional","_event$getDirectional2","displayName","getDirectionalContent","displayname","getType","events","member","oldMembership","membership","undefined","trace","concat","forwardLooking","getContent","getPrevContent","disambiguate","shouldDisambiguate","oldName","calculateDisplayName","emit","Membership","Name","setPowerLevelEvent","powerLevelEvent","RoomPowerLevels","getStateKey","evContent","maxLevel","users_default","users","Object","values","forEach","lvl","Math","max","oldPowerLevel","powerLevel","oldPowerLevelNorm","powerLevelNorm","Number","isInteger","PowerLevel","setTypingEvent","oldTyping","typing","typingList","user_ids","Array","isArray","indexOf","Typing","modified","Date","now","getLastModifiedTime","isKicked","Leave","getSender","getDMInviter","memberEvent","memberContent","inviteSender","Join","getUnsigned","prev_sender","Invite","is_direct","getAvatarUrl","baseUrl","width","height","resizeMethod","allowDefault","arguments","length","allowDirectLinks","rawUrl","getMxcAvatarUrl","httpUrl","avatar_url","user","avatarUrl","MXID_PATTERN","LTR_RTL_PATTERN","selfUserId","test","userIds","getUserIdsWithDisplayName","some","u"],"sources":["../../src/models/room-member.ts"],"sourcesContent":["/*\nCopyright 2015 - 2021 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport { getHttpUriForMxc } from \"../content-repo.ts\";\nimport { removeDirectionOverrideChars, removeHiddenChars } from \"../utils.ts\";\nimport { User } from \"./user.ts\";\nimport { MatrixEvent } from \"./event.ts\";\nimport { RoomState } from \"./room-state.ts\";\nimport { logger } from \"../logger.ts\";\nimport { TypedEventEmitter } from \"./typed-event-emitter.ts\";\nimport { EventType } from \"../@types/event.ts\";\nimport { KnownMembership, Membership } from \"../@types/membership.ts\";\n\nexport enum RoomMemberEvent {\n Membership = \"RoomMember.membership\",\n Name = \"RoomMember.name\",\n PowerLevel = \"RoomMember.powerLevel\",\n Typing = \"RoomMember.typing\",\n}\n\nexport type RoomMemberEventHandlerMap = {\n /**\n * Fires whenever any room member's membership state changes.\n * @param event - The matrix event which caused this event to fire.\n * @param member - The member whose RoomMember.membership changed.\n * @param oldMembership - The previous membership state. Null if it's a new member.\n * @example\n * ```\n * matrixClient.on(\"RoomMember.membership\", function(event, member, oldMembership){\n * var newState = member.membership;\n * });\n * ```\n */\n [RoomMemberEvent.Membership]: (event: MatrixEvent, member: RoomMember, oldMembership?: string) => void;\n /**\n * Fires whenever any room member's name changes.\n * @param event - The matrix event which caused this event to fire.\n * @param member - The member whose RoomMember.name changed.\n * @param oldName - The previous name. Null if the member didn't have a name previously.\n * @example\n * ```\n * matrixClient.on(\"RoomMember.name\", function(event, member){\n * var newName = member.name;\n * });\n * ```\n */\n [RoomMemberEvent.Name]: (event: MatrixEvent, member: RoomMember, oldName: string | null) => void;\n /**\n * Fires whenever any room member's power level changes.\n * @param event - The matrix event which caused this event to fire.\n * @param member - The member whose RoomMember.powerLevel changed.\n * @example\n * ```\n * matrixClient.on(\"RoomMember.powerLevel\", function(event, member){\n * var newPowerLevel = member.powerLevel;\n * var newNormPowerLevel = member.powerLevelNorm;\n * });\n * ```\n */\n [RoomMemberEvent.PowerLevel]: (event: MatrixEvent, member: RoomMember) => void;\n /**\n * Fires whenever any room member's typing state changes.\n * @param event - The matrix event which caused this event to fire.\n * @param member - The member whose RoomMember.typing changed.\n * @example\n * ```\n * matrixClient.on(\"RoomMember.typing\", function(event, member){\n * var isTyping = member.typing;\n * });\n * ```\n */\n [RoomMemberEvent.Typing]: (event: MatrixEvent, member: RoomMember) => void;\n};\n\nexport class RoomMember extends TypedEventEmitter<RoomMemberEvent, RoomMemberEventHandlerMap> {\n private _isOutOfBand = false;\n private modified = -1;\n public requestedProfileInfo = false; // used by sync.ts\n\n // XXX these should be read-only\n /**\n * True if the room member is currently typing.\n */\n public typing = false;\n /**\n * The human-readable name for this room member. This will be\n * disambiguated with a suffix of \" (\\@user_id:matrix.org)\" if another member shares the\n * same displayname.\n */\n public name: string;\n /**\n * The ambiguous displayname of this room member.\n */\n public rawDisplayName: string;\n /**\n * The power level for this room member.\n */\n public powerLevel = 0;\n /**\n * The normalised power level (0-100) for this room member.\n */\n public powerLevelNorm = 0;\n /**\n * The User object for this room member, if one exists.\n */\n public user?: User;\n /**\n * The membership state for this room member e.g. 'join'.\n */\n public membership?: Membership;\n /**\n * True if the member's name is disambiguated.\n */\n public disambiguate = false;\n /**\n * The events describing this RoomMember.\n */\n public events: {\n /**\n * The m.room.member event for this RoomMember.\n */\n member?: MatrixEvent;\n } = {};\n\n /**\n * Construct a new room member.\n *\n * @param roomId - The room ID of the member.\n * @param userId - The user ID of the member.\n */\n public constructor(\n public readonly roomId: string,\n public readonly userId: string,\n ) {\n super();\n\n this.name = userId;\n this.rawDisplayName = userId;\n this.updateModifiedTime();\n }\n\n /**\n * Mark the member as coming from a channel that is not sync\n */\n public markOutOfBand(): void {\n this._isOutOfBand = true;\n }\n\n /**\n * @returns does the member come from a channel that is not sync?\n * This is used to store the member seperately\n * from the sync state so it available across browser sessions.\n */\n public isOutOfBand(): boolean {\n return this._isOutOfBand;\n }\n\n /**\n * Update this room member's membership event. May fire \"RoomMember.name\" if\n * this event updates this member's name.\n * @param event - The `m.room.member` event\n * @param roomState - Optional. The room state to take into account\n * when calculating (e.g. for disambiguating users with the same name).\n *\n * @remarks\n * Fires {@link RoomMemberEvent.Name}\n * Fires {@link RoomMemberEvent.Membership}\n */\n public setMembershipEvent(event: MatrixEvent, roomState?: RoomState): void {\n const displayName = event.getDirectionalContent().displayname ?? \"\";\n\n if (event.getType() !== EventType.RoomMember) {\n return;\n }\n\n this._isOutOfBand = false;\n\n this.events.member = event;\n\n const oldMembership = this.membership;\n this.membership = event.getDirectionalContent().membership;\n if (this.membership === undefined) {\n // logging to diagnose https://github.com/vector-im/element-web/issues/20962\n // (logs event content, although only of membership events)\n logger.trace(\n `membership event with membership undefined (forwardLooking: ${event.forwardLooking})!`,\n event.getContent(),\n `prevcontent is `,\n event.getPrevContent(),\n );\n }\n\n this.disambiguate = shouldDisambiguate(this.userId, displayName, roomState);\n\n const oldName = this.name;\n this.name = calculateDisplayName(this.userId, displayName, this.disambiguate);\n\n // not quite raw: we strip direction override chars so it can safely be inserted into\n // blocks of text without breaking the text direction\n this.rawDisplayName = removeDirectionOverrideChars(event.getDirectionalContent().displayname ?? \"\");\n if (!this.rawDisplayName || !removeHiddenChars(this.rawDisplayName)) {\n this.rawDisplayName = this.userId;\n }\n\n if (oldMembership !== this.membership) {\n this.updateModifiedTime();\n this.emit(RoomMemberEvent.Membership, event, this, oldMembership);\n }\n if (oldName !== this.name) {\n this.updateModifiedTime();\n this.emit(RoomMemberEvent.Name, event, this, oldName);\n }\n }\n\n /**\n * Update this room member's power level event. May fire\n * \"RoomMember.powerLevel\" if this event updates this member's power levels.\n * @param powerLevelEvent - The `m.room.power_levels` event\n *\n * @remarks\n * Fires {@link RoomMemberEvent.PowerLevel}\n */\n public setPowerLevelEvent(powerLevelEvent: MatrixEvent): void {\n if (powerLevelEvent.getType() !== EventType.RoomPowerLevels || powerLevelEvent.getStateKey() !== \"\") {\n return;\n }\n\n const evContent = powerLevelEvent.getDirectionalContent();\n\n let maxLevel = evContent.users_default || 0;\n const users: { [userId: string]: number } = evContent.users || {};\n Object.values(users).forEach((lvl: number) => {\n maxLevel = Math.max(maxLevel, lvl);\n });\n const oldPowerLevel = this.powerLevel;\n const oldPowerLevelNorm = this.powerLevelNorm;\n\n if (users[this.userId] !== undefined && Number.isInteger(users[this.userId])) {\n this.powerLevel = users[this.userId];\n } else if (evContent.users_default !== undefined) {\n this.powerLevel = evContent.users_default;\n } else {\n this.powerLevel = 0;\n }\n this.powerLevelNorm = 0;\n if (maxLevel > 0) {\n this.powerLevelNorm = (this.powerLevel * 100) / maxLevel;\n }\n\n // emit for changes in powerLevelNorm as well (since the app will need to\n // redraw everyone's level if the max has changed)\n if (oldPowerLevel !== this.powerLevel || oldPowerLevelNorm !== this.powerLevelNorm) {\n this.updateModifiedTime();\n this.emit(RoomMemberEvent.PowerLevel, powerLevelEvent, this);\n }\n }\n\n /**\n * Update this room member's typing event. May fire \"RoomMember.typing\" if\n * this event changes this member's typing state.\n * @param event - The typing event\n *\n * @remarks\n * Fires {@link RoomMemberEvent.Typing}\n */\n public setTypingEvent(event: MatrixEvent): void {\n if (event.getType() !== \"m.typing\") {\n return;\n }\n const oldTyping = this.typing;\n this.typing = false;\n const typingList = event.getContent().user_ids;\n if (!Array.isArray(typingList)) {\n // malformed event :/ bail early. TODO: whine?\n return;\n }\n if (typingList.indexOf(this.userId) !== -1) {\n this.typing = true;\n }\n if (oldTyping !== this.typing) {\n this.updateModifiedTime();\n this.emit(RoomMemberEvent.Typing, event, this);\n }\n }\n\n /**\n * Update the last modified time to the current time.\n */\n private updateModifiedTime(): void {\n this.modified = Date.now();\n }\n\n /**\n * Get the timestamp when this RoomMember was last updated. This timestamp is\n * updated when properties on this RoomMember are updated.\n * It is updated <i>before</i> firing events.\n * @returns The timestamp\n */\n public getLastModifiedTime(): number {\n return this.modified;\n }\n\n public isKicked(): boolean {\n return (\n this.membership === KnownMembership.Leave &&\n this.events.member !== undefined &&\n this.events.member.getSender() !== this.events.member.getStateKey()\n );\n }\n\n /**\n * If this member was invited with the is_direct flag set, return\n * the user that invited this member\n * @returns user id of the inviter\n */\n public getDMInviter(): string | undefined {\n // when not available because that room state hasn't been loaded in,\n // we don't really know, but more likely to not be a direct chat\n if (this.events.member) {\n // TODO: persist the is_direct flag on the member as more member events\n // come in caused by displayName changes.\n\n // the is_direct flag is set on the invite member event.\n // This is copied on the prev_content section of the join member event\n // when the invite is accepted.\n\n const memberEvent = this.events.member;\n let memberContent = memberEvent.getContent();\n let inviteSender: string | undefined = memberEvent.getSender();\n\n if (memberContent.membership === KnownMembership.Join) {\n memberContent = memberEvent.getPrevContent();\n inviteSender = memberEvent.getUnsigned().prev_sender;\n }\n\n if (memberContent.membership === KnownMembership.Invite && memberContent.is_direct) {\n return inviteSender;\n }\n }\n }\n\n /**\n * Get the avatar URL for a room member.\n * @param baseUrl - The base homeserver URL See\n * {@link MatrixClient#getHomeserverUrl}.\n * @param width - The desired width of the thumbnail.\n * @param height - The desired height of the thumbnail.\n * @param resizeMethod - The thumbnail resize method to use, either\n * \"crop\" or \"scale\".\n * @param allowDefault - (optional) Passing false causes this method to\n * return null if the user has no avatar image. Otherwise, a default image URL\n * will be returned. Default: true. (Deprecated)\n * @param allowDirectLinks - (optional) If true, the avatar URL will be\n * returned even if it is a direct hyperlink rather than a matrix content URL.\n * If false, any non-matrix content URLs will be ignored. Setting this option to\n * true will expose URLs that, if fetched, will leak information about the user\n * to anyone who they share a room with.\n * @returns the avatar URL or null.\n */\n public getAvatarUrl(\n baseUrl: string,\n width: number,\n height: number,\n resizeMethod: string,\n allowDefault = true,\n allowDirectLinks: boolean,\n ): string | null {\n const rawUrl = this.getMxcAvatarUrl();\n\n if (!rawUrl && !allowDefault) {\n return null;\n }\n const httpUrl = getHttpUriForMxc(baseUrl, rawUrl, width, height, resizeMethod, allowDirectLinks);\n if (httpUrl) {\n return httpUrl;\n }\n return null;\n }\n\n /**\n * get the mxc avatar url, either from a state event, or from a lazily loaded member\n * @returns the mxc avatar url\n */\n public getMxcAvatarUrl(): string | undefined {\n if (this.events.member) {\n return this.events.member.getDirectionalContent().avatar_url;\n } else if (this.user) {\n return this.user.avatarUrl;\n }\n }\n}\n\nconst MXID_PATTERN = /@.+:.+/;\nconst LTR_RTL_PATTERN = /[\\u200E\\u200F\\u202A-\\u202F]/;\n\nfunction shouldDisambiguate(selfUserId: string, displayName?: string, roomState?: RoomState): boolean {\n if (!displayName || displayName === selfUserId) return false;\n\n // First check if the displayname is something we consider truthy\n // after stripping it of zero width characters and padding spaces\n if (!removeHiddenChars(displayName)) return false;\n\n if (!roomState) return false;\n\n // Next check if the name contains something that look like a mxid\n // If it does, it may be someone trying to impersonate someone else\n // Show full mxid in this case\n if (MXID_PATTERN.test(displayName)) return true;\n\n // Also show mxid if the display name contains any LTR/RTL characters as these\n // make it very difficult for us to find similar *looking* display names\n // E.g \"Mark\" could be cloned by writing \"kraM\" but in RTL.\n if (LTR_RTL_PATTERN.test(displayName)) return true;\n\n // Also show mxid if there are other people with the same or similar\n // displayname, after hidden character removal.\n const userIds = roomState.getUserIdsWithDisplayName(displayName);\n if (userIds.some((u) => u !== selfUserId)) return true;\n\n return false;\n}\n\nfunction calculateDisplayName(selfUserId: string, displayName: string | undefined, disambiguate: boolean): string {\n if (!displayName || displayName === selfUserId) return selfUserId;\n\n if (disambiguate) return removeDirectionOverrideChars(displayName) + \" (\" + selfUserId + \")\";\n\n // First check if the displayname is something we consider truthy\n // after stripping it of zero width characters and padding spaces\n if (!removeHiddenChars(displayName)) return selfUserId;\n\n // We always strip the direction override characters (LRO and RLO).\n // These override the text direction for all subsequent characters\n // in the paragraph so if display names contained these, they'd\n // need to be wrapped in something to prevent this from leaking out\n // (which we can do in HTML but not text) or we'd need to add\n // control characters to the string to reset any overrides (eg.\n // adding PDF characters at the end). As far as we can see,\n // there should be no reason these would be necessary - rtl display\n // names should flip into the correct direction automatically based on\n // the characters, and you can still embed rtl in ltr or vice versa\n // with the embed chars or marker chars.\n return removeDirectionOverrideChars(displayName);\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"room-member.js","names":["getHttpUriForMxc","removeDirectionOverrideChars","removeHiddenChars","logger","TypedEventEmitter","EventType","KnownMembership","RoomMemberEvent","RoomMember","constructor","roomId","userId","_defineProperty","name","rawDisplayName","updateModifiedTime","markOutOfBand","_isOutOfBand","isOutOfBand","setMembershipEvent","event","roomState","_event$getDirectional","_event$getDirectional2","displayName","getDirectionalContent","displayname","getType","events","member","oldMembership","membership","undefined","trace","concat","forwardLooking","getContent","getPrevContent","disambiguate","shouldDisambiguate","oldName","calculateDisplayName","emit","Membership","Name","setPowerLevelEvent","powerLevelEvent","RoomPowerLevels","getStateKey","evContent","maxLevel","users_default","users","Object","values","forEach","lvl","Math","max","oldPowerLevel","powerLevel","oldPowerLevelNorm","powerLevelNorm","Number","isInteger","PowerLevel","setTypingEvent","oldTyping","typing","typingList","user_ids","Array","isArray","indexOf","Typing","modified","Date","now","getLastModifiedTime","isKicked","Leave","getSender","getDMInviter","memberEvent","memberContent","inviteSender","Join","getUnsigned","prev_sender","Invite","is_direct","getAvatarUrl","baseUrl","width","height","resizeMethod","allowDefault","arguments","length","allowDirectLinks","useAuthentication","rawUrl","getMxcAvatarUrl","httpUrl","avatar_url","user","avatarUrl","MXID_PATTERN","LTR_RTL_PATTERN","selfUserId","test","userIds","getUserIdsWithDisplayName","some","u"],"sources":["../../src/models/room-member.ts"],"sourcesContent":["/*\nCopyright 2015 - 2021 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport { getHttpUriForMxc } from \"../content-repo.ts\";\nimport { removeDirectionOverrideChars, removeHiddenChars } from \"../utils.ts\";\nimport { User } from \"./user.ts\";\nimport { MatrixEvent } from \"./event.ts\";\nimport { RoomState } from \"./room-state.ts\";\nimport { logger } from \"../logger.ts\";\nimport { TypedEventEmitter } from \"./typed-event-emitter.ts\";\nimport { EventType } from \"../@types/event.ts\";\nimport { KnownMembership, Membership } from \"../@types/membership.ts\";\n\nexport enum RoomMemberEvent {\n Membership = \"RoomMember.membership\",\n Name = \"RoomMember.name\",\n PowerLevel = \"RoomMember.powerLevel\",\n Typing = \"RoomMember.typing\",\n}\n\nexport type RoomMemberEventHandlerMap = {\n /**\n * Fires whenever any room member's membership state changes.\n * @param event - The matrix event which caused this event to fire.\n * @param member - The member whose RoomMember.membership changed.\n * @param oldMembership - The previous membership state. Null if it's a new member.\n * @example\n * ```\n * matrixClient.on(\"RoomMember.membership\", function(event, member, oldMembership){\n * var newState = member.membership;\n * });\n * ```\n */\n [RoomMemberEvent.Membership]: (event: MatrixEvent, member: RoomMember, oldMembership?: string) => void;\n /**\n * Fires whenever any room member's name changes.\n * @param event - The matrix event which caused this event to fire.\n * @param member - The member whose RoomMember.name changed.\n * @param oldName - The previous name. Null if the member didn't have a name previously.\n * @example\n * ```\n * matrixClient.on(\"RoomMember.name\", function(event, member){\n * var newName = member.name;\n * });\n * ```\n */\n [RoomMemberEvent.Name]: (event: MatrixEvent, member: RoomMember, oldName: string | null) => void;\n /**\n * Fires whenever any room member's power level changes.\n * @param event - The matrix event which caused this event to fire.\n * @param member - The member whose RoomMember.powerLevel changed.\n * @example\n * ```\n * matrixClient.on(\"RoomMember.powerLevel\", function(event, member){\n * var newPowerLevel = member.powerLevel;\n * var newNormPowerLevel = member.powerLevelNorm;\n * });\n * ```\n */\n [RoomMemberEvent.PowerLevel]: (event: MatrixEvent, member: RoomMember) => void;\n /**\n * Fires whenever any room member's typing state changes.\n * @param event - The matrix event which caused this event to fire.\n * @param member - The member whose RoomMember.typing changed.\n * @example\n * ```\n * matrixClient.on(\"RoomMember.typing\", function(event, member){\n * var isTyping = member.typing;\n * });\n * ```\n */\n [RoomMemberEvent.Typing]: (event: MatrixEvent, member: RoomMember) => void;\n};\n\nexport class RoomMember extends TypedEventEmitter<RoomMemberEvent, RoomMemberEventHandlerMap> {\n private _isOutOfBand = false;\n private modified = -1;\n public requestedProfileInfo = false; // used by sync.ts\n\n // XXX these should be read-only\n /**\n * True if the room member is currently typing.\n */\n public typing = false;\n /**\n * The human-readable name for this room member. This will be\n * disambiguated with a suffix of \" (\\@user_id:matrix.org)\" if another member shares the\n * same displayname.\n */\n public name: string;\n /**\n * The ambiguous displayname of this room member.\n */\n public rawDisplayName: string;\n /**\n * The power level for this room member.\n */\n public powerLevel = 0;\n /**\n * The normalised power level (0-100) for this room member.\n */\n public powerLevelNorm = 0;\n /**\n * The User object for this room member, if one exists.\n */\n public user?: User;\n /**\n * The membership state for this room member e.g. 'join'.\n */\n public membership?: Membership;\n /**\n * True if the member's name is disambiguated.\n */\n public disambiguate = false;\n /**\n * The events describing this RoomMember.\n */\n public events: {\n /**\n * The m.room.member event for this RoomMember.\n */\n member?: MatrixEvent;\n } = {};\n\n /**\n * Construct a new room member.\n *\n * @param roomId - The room ID of the member.\n * @param userId - The user ID of the member.\n */\n public constructor(\n public readonly roomId: string,\n public readonly userId: string,\n ) {\n super();\n\n this.name = userId;\n this.rawDisplayName = userId;\n this.updateModifiedTime();\n }\n\n /**\n * Mark the member as coming from a channel that is not sync\n */\n public markOutOfBand(): void {\n this._isOutOfBand = true;\n }\n\n /**\n * @returns does the member come from a channel that is not sync?\n * This is used to store the member seperately\n * from the sync state so it available across browser sessions.\n */\n public isOutOfBand(): boolean {\n return this._isOutOfBand;\n }\n\n /**\n * Update this room member's membership event. May fire \"RoomMember.name\" if\n * this event updates this member's name.\n * @param event - The `m.room.member` event\n * @param roomState - Optional. The room state to take into account\n * when calculating (e.g. for disambiguating users with the same name).\n *\n * @remarks\n * Fires {@link RoomMemberEvent.Name}\n * Fires {@link RoomMemberEvent.Membership}\n */\n public setMembershipEvent(event: MatrixEvent, roomState?: RoomState): void {\n const displayName = event.getDirectionalContent().displayname ?? \"\";\n\n if (event.getType() !== EventType.RoomMember) {\n return;\n }\n\n this._isOutOfBand = false;\n\n this.events.member = event;\n\n const oldMembership = this.membership;\n this.membership = event.getDirectionalContent().membership;\n if (this.membership === undefined) {\n // logging to diagnose https://github.com/vector-im/element-web/issues/20962\n // (logs event content, although only of membership events)\n logger.trace(\n `membership event with membership undefined (forwardLooking: ${event.forwardLooking})!`,\n event.getContent(),\n `prevcontent is `,\n event.getPrevContent(),\n );\n }\n\n this.disambiguate = shouldDisambiguate(this.userId, displayName, roomState);\n\n const oldName = this.name;\n this.name = calculateDisplayName(this.userId, displayName, this.disambiguate);\n\n // not quite raw: we strip direction override chars so it can safely be inserted into\n // blocks of text without breaking the text direction\n this.rawDisplayName = removeDirectionOverrideChars(event.getDirectionalContent().displayname ?? \"\");\n if (!this.rawDisplayName || !removeHiddenChars(this.rawDisplayName)) {\n this.rawDisplayName = this.userId;\n }\n\n if (oldMembership !== this.membership) {\n this.updateModifiedTime();\n this.emit(RoomMemberEvent.Membership, event, this, oldMembership);\n }\n if (oldName !== this.name) {\n this.updateModifiedTime();\n this.emit(RoomMemberEvent.Name, event, this, oldName);\n }\n }\n\n /**\n * Update this room member's power level event. May fire\n * \"RoomMember.powerLevel\" if this event updates this member's power levels.\n * @param powerLevelEvent - The `m.room.power_levels` event\n *\n * @remarks\n * Fires {@link RoomMemberEvent.PowerLevel}\n */\n public setPowerLevelEvent(powerLevelEvent: MatrixEvent): void {\n if (powerLevelEvent.getType() !== EventType.RoomPowerLevels || powerLevelEvent.getStateKey() !== \"\") {\n return;\n }\n\n const evContent = powerLevelEvent.getDirectionalContent();\n\n let maxLevel = evContent.users_default || 0;\n const users: { [userId: string]: number } = evContent.users || {};\n Object.values(users).forEach((lvl: number) => {\n maxLevel = Math.max(maxLevel, lvl);\n });\n const oldPowerLevel = this.powerLevel;\n const oldPowerLevelNorm = this.powerLevelNorm;\n\n if (users[this.userId] !== undefined && Number.isInteger(users[this.userId])) {\n this.powerLevel = users[this.userId];\n } else if (evContent.users_default !== undefined) {\n this.powerLevel = evContent.users_default;\n } else {\n this.powerLevel = 0;\n }\n this.powerLevelNorm = 0;\n if (maxLevel > 0) {\n this.powerLevelNorm = (this.powerLevel * 100) / maxLevel;\n }\n\n // emit for changes in powerLevelNorm as well (since the app will need to\n // redraw everyone's level if the max has changed)\n if (oldPowerLevel !== this.powerLevel || oldPowerLevelNorm !== this.powerLevelNorm) {\n this.updateModifiedTime();\n this.emit(RoomMemberEvent.PowerLevel, powerLevelEvent, this);\n }\n }\n\n /**\n * Update this room member's typing event. May fire \"RoomMember.typing\" if\n * this event changes this member's typing state.\n * @param event - The typing event\n *\n * @remarks\n * Fires {@link RoomMemberEvent.Typing}\n */\n public setTypingEvent(event: MatrixEvent): void {\n if (event.getType() !== \"m.typing\") {\n return;\n }\n const oldTyping = this.typing;\n this.typing = false;\n const typingList = event.getContent().user_ids;\n if (!Array.isArray(typingList)) {\n // malformed event :/ bail early. TODO: whine?\n return;\n }\n if (typingList.indexOf(this.userId) !== -1) {\n this.typing = true;\n }\n if (oldTyping !== this.typing) {\n this.updateModifiedTime();\n this.emit(RoomMemberEvent.Typing, event, this);\n }\n }\n\n /**\n * Update the last modified time to the current time.\n */\n private updateModifiedTime(): void {\n this.modified = Date.now();\n }\n\n /**\n * Get the timestamp when this RoomMember was last updated. This timestamp is\n * updated when properties on this RoomMember are updated.\n * It is updated <i>before</i> firing events.\n * @returns The timestamp\n */\n public getLastModifiedTime(): number {\n return this.modified;\n }\n\n public isKicked(): boolean {\n return (\n this.membership === KnownMembership.Leave &&\n this.events.member !== undefined &&\n this.events.member.getSender() !== this.events.member.getStateKey()\n );\n }\n\n /**\n * If this member was invited with the is_direct flag set, return\n * the user that invited this member\n * @returns user id of the inviter\n */\n public getDMInviter(): string | undefined {\n // when not available because that room state hasn't been loaded in,\n // we don't really know, but more likely to not be a direct chat\n if (this.events.member) {\n // TODO: persist the is_direct flag on the member as more member events\n // come in caused by displayName changes.\n\n // the is_direct flag is set on the invite member event.\n // This is copied on the prev_content section of the join member event\n // when the invite is accepted.\n\n const memberEvent = this.events.member;\n let memberContent = memberEvent.getContent();\n let inviteSender: string | undefined = memberEvent.getSender();\n\n if (memberContent.membership === KnownMembership.Join) {\n memberContent = memberEvent.getPrevContent();\n inviteSender = memberEvent.getUnsigned().prev_sender;\n }\n\n if (memberContent.membership === KnownMembership.Invite && memberContent.is_direct) {\n return inviteSender;\n }\n }\n }\n\n /**\n * Get the avatar URL for a room member.\n * @param baseUrl - The base homeserver URL See\n * {@link MatrixClient#getHomeserverUrl}.\n * @param width - The desired width of the thumbnail.\n * @param height - The desired height of the thumbnail.\n * @param resizeMethod - The thumbnail resize method to use, either\n * \"crop\" or \"scale\".\n * @param allowDefault - (optional) Passing false causes this method to\n * return null if the user has no avatar image. Otherwise, a default image URL\n * will be returned. Default: true. (Deprecated)\n * @param allowDirectLinks - (optional) If true, the avatar URL will be\n * returned even if it is a direct hyperlink rather than a matrix content URL.\n * If false, any non-matrix content URLs will be ignored. Setting this option to\n * true will expose URLs that, if fetched, will leak information about the user\n * to anyone who they share a room with.\n * @param useAuthentication - (optional) If true, the caller supports authenticated\n * media and wants an authentication-required URL. Note that server support for\n * authenticated media will not be checked - it is the caller's responsibility\n * to do so before calling this function. Note also that useAuthentication\n * implies allowRedirects. Defaults to false (unauthenticated endpoints).\n * @returns the avatar URL or null.\n */\n public getAvatarUrl(\n baseUrl: string,\n width: number,\n height: number,\n resizeMethod: string,\n allowDefault = true,\n allowDirectLinks: boolean,\n useAuthentication: boolean = false,\n ): string | null {\n const rawUrl = this.getMxcAvatarUrl();\n\n if (!rawUrl && !allowDefault) {\n return null;\n }\n const httpUrl = getHttpUriForMxc(\n baseUrl,\n rawUrl,\n width,\n height,\n resizeMethod,\n allowDirectLinks,\n undefined,\n useAuthentication,\n );\n if (httpUrl) {\n return httpUrl;\n }\n return null;\n }\n\n /**\n * get the mxc avatar url, either from a state event, or from a lazily loaded member\n * @returns the mxc avatar url\n */\n public getMxcAvatarUrl(): string | undefined {\n if (this.events.member) {\n return this.events.member.getDirectionalContent().avatar_url;\n } else if (this.user) {\n return this.user.avatarUrl;\n }\n }\n}\n\nconst MXID_PATTERN = /@.+:.+/;\nconst LTR_RTL_PATTERN = /[\\u200E\\u200F\\u202A-\\u202F]/;\n\nfunction shouldDisambiguate(selfUserId: string, displayName?: string, roomState?: RoomState): boolean {\n if (!displayName || displayName === selfUserId) return false;\n\n // First check if the displayname is something we consider truthy\n // after stripping it of zero width characters and padding spaces\n if (!removeHiddenChars(displayName)) return false;\n\n if (!roomState) return false;\n\n // Next check if the name contains something that look like a mxid\n // If it does, it may be someone trying to impersonate someone else\n // Show full mxid in this case\n if (MXID_PATTERN.test(displayName)) return true;\n\n // Also show mxid if the display name contains any LTR/RTL characters as these\n // make it very difficult for us to find similar *looking* display names\n // E.g \"Mark\" could be cloned by writing \"kraM\" but in RTL.\n if (LTR_RTL_PATTERN.test(displayName)) return true;\n\n // Also show mxid if there are other people with the same or similar\n // displayname, after hidden character removal.\n const userIds = roomState.getUserIdsWithDisplayName(displayName);\n if (userIds.some((u) => u !== selfUserId)) return true;\n\n return false;\n}\n\nfunction calculateDisplayName(selfUserId: string, displayName: string | undefined, disambiguate: boolean): string {\n if (!displayName || displayName === selfUserId) return selfUserId;\n\n if (disambiguate) return removeDirectionOverrideChars(displayName) + \" (\" + selfUserId + \")\";\n\n // First check if the displayname is something we consider truthy\n // after stripping it of zero width characters and padding spaces\n if (!removeHiddenChars(displayName)) return selfUserId;\n\n // We always strip the direction override characters (LRO and RLO).\n // These override the text direction for all subsequent characters\n // in the paragraph so if display names contained these, they'd\n // need to be wrapped in something to prevent this from leaking out\n // (which we can do in HTML but not text) or we'd need to add\n // control characters to the string to reset any overrides (eg.\n // adding PDF characters at the end). As far as we can see,\n // there should be no reason these would be necessary - rtl display\n // names should flip into the correct direction automatically based on\n // the characters, and you can still embed rtl in ltr or vice versa\n // with the embed chars or marker chars.\n return removeDirectionOverrideChars(displayName);\n}\n"],"mappings":"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","ignoreList":[]}
@@ -109,7 +109,6 @@ type KeysMatching<T, V> = {
109
109
  export declare class RoomState extends TypedEventEmitter<EmittedEvents, EventHandlerMap> {
110
110
  readonly roomId: string;
111
111
  private oobMemberFlags;
112
- readonly isStartTimelineState: boolean;
113
112
  readonly reEmitter: TypedReEmitter<EmittedEvents, EventHandlerMap>;
114
113
  private sentinels;
115
114
  private displayNameToUserIds;
@@ -152,20 +151,10 @@ export declare class RoomState extends TypedEventEmitter<EmittedEvents, EventHan
152
151
  * As the timeline might get reset while they are loading, this state needs to be inherited
153
152
  * and shared when the room state is cloned for the new timeline.
154
153
  * This should only be passed from clone.
155
- * @param isStartTimelineState - Optional. This state is marked as a start state.
156
- * This is used to skip state insertions that are
157
- * in the wrong order. The order is determined by the `replaces_state` id.
158
- *
159
- * Example:
160
- * A current state events `replaces_state` value is `1`.
161
- * Trying to insert a state event with `event_id` `1` in its place would fail if isStartTimelineState = false.
162
- *
163
- * A current state events `event_id` is `2`.
164
- * Trying to insert a state event where its `replaces_state` value is `2` would fail if isStartTimelineState = true.
165
154
  */
166
155
  constructor(roomId: string, oobMemberFlags?: {
167
156
  status: OobStatus;
168
- }, isStartTimelineState?: boolean);
157
+ });
169
158
  /**
170
159
  * Returns the number of joined members in this room
171
160
  * This method caches the result.
@@ -256,7 +245,7 @@ export declare class RoomState extends TypedEventEmitter<EmittedEvents, EventHan
256
245
  * Fires {@link RoomStateEvent.Events}
257
246
  * Fires {@link RoomStateEvent.Marker}
258
247
  */
259
- setStateEvents(stateEvents: MatrixEvent[], options?: IMarkerFoundOptions): void;
248
+ setStateEvents(stateEvents: MatrixEvent[], markerFoundOptions?: IMarkerFoundOptions): void;
260
249
  processBeaconEvents(events: MatrixEvent[], matrixClient: MatrixClient): Promise<void>;
261
250
  /**
262
251
  * Looks up a member by the given userId, and if it doesn't exist,
@@ -1 +1 @@
1
- {"version":3,"file":"room-state.d.ts","sourceRoot":"","sources":["../../src/models/room-state.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"room-state.d.ts","sourceRoot":"","sources":["../../src/models/room-state.ts"],"names":[],"mappings":"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"}
@@ -20,7 +20,6 @@ import { RoomMember } from "./room-member.js";
20
20
  import { logger } from "../logger.js";
21
21
  import { isNumber, removeHiddenChars } from "../utils.js";
22
22
  import { EventType, UNSTABLE_MSC2716_MARKER } from "../@types/event.js";
23
- import { MatrixEventEvent } from "./event.js";
24
23
  import { GuestAccess, HistoryVisibility, JoinRule } from "../@types/partials.js";
25
24
  import { TypedEventEmitter } from "./typed-event-emitter.js";
26
25
  import { Beacon, BeaconEvent, getBeaconInfoIdentifier } from "./beacon.js";
@@ -71,27 +70,15 @@ export class RoomState extends TypedEventEmitter {
71
70
  * As the timeline might get reset while they are loading, this state needs to be inherited
72
71
  * and shared when the room state is cloned for the new timeline.
73
72
  * This should only be passed from clone.
74
- * @param isStartTimelineState - Optional. This state is marked as a start state.
75
- * This is used to skip state insertions that are
76
- * in the wrong order. The order is determined by the `replaces_state` id.
77
- *
78
- * Example:
79
- * A current state events `replaces_state` value is `1`.
80
- * Trying to insert a state event with `event_id` `1` in its place would fail if isStartTimelineState = false.
81
- *
82
- * A current state events `event_id` is `2`.
83
- * Trying to insert a state event where its `replaces_state` value is `2` would fail if isStartTimelineState = true.
84
73
  */
85
74
 
86
75
  constructor(roomId) {
87
76
  var oobMemberFlags = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {
88
77
  status: OobStatus.NotStarted
89
78
  };
90
- var isStartTimelineState = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
91
79
  super();
92
80
  this.roomId = roomId;
93
81
  this.oobMemberFlags = oobMemberFlags;
94
- this.isStartTimelineState = isStartTimelineState;
95
82
  _defineProperty(this, "reEmitter", new TypedReEmitter(this));
96
83
  _defineProperty(this, "sentinels", {});
97
84
  // userId: RoomMember
@@ -326,32 +313,16 @@ export class RoomState extends TypedEventEmitter {
326
313
  * Fires {@link RoomStateEvent.Events}
327
314
  * Fires {@link RoomStateEvent.Marker}
328
315
  */
329
- setStateEvents(stateEvents, options) {
316
+ setStateEvents(stateEvents, markerFoundOptions) {
330
317
  this.updateModifiedTime();
331
318
 
332
319
  // update the core event dict
333
320
  stateEvents.forEach(event => {
334
- var _lastStateEvent$event, _event$event$unsigned;
335
321
  if (event.getRoomId() !== this.roomId || !event.isState()) return;
336
322
  if (M_BEACON_INFO.matches(event.getType())) {
337
323
  this.setBeacon(event);
338
324
  }
339
325
  var lastStateEvent = this.getStateEventMatching(event);
340
-
341
- // Safety measure to not update the room (and emit the update) with older state.
342
- // The sync loop really should not send old events but it does very regularly.
343
- // Logging on return in those two conditions results in a large amount of logging. (on startup and when running element)
344
- var lastReplaceId = lastStateEvent === null || lastStateEvent === void 0 || (_lastStateEvent$event = lastStateEvent.event.unsigned) === null || _lastStateEvent$event === void 0 ? void 0 : _lastStateEvent$event.replaces_state;
345
- var lastId = lastStateEvent === null || lastStateEvent === void 0 ? void 0 : lastStateEvent.event.event_id;
346
- var newReplaceId = (_event$event$unsigned = event.event.unsigned) === null || _event$event$unsigned === void 0 ? void 0 : _event$event$unsigned.replaces_state;
347
- var newId = event.event.event_id;
348
- if (this.isStartTimelineState) {
349
- // Add an event to the start of the timeline. Its replace id should not be the same as the one of the current/last start state event.
350
- if (newReplaceId && lastId && newReplaceId === lastId) return;
351
- } else {
352
- // Add an event to the end of the timeline. It should not be the same as the one replaced by the current/last end state event.
353
- if (lastReplaceId && newId && lastReplaceId === newId) return;
354
- }
355
326
  this.setStateEvent(event);
356
327
  if (event.getType() === EventType.RoomMember) {
357
328
  var _event$getContent$dis;
@@ -402,7 +373,7 @@ export class RoomState extends TypedEventEmitter {
402
373
  // assume all our sentinels are now out-of-date
403
374
  this.sentinels = {};
404
375
  } else if (UNSTABLE_MSC2716_MARKER.matches(event.getType())) {
405
- this.emit(RoomStateEvent.Marker, event, options);
376
+ this.emit(RoomStateEvent.Marker, event, markerFoundOptions);
406
377
  }
407
378
  });
408
379
  this.emit(RoomStateEvent.Update, this);
@@ -428,32 +399,17 @@ export class RoomState extends TypedEventEmitter {
428
399
  beacon.addLocations([event]);
429
400
  }
430
401
  };
431
- var _loop = function* _loop(event) {
432
- var _event$getRelation;
433
- var relatedToEventId = (_event$getRelation = event.getRelation()) === null || _event$getRelation === void 0 ? void 0 : _event$getRelation.event_id;
434
- // not related to a beacon we know about; discard
435
- if (!relatedToEventId || !beaconByEventIdDict[relatedToEventId]) return {
436
- v: void 0
437
- };
438
- if (!M_BEACON.matches(event.getType()) && !event.isEncrypted()) return {
439
- v: void 0
440
- };
441
- try {
442
- yield matrixClient.decryptEventIfNeeded(event);
443
- processBeaconRelation(relatedToEventId, event);
444
- } catch (_unused) {
445
- if (event.isDecryptionFailure()) {
446
- // add an event listener for once the event is decrypted.
447
- event.once(MatrixEventEvent.Decrypted, /*#__PURE__*/_asyncToGenerator(function* () {
448
- processBeaconRelation(relatedToEventId, event);
449
- }));
450
- }
451
- }
452
- },
453
- _ret;
454
402
  for (var event of events) {
455
- _ret = yield* _loop(event);
456
- if (_ret) return _ret.v;
403
+ var _event$getRelation;
404
+ var relatedToEventId = (_event$getRelation = event.getRelation()) === null || _event$getRelation === void 0 ? void 0 : _event$getRelation.event_id;
405
+ // not related to a beacon we know about; discard
406
+ if (!relatedToEventId || !beaconByEventIdDict[relatedToEventId]) return;
407
+ if (!M_BEACON.matches(event.getType()) && !event.isEncrypted()) return;
408
+ try {
409
+ processBeaconRelation(relatedToEventId, event);
410
+ } catch (_unused) {
411
+ //
412
+ }
457
413
  }
458
414
  })();
459
415
  }