@unwanted/matrix-sdk-mini 34.12.0-1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1203) hide show
  1. package/CHANGELOG.md +5910 -0
  2. package/LICENSE +177 -0
  3. package/README.md +459 -0
  4. package/git-revision.txt +1 -0
  5. package/lib/@types/AESEncryptedSecretStoragePayload.d.ts +14 -0
  6. package/lib/@types/AESEncryptedSecretStoragePayload.d.ts.map +1 -0
  7. package/lib/@types/AESEncryptedSecretStoragePayload.js +1 -0
  8. package/lib/@types/AESEncryptedSecretStoragePayload.js.map +1 -0
  9. package/lib/@types/IIdentityServerProvider.d.ts +9 -0
  10. package/lib/@types/IIdentityServerProvider.d.ts.map +1 -0
  11. package/lib/@types/IIdentityServerProvider.js +1 -0
  12. package/lib/@types/IIdentityServerProvider.js.map +1 -0
  13. package/lib/@types/PushRules.d.ts +140 -0
  14. package/lib/@types/PushRules.d.ts.map +1 -0
  15. package/lib/@types/PushRules.js +94 -0
  16. package/lib/@types/PushRules.js.map +1 -0
  17. package/lib/@types/another-json.d.js +0 -0
  18. package/lib/@types/another-json.d.js.map +1 -0
  19. package/lib/@types/auth.d.ts +208 -0
  20. package/lib/@types/auth.d.ts.map +1 -0
  21. package/lib/@types/auth.js +99 -0
  22. package/lib/@types/auth.js.map +1 -0
  23. package/lib/@types/beacon.d.ts +106 -0
  24. package/lib/@types/beacon.d.ts.map +1 -0
  25. package/lib/@types/beacon.js +119 -0
  26. package/lib/@types/beacon.js.map +1 -0
  27. package/lib/@types/common.d.ts +9 -0
  28. package/lib/@types/common.d.ts.map +1 -0
  29. package/lib/@types/common.js +1 -0
  30. package/lib/@types/common.js.map +1 -0
  31. package/lib/@types/crypto.d.ts +47 -0
  32. package/lib/@types/crypto.d.ts.map +1 -0
  33. package/lib/@types/crypto.js +1 -0
  34. package/lib/@types/crypto.js.map +1 -0
  35. package/lib/@types/event.d.ts +258 -0
  36. package/lib/@types/event.d.ts.map +1 -0
  37. package/lib/@types/event.js +239 -0
  38. package/lib/@types/event.js.map +1 -0
  39. package/lib/@types/events.d.ts +92 -0
  40. package/lib/@types/events.d.ts.map +1 -0
  41. package/lib/@types/events.js +1 -0
  42. package/lib/@types/events.js.map +1 -0
  43. package/lib/@types/extensible_events.d.ts +98 -0
  44. package/lib/@types/extensible_events.d.ts.map +1 -0
  45. package/lib/@types/extensible_events.js +116 -0
  46. package/lib/@types/extensible_events.js.map +1 -0
  47. package/lib/@types/global.d.js +20 -0
  48. package/lib/@types/global.d.js.map +1 -0
  49. package/lib/@types/local_notifications.d.ts +4 -0
  50. package/lib/@types/local_notifications.d.ts.map +1 -0
  51. package/lib/@types/local_notifications.js +1 -0
  52. package/lib/@types/local_notifications.js.map +1 -0
  53. package/lib/@types/location.d.ts +60 -0
  54. package/lib/@types/location.d.ts.map +1 -0
  55. package/lib/@types/location.js +67 -0
  56. package/lib/@types/location.js.map +1 -0
  57. package/lib/@types/matrix-sdk-crypto-wasm.d.js +1 -0
  58. package/lib/@types/matrix-sdk-crypto-wasm.d.js.map +1 -0
  59. package/lib/@types/media.d.ts +220 -0
  60. package/lib/@types/media.d.ts.map +1 -0
  61. package/lib/@types/media.js +1 -0
  62. package/lib/@types/media.js.map +1 -0
  63. package/lib/@types/membership.d.ts +41 -0
  64. package/lib/@types/membership.d.ts.map +1 -0
  65. package/lib/@types/membership.js +37 -0
  66. package/lib/@types/membership.js.map +1 -0
  67. package/lib/@types/oidc-client-ts.d.js +18 -0
  68. package/lib/@types/oidc-client-ts.d.js.map +1 -0
  69. package/lib/@types/partials.d.ts +39 -0
  70. package/lib/@types/partials.d.ts.map +1 -0
  71. package/lib/@types/partials.js +53 -0
  72. package/lib/@types/partials.js.map +1 -0
  73. package/lib/@types/polls.d.ts +88 -0
  74. package/lib/@types/polls.d.ts.map +1 -0
  75. package/lib/@types/polls.js +86 -0
  76. package/lib/@types/polls.js.map +1 -0
  77. package/lib/@types/read_receipts.d.ts +36 -0
  78. package/lib/@types/read_receipts.d.ts.map +1 -0
  79. package/lib/@types/read_receipts.js +27 -0
  80. package/lib/@types/read_receipts.js.map +1 -0
  81. package/lib/@types/registration.d.ts +85 -0
  82. package/lib/@types/registration.d.ts.map +1 -0
  83. package/lib/@types/registration.js +1 -0
  84. package/lib/@types/registration.js.map +1 -0
  85. package/lib/@types/requests.d.ts +241 -0
  86. package/lib/@types/requests.d.ts.map +1 -0
  87. package/lib/@types/requests.js +28 -0
  88. package/lib/@types/requests.js.map +1 -0
  89. package/lib/@types/search.d.ts +90 -0
  90. package/lib/@types/search.d.ts.map +1 -0
  91. package/lib/@types/search.js +30 -0
  92. package/lib/@types/search.js.map +1 -0
  93. package/lib/@types/signed.d.ts +9 -0
  94. package/lib/@types/signed.d.ts.map +1 -0
  95. package/lib/@types/signed.js +1 -0
  96. package/lib/@types/signed.js.map +1 -0
  97. package/lib/@types/spaces.d.ts +16 -0
  98. package/lib/@types/spaces.d.ts.map +1 -0
  99. package/lib/@types/spaces.js +1 -0
  100. package/lib/@types/spaces.js.map +1 -0
  101. package/lib/@types/state_events.d.ts +116 -0
  102. package/lib/@types/state_events.d.ts.map +1 -0
  103. package/lib/@types/state_events.js +1 -0
  104. package/lib/@types/state_events.js.map +1 -0
  105. package/lib/@types/synapse.d.ts +19 -0
  106. package/lib/@types/synapse.d.ts.map +1 -0
  107. package/lib/@types/synapse.js +1 -0
  108. package/lib/@types/synapse.js.map +1 -0
  109. package/lib/@types/sync.d.ts +8 -0
  110. package/lib/@types/sync.d.ts.map +1 -0
  111. package/lib/@types/sync.js +25 -0
  112. package/lib/@types/sync.js.map +1 -0
  113. package/lib/@types/threepids.d.ts +12 -0
  114. package/lib/@types/threepids.d.ts.map +1 -0
  115. package/lib/@types/threepids.js +24 -0
  116. package/lib/@types/threepids.js.map +1 -0
  117. package/lib/@types/topic.d.ts +48 -0
  118. package/lib/@types/topic.d.ts.map +1 -0
  119. package/lib/@types/topic.js +57 -0
  120. package/lib/@types/topic.js.map +1 -0
  121. package/lib/@types/uia.d.ts +12 -0
  122. package/lib/@types/uia.d.ts.map +1 -0
  123. package/lib/@types/uia.js +1 -0
  124. package/lib/@types/uia.js.map +1 -0
  125. package/lib/NamespacedValue.d.ts +33 -0
  126. package/lib/NamespacedValue.d.ts.map +1 -0
  127. package/lib/NamespacedValue.js +113 -0
  128. package/lib/NamespacedValue.js.map +1 -0
  129. package/lib/ReEmitter.d.ts +15 -0
  130. package/lib/ReEmitter.d.ts.map +1 -0
  131. package/lib/ReEmitter.js +87 -0
  132. package/lib/ReEmitter.js.map +1 -0
  133. package/lib/ToDeviceMessageQueue.d.ts +28 -0
  134. package/lib/ToDeviceMessageQueue.d.ts.map +1 -0
  135. package/lib/ToDeviceMessageQueue.js +135 -0
  136. package/lib/ToDeviceMessageQueue.js.map +1 -0
  137. package/lib/autodiscovery.d.ts +136 -0
  138. package/lib/autodiscovery.d.ts.map +1 -0
  139. package/lib/autodiscovery.js +464 -0
  140. package/lib/autodiscovery.js.map +1 -0
  141. package/lib/base64.d.ts +28 -0
  142. package/lib/base64.d.ts.map +1 -0
  143. package/lib/base64.js +88 -0
  144. package/lib/base64.js.map +1 -0
  145. package/lib/browser-index.d.ts +8 -0
  146. package/lib/browser-index.d.ts.map +1 -0
  147. package/lib/browser-index.js +35 -0
  148. package/lib/browser-index.js.map +1 -0
  149. package/lib/client.d.ts +4232 -0
  150. package/lib/client.d.ts.map +1 -0
  151. package/lib/client.js +8622 -0
  152. package/lib/client.js.map +1 -0
  153. package/lib/common-crypto/CryptoBackend.d.ts +240 -0
  154. package/lib/common-crypto/CryptoBackend.d.ts.map +1 -0
  155. package/lib/common-crypto/CryptoBackend.js +73 -0
  156. package/lib/common-crypto/CryptoBackend.js.map +1 -0
  157. package/lib/common-crypto/key-passphrase.d.ts +14 -0
  158. package/lib/common-crypto/key-passphrase.d.ts.map +1 -0
  159. package/lib/common-crypto/key-passphrase.js +33 -0
  160. package/lib/common-crypto/key-passphrase.js.map +1 -0
  161. package/lib/content-helpers.d.ts +90 -0
  162. package/lib/content-helpers.d.ts.map +1 -0
  163. package/lib/content-helpers.js +250 -0
  164. package/lib/content-helpers.js.map +1 -0
  165. package/lib/content-repo.d.ts +24 -0
  166. package/lib/content-repo.d.ts.map +1 -0
  167. package/lib/content-repo.js +104 -0
  168. package/lib/content-repo.js.map +1 -0
  169. package/lib/crypto/CrossSigning.d.ts +184 -0
  170. package/lib/crypto/CrossSigning.d.ts.map +1 -0
  171. package/lib/crypto/CrossSigning.js +718 -0
  172. package/lib/crypto/CrossSigning.js.map +1 -0
  173. package/lib/crypto/DeviceList.d.ts +216 -0
  174. package/lib/crypto/DeviceList.d.ts.map +1 -0
  175. package/lib/crypto/DeviceList.js +892 -0
  176. package/lib/crypto/DeviceList.js.map +1 -0
  177. package/lib/crypto/EncryptionSetup.d.ts +152 -0
  178. package/lib/crypto/EncryptionSetup.d.ts.map +1 -0
  179. package/lib/crypto/EncryptionSetup.js +356 -0
  180. package/lib/crypto/EncryptionSetup.js.map +1 -0
  181. package/lib/crypto/OlmDevice.d.ts +457 -0
  182. package/lib/crypto/OlmDevice.d.ts.map +1 -0
  183. package/lib/crypto/OlmDevice.js +1241 -0
  184. package/lib/crypto/OlmDevice.js.map +1 -0
  185. package/lib/crypto/OutgoingRoomKeyRequestManager.d.ts +109 -0
  186. package/lib/crypto/OutgoingRoomKeyRequestManager.d.ts.map +1 -0
  187. package/lib/crypto/OutgoingRoomKeyRequestManager.js +415 -0
  188. package/lib/crypto/OutgoingRoomKeyRequestManager.js.map +1 -0
  189. package/lib/crypto/RoomList.d.ts +26 -0
  190. package/lib/crypto/RoomList.d.ts.map +1 -0
  191. package/lib/crypto/RoomList.js +71 -0
  192. package/lib/crypto/RoomList.js.map +1 -0
  193. package/lib/crypto/SecretSharing.d.ts +24 -0
  194. package/lib/crypto/SecretSharing.d.ts.map +1 -0
  195. package/lib/crypto/SecretSharing.js +194 -0
  196. package/lib/crypto/SecretSharing.js.map +1 -0
  197. package/lib/crypto/SecretStorage.d.ts +55 -0
  198. package/lib/crypto/SecretStorage.d.ts.map +1 -0
  199. package/lib/crypto/SecretStorage.js +118 -0
  200. package/lib/crypto/SecretStorage.js.map +1 -0
  201. package/lib/crypto/aes.d.ts +6 -0
  202. package/lib/crypto/aes.d.ts.map +1 -0
  203. package/lib/crypto/aes.js +24 -0
  204. package/lib/crypto/aes.js.map +1 -0
  205. package/lib/crypto/algorithms/base.d.ts +156 -0
  206. package/lib/crypto/algorithms/base.d.ts.map +1 -0
  207. package/lib/crypto/algorithms/base.js +187 -0
  208. package/lib/crypto/algorithms/base.js.map +1 -0
  209. package/lib/crypto/algorithms/index.d.ts +4 -0
  210. package/lib/crypto/algorithms/index.d.ts.map +1 -0
  211. package/lib/crypto/algorithms/index.js +20 -0
  212. package/lib/crypto/algorithms/index.js.map +1 -0
  213. package/lib/crypto/algorithms/megolm.d.ts +385 -0
  214. package/lib/crypto/algorithms/megolm.d.ts.map +1 -0
  215. package/lib/crypto/algorithms/megolm.js +1822 -0
  216. package/lib/crypto/algorithms/megolm.js.map +1 -0
  217. package/lib/crypto/algorithms/olm.d.ts +5 -0
  218. package/lib/crypto/algorithms/olm.d.ts.map +1 -0
  219. package/lib/crypto/algorithms/olm.js +299 -0
  220. package/lib/crypto/algorithms/olm.js.map +1 -0
  221. package/lib/crypto/api.d.ts +32 -0
  222. package/lib/crypto/api.d.ts.map +1 -0
  223. package/lib/crypto/api.js +22 -0
  224. package/lib/crypto/api.js.map +1 -0
  225. package/lib/crypto/backup.d.ts +227 -0
  226. package/lib/crypto/backup.d.ts.map +1 -0
  227. package/lib/crypto/backup.js +824 -0
  228. package/lib/crypto/backup.js.map +1 -0
  229. package/lib/crypto/crypto.d.ts +3 -0
  230. package/lib/crypto/crypto.d.ts.map +1 -0
  231. package/lib/crypto/crypto.js +19 -0
  232. package/lib/crypto/crypto.js.map +1 -0
  233. package/lib/crypto/dehydration.d.ts +34 -0
  234. package/lib/crypto/dehydration.d.ts.map +1 -0
  235. package/lib/crypto/dehydration.js +252 -0
  236. package/lib/crypto/dehydration.js.map +1 -0
  237. package/lib/crypto/device-converter.d.ts +9 -0
  238. package/lib/crypto/device-converter.d.ts.map +1 -0
  239. package/lib/crypto/device-converter.js +42 -0
  240. package/lib/crypto/device-converter.js.map +1 -0
  241. package/lib/crypto/deviceinfo.d.ts +99 -0
  242. package/lib/crypto/deviceinfo.d.ts.map +1 -0
  243. package/lib/crypto/deviceinfo.js +148 -0
  244. package/lib/crypto/deviceinfo.js.map +1 -0
  245. package/lib/crypto/index.d.ts +1209 -0
  246. package/lib/crypto/index.d.ts.map +1 -0
  247. package/lib/crypto/index.js +4097 -0
  248. package/lib/crypto/index.js.map +1 -0
  249. package/lib/crypto/key_passphrase.d.ts +14 -0
  250. package/lib/crypto/key_passphrase.d.ts.map +1 -0
  251. package/lib/crypto/key_passphrase.js +44 -0
  252. package/lib/crypto/key_passphrase.js.map +1 -0
  253. package/lib/crypto/keybackup.d.ts +18 -0
  254. package/lib/crypto/keybackup.d.ts.map +1 -0
  255. package/lib/crypto/keybackup.js +1 -0
  256. package/lib/crypto/keybackup.js.map +1 -0
  257. package/lib/crypto/olmlib.d.ts +129 -0
  258. package/lib/crypto/olmlib.d.ts.map +1 -0
  259. package/lib/crypto/olmlib.js +492 -0
  260. package/lib/crypto/olmlib.js.map +1 -0
  261. package/lib/crypto/recoverykey.d.ts +2 -0
  262. package/lib/crypto/recoverykey.d.ts.map +1 -0
  263. package/lib/crypto/recoverykey.js +19 -0
  264. package/lib/crypto/recoverykey.js.map +1 -0
  265. package/lib/crypto/store/base.d.ts +252 -0
  266. package/lib/crypto/store/base.d.ts.map +1 -0
  267. package/lib/crypto/store/base.js +64 -0
  268. package/lib/crypto/store/base.js.map +1 -0
  269. package/lib/crypto/store/indexeddb-crypto-store-backend.d.ts +187 -0
  270. package/lib/crypto/store/indexeddb-crypto-store-backend.d.ts.map +1 -0
  271. package/lib/crypto/store/indexeddb-crypto-store-backend.js +1145 -0
  272. package/lib/crypto/store/indexeddb-crypto-store-backend.js.map +1 -0
  273. package/lib/crypto/store/indexeddb-crypto-store.d.ts +432 -0
  274. package/lib/crypto/store/indexeddb-crypto-store.d.ts.map +1 -0
  275. package/lib/crypto/store/indexeddb-crypto-store.js +728 -0
  276. package/lib/crypto/store/indexeddb-crypto-store.js.map +1 -0
  277. package/lib/crypto/store/localStorage-crypto-store.d.ts +119 -0
  278. package/lib/crypto/store/localStorage-crypto-store.d.ts.map +1 -0
  279. package/lib/crypto/store/localStorage-crypto-store.js +531 -0
  280. package/lib/crypto/store/localStorage-crypto-store.js.map +1 -0
  281. package/lib/crypto/store/memory-crypto-store.d.ts +215 -0
  282. package/lib/crypto/store/memory-crypto-store.d.ts.map +1 -0
  283. package/lib/crypto/store/memory-crypto-store.js +622 -0
  284. package/lib/crypto/store/memory-crypto-store.js.map +1 -0
  285. package/lib/crypto/verification/Base.d.ts +105 -0
  286. package/lib/crypto/verification/Base.d.ts.map +1 -0
  287. package/lib/crypto/verification/Base.js +372 -0
  288. package/lib/crypto/verification/Base.js.map +1 -0
  289. package/lib/crypto/verification/Error.d.ts +35 -0
  290. package/lib/crypto/verification/Error.d.ts.map +1 -0
  291. package/lib/crypto/verification/Error.js +86 -0
  292. package/lib/crypto/verification/Error.js.map +1 -0
  293. package/lib/crypto/verification/IllegalMethod.d.ts +15 -0
  294. package/lib/crypto/verification/IllegalMethod.d.ts.map +1 -0
  295. package/lib/crypto/verification/IllegalMethod.js +43 -0
  296. package/lib/crypto/verification/IllegalMethod.js.map +1 -0
  297. package/lib/crypto/verification/QRCode.d.ts +51 -0
  298. package/lib/crypto/verification/QRCode.d.ts.map +1 -0
  299. package/lib/crypto/verification/QRCode.js +277 -0
  300. package/lib/crypto/verification/QRCode.js.map +1 -0
  301. package/lib/crypto/verification/SAS.d.ts +27 -0
  302. package/lib/crypto/verification/SAS.d.ts.map +1 -0
  303. package/lib/crypto/verification/SAS.js +485 -0
  304. package/lib/crypto/verification/SAS.js.map +1 -0
  305. package/lib/crypto/verification/SASDecimal.d.ts +8 -0
  306. package/lib/crypto/verification/SASDecimal.d.ts.map +1 -0
  307. package/lib/crypto/verification/SASDecimal.js +34 -0
  308. package/lib/crypto/verification/SASDecimal.js.map +1 -0
  309. package/lib/crypto/verification/request/Channel.d.ts +18 -0
  310. package/lib/crypto/verification/request/Channel.d.ts.map +1 -0
  311. package/lib/crypto/verification/request/Channel.js +1 -0
  312. package/lib/crypto/verification/request/Channel.js.map +1 -0
  313. package/lib/crypto/verification/request/InRoomChannel.d.ts +113 -0
  314. package/lib/crypto/verification/request/InRoomChannel.d.ts.map +1 -0
  315. package/lib/crypto/verification/request/InRoomChannel.js +351 -0
  316. package/lib/crypto/verification/request/InRoomChannel.js.map +1 -0
  317. package/lib/crypto/verification/request/ToDeviceChannel.d.ts +105 -0
  318. package/lib/crypto/verification/request/ToDeviceChannel.d.ts.map +1 -0
  319. package/lib/crypto/verification/request/ToDeviceChannel.js +328 -0
  320. package/lib/crypto/verification/request/ToDeviceChannel.js.map +1 -0
  321. package/lib/crypto/verification/request/VerificationRequest.d.ts +227 -0
  322. package/lib/crypto/verification/request/VerificationRequest.d.ts.map +1 -0
  323. package/lib/crypto/verification/request/VerificationRequest.js +937 -0
  324. package/lib/crypto/verification/request/VerificationRequest.js.map +1 -0
  325. package/lib/crypto-api/CryptoEvent.d.ts +69 -0
  326. package/lib/crypto-api/CryptoEvent.d.ts.map +1 -0
  327. package/lib/crypto-api/CryptoEvent.js +33 -0
  328. package/lib/crypto-api/CryptoEvent.js.map +1 -0
  329. package/lib/crypto-api/CryptoEventHandlerMap.d.ts +16 -0
  330. package/lib/crypto-api/CryptoEventHandlerMap.d.ts.map +1 -0
  331. package/lib/crypto-api/CryptoEventHandlerMap.js +22 -0
  332. package/lib/crypto-api/CryptoEventHandlerMap.js.map +1 -0
  333. package/lib/crypto-api/index.d.ts +978 -0
  334. package/lib/crypto-api/index.d.ts.map +1 -0
  335. package/lib/crypto-api/index.js +304 -0
  336. package/lib/crypto-api/index.js.map +1 -0
  337. package/lib/crypto-api/key-passphrase.d.ts +11 -0
  338. package/lib/crypto-api/key-passphrase.d.ts.map +1 -0
  339. package/lib/crypto-api/key-passphrase.js +51 -0
  340. package/lib/crypto-api/key-passphrase.js.map +1 -0
  341. package/lib/crypto-api/keybackup.d.ts +88 -0
  342. package/lib/crypto-api/keybackup.d.ts.map +1 -0
  343. package/lib/crypto-api/keybackup.js +1 -0
  344. package/lib/crypto-api/keybackup.js.map +1 -0
  345. package/lib/crypto-api/recovery-key.d.ts +11 -0
  346. package/lib/crypto-api/recovery-key.d.ts.map +1 -0
  347. package/lib/crypto-api/recovery-key.js +65 -0
  348. package/lib/crypto-api/recovery-key.js.map +1 -0
  349. package/lib/crypto-api/verification.d.ts +344 -0
  350. package/lib/crypto-api/verification.d.ts.map +1 -0
  351. package/lib/crypto-api/verification.js +91 -0
  352. package/lib/crypto-api/verification.js.map +1 -0
  353. package/lib/digest.d.ts +10 -0
  354. package/lib/digest.d.ts.map +1 -0
  355. package/lib/digest.js +40 -0
  356. package/lib/digest.js.map +1 -0
  357. package/lib/embedded.d.ts +143 -0
  358. package/lib/embedded.d.ts.map +1 -0
  359. package/lib/embedded.js +567 -0
  360. package/lib/embedded.js.map +1 -0
  361. package/lib/errors.d.ts +24 -0
  362. package/lib/errors.d.ts.map +1 -0
  363. package/lib/errors.js +51 -0
  364. package/lib/errors.js.map +1 -0
  365. package/lib/event-mapper.d.ts +10 -0
  366. package/lib/event-mapper.d.ts.map +1 -0
  367. package/lib/event-mapper.js +81 -0
  368. package/lib/event-mapper.js.map +1 -0
  369. package/lib/extensible_events_v1/ExtensibleEvent.d.ts +38 -0
  370. package/lib/extensible_events_v1/ExtensibleEvent.d.ts.map +1 -0
  371. package/lib/extensible_events_v1/ExtensibleEvent.js +57 -0
  372. package/lib/extensible_events_v1/ExtensibleEvent.js.map +1 -0
  373. package/lib/extensible_events_v1/InvalidEventError.d.ts +7 -0
  374. package/lib/extensible_events_v1/InvalidEventError.d.ts.map +1 -0
  375. package/lib/extensible_events_v1/InvalidEventError.js +25 -0
  376. package/lib/extensible_events_v1/InvalidEventError.js.map +1 -0
  377. package/lib/extensible_events_v1/MessageEvent.d.ts +45 -0
  378. package/lib/extensible_events_v1/MessageEvent.d.ts.map +1 -0
  379. package/lib/extensible_events_v1/MessageEvent.js +134 -0
  380. package/lib/extensible_events_v1/MessageEvent.js.map +1 -0
  381. package/lib/extensible_events_v1/PollEndEvent.d.ts +33 -0
  382. package/lib/extensible_events_v1/PollEndEvent.d.ts.map +1 -0
  383. package/lib/extensible_events_v1/PollEndEvent.js +88 -0
  384. package/lib/extensible_events_v1/PollEndEvent.js.map +1 -0
  385. package/lib/extensible_events_v1/PollResponseEvent.d.ts +49 -0
  386. package/lib/extensible_events_v1/PollResponseEvent.d.ts.map +1 -0
  387. package/lib/extensible_events_v1/PollResponseEvent.js +135 -0
  388. package/lib/extensible_events_v1/PollResponseEvent.js.map +1 -0
  389. package/lib/extensible_events_v1/PollStartEvent.d.ts +71 -0
  390. package/lib/extensible_events_v1/PollStartEvent.d.ts.map +1 -0
  391. package/lib/extensible_events_v1/PollStartEvent.js +185 -0
  392. package/lib/extensible_events_v1/PollStartEvent.js.map +1 -0
  393. package/lib/extensible_events_v1/utilities.d.ts +14 -0
  394. package/lib/extensible_events_v1/utilities.d.ts.map +1 -0
  395. package/lib/extensible_events_v1/utilities.js +34 -0
  396. package/lib/extensible_events_v1/utilities.js.map +1 -0
  397. package/lib/feature.d.ts +20 -0
  398. package/lib/feature.d.ts.map +1 -0
  399. package/lib/feature.js +85 -0
  400. package/lib/feature.js.map +1 -0
  401. package/lib/filter-component.d.ts +64 -0
  402. package/lib/filter-component.d.ts.map +1 -0
  403. package/lib/filter-component.js +167 -0
  404. package/lib/filter-component.js.map +1 -0
  405. package/lib/filter.d.ts +97 -0
  406. package/lib/filter.d.ts.map +1 -0
  407. package/lib/filter.js +207 -0
  408. package/lib/filter.js.map +1 -0
  409. package/lib/http-api/errors.d.ts +80 -0
  410. package/lib/http-api/errors.d.ts.map +1 -0
  411. package/lib/http-api/errors.js +185 -0
  412. package/lib/http-api/errors.js.map +1 -0
  413. package/lib/http-api/fetch.d.ts +114 -0
  414. package/lib/http-api/fetch.d.ts.map +1 -0
  415. package/lib/http-api/fetch.js +346 -0
  416. package/lib/http-api/fetch.js.map +1 -0
  417. package/lib/http-api/index.d.ts +33 -0
  418. package/lib/http-api/index.d.ts.map +1 -0
  419. package/lib/http-api/index.js +180 -0
  420. package/lib/http-api/index.js.map +1 -0
  421. package/lib/http-api/interface.d.ts +142 -0
  422. package/lib/http-api/interface.d.ts.map +1 -0
  423. package/lib/http-api/interface.js +35 -0
  424. package/lib/http-api/interface.js.map +1 -0
  425. package/lib/http-api/method.d.ts +10 -0
  426. package/lib/http-api/method.d.ts.map +1 -0
  427. package/lib/http-api/method.js +27 -0
  428. package/lib/http-api/method.js.map +1 -0
  429. package/lib/http-api/prefix.d.ts +31 -0
  430. package/lib/http-api/prefix.d.ts.map +1 -0
  431. package/lib/http-api/prefix.js +32 -0
  432. package/lib/http-api/prefix.js.map +1 -0
  433. package/lib/http-api/utils.d.ts +37 -0
  434. package/lib/http-api/utils.d.ts.map +1 -0
  435. package/lib/http-api/utils.js +178 -0
  436. package/lib/http-api/utils.js.map +1 -0
  437. package/lib/index.d.ts +4 -0
  438. package/lib/index.d.ts.map +1 -0
  439. package/lib/index.js +24 -0
  440. package/lib/index.js.map +1 -0
  441. package/lib/indexeddb-helpers.d.ts +10 -0
  442. package/lib/indexeddb-helpers.d.ts.map +1 -0
  443. package/lib/indexeddb-helpers.js +51 -0
  444. package/lib/indexeddb-helpers.js.map +1 -0
  445. package/lib/indexeddb-worker.d.ts +7 -0
  446. package/lib/indexeddb-worker.d.ts.map +1 -0
  447. package/lib/indexeddb-worker.js +25 -0
  448. package/lib/indexeddb-worker.js.map +1 -0
  449. package/lib/interactive-auth.d.ts +337 -0
  450. package/lib/interactive-auth.d.ts.map +1 -0
  451. package/lib/interactive-auth.js +557 -0
  452. package/lib/interactive-auth.js.map +1 -0
  453. package/lib/logger.d.ts +81 -0
  454. package/lib/logger.d.ts.map +1 -0
  455. package/lib/logger.js +139 -0
  456. package/lib/logger.js.map +1 -0
  457. package/lib/matrix.d.ts +118 -0
  458. package/lib/matrix.d.ts.map +1 -0
  459. package/lib/matrix.js +146 -0
  460. package/lib/matrix.js.map +1 -0
  461. package/lib/matrixrtc/CallMembership.d.ts +66 -0
  462. package/lib/matrixrtc/CallMembership.d.ts.map +1 -0
  463. package/lib/matrixrtc/CallMembership.js +197 -0
  464. package/lib/matrixrtc/CallMembership.js.map +1 -0
  465. package/lib/matrixrtc/LivekitFocus.d.ts +16 -0
  466. package/lib/matrixrtc/LivekitFocus.d.ts.map +1 -0
  467. package/lib/matrixrtc/LivekitFocus.js +20 -0
  468. package/lib/matrixrtc/LivekitFocus.js.map +1 -0
  469. package/lib/matrixrtc/MatrixRTCSession.d.ts +295 -0
  470. package/lib/matrixrtc/MatrixRTCSession.d.ts.map +1 -0
  471. package/lib/matrixrtc/MatrixRTCSession.js +1043 -0
  472. package/lib/matrixrtc/MatrixRTCSession.js.map +1 -0
  473. package/lib/matrixrtc/MatrixRTCSessionManager.d.ts +40 -0
  474. package/lib/matrixrtc/MatrixRTCSessionManager.d.ts.map +1 -0
  475. package/lib/matrixrtc/MatrixRTCSessionManager.js +146 -0
  476. package/lib/matrixrtc/MatrixRTCSessionManager.js.map +1 -0
  477. package/lib/matrixrtc/focus.d.ts +10 -0
  478. package/lib/matrixrtc/focus.d.ts.map +1 -0
  479. package/lib/matrixrtc/focus.js +1 -0
  480. package/lib/matrixrtc/focus.js.map +1 -0
  481. package/lib/matrixrtc/index.d.ts +7 -0
  482. package/lib/matrixrtc/index.d.ts.map +1 -0
  483. package/lib/matrixrtc/index.js +21 -0
  484. package/lib/matrixrtc/index.js.map +1 -0
  485. package/lib/matrixrtc/types.d.ts +19 -0
  486. package/lib/matrixrtc/types.d.ts.map +1 -0
  487. package/lib/matrixrtc/types.js +1 -0
  488. package/lib/matrixrtc/types.js.map +1 -0
  489. package/lib/models/MSC3089Branch.d.ts +98 -0
  490. package/lib/models/MSC3089Branch.d.ts.map +1 -0
  491. package/lib/models/MSC3089Branch.js +240 -0
  492. package/lib/models/MSC3089Branch.js.map +1 -0
  493. package/lib/models/MSC3089TreeSpace.d.ts +165 -0
  494. package/lib/models/MSC3089TreeSpace.d.ts.map +1 -0
  495. package/lib/models/MSC3089TreeSpace.js +520 -0
  496. package/lib/models/MSC3089TreeSpace.js.map +1 -0
  497. package/lib/models/ToDeviceMessage.d.ts +17 -0
  498. package/lib/models/ToDeviceMessage.d.ts.map +1 -0
  499. package/lib/models/ToDeviceMessage.js +1 -0
  500. package/lib/models/ToDeviceMessage.js.map +1 -0
  501. package/lib/models/beacon.d.ts +53 -0
  502. package/lib/models/beacon.d.ts.map +1 -0
  503. package/lib/models/beacon.js +174 -0
  504. package/lib/models/beacon.js.map +1 -0
  505. package/lib/models/compare-event-ordering.d.ts +24 -0
  506. package/lib/models/compare-event-ordering.d.ts.map +1 -0
  507. package/lib/models/compare-event-ordering.js +120 -0
  508. package/lib/models/compare-event-ordering.js.map +1 -0
  509. package/lib/models/device.d.ts +45 -0
  510. package/lib/models/device.d.ts.map +1 -0
  511. package/lib/models/device.js +77 -0
  512. package/lib/models/device.js.map +1 -0
  513. package/lib/models/event-context.d.ts +62 -0
  514. package/lib/models/event-context.d.ts.map +1 -0
  515. package/lib/models/event-context.js +113 -0
  516. package/lib/models/event-context.js.map +1 -0
  517. package/lib/models/event-status.d.ts +19 -0
  518. package/lib/models/event-status.d.ts.map +1 -0
  519. package/lib/models/event-status.js +30 -0
  520. package/lib/models/event-status.js.map +1 -0
  521. package/lib/models/event-timeline-set.d.ts +312 -0
  522. package/lib/models/event-timeline-set.d.ts.map +1 -0
  523. package/lib/models/event-timeline-set.js +813 -0
  524. package/lib/models/event-timeline-set.js.map +1 -0
  525. package/lib/models/event-timeline.d.ts +219 -0
  526. package/lib/models/event-timeline.d.ts.map +1 -0
  527. package/lib/models/event-timeline.js +455 -0
  528. package/lib/models/event-timeline.js.map +1 -0
  529. package/lib/models/event.d.ts +811 -0
  530. package/lib/models/event.d.ts.map +1 -0
  531. package/lib/models/event.js +1520 -0
  532. package/lib/models/event.js.map +1 -0
  533. package/lib/models/invites-ignorer.d.ts +136 -0
  534. package/lib/models/invites-ignorer.d.ts.map +1 -0
  535. package/lib/models/invites-ignorer.js +382 -0
  536. package/lib/models/invites-ignorer.js.map +1 -0
  537. package/lib/models/poll.d.ts +67 -0
  538. package/lib/models/poll.d.ts.map +1 -0
  539. package/lib/models/poll.js +241 -0
  540. package/lib/models/poll.js.map +1 -0
  541. package/lib/models/profile-keys.d.ts +8 -0
  542. package/lib/models/profile-keys.d.ts.map +1 -0
  543. package/lib/models/profile-keys.js +8 -0
  544. package/lib/models/profile-keys.js.map +1 -0
  545. package/lib/models/read-receipt.d.ts +115 -0
  546. package/lib/models/read-receipt.d.ts.map +1 -0
  547. package/lib/models/read-receipt.js +366 -0
  548. package/lib/models/read-receipt.js.map +1 -0
  549. package/lib/models/related-relations.d.ts +11 -0
  550. package/lib/models/related-relations.d.ts.map +1 -0
  551. package/lib/models/related-relations.js +33 -0
  552. package/lib/models/related-relations.js.map +1 -0
  553. package/lib/models/relations-container.d.ts +44 -0
  554. package/lib/models/relations-container.d.ts.map +1 -0
  555. package/lib/models/relations-container.js +132 -0
  556. package/lib/models/relations-container.js.map +1 -0
  557. package/lib/models/relations.d.ts +114 -0
  558. package/lib/models/relations.d.ts.map +1 -0
  559. package/lib/models/relations.js +354 -0
  560. package/lib/models/relations.js.map +1 -0
  561. package/lib/models/room-member.d.ts +204 -0
  562. package/lib/models/room-member.d.ts.map +1 -0
  563. package/lib/models/room-member.js +360 -0
  564. package/lib/models/room-member.js.map +1 -0
  565. package/lib/models/room-receipts.d.ts +39 -0
  566. package/lib/models/room-receipts.d.ts.map +1 -0
  567. package/lib/models/room-receipts.js +392 -0
  568. package/lib/models/room-receipts.js.map +1 -0
  569. package/lib/models/room-state.d.ts +468 -0
  570. package/lib/models/room-state.d.ts.map +1 -0
  571. package/lib/models/room-state.js +984 -0
  572. package/lib/models/room-state.js.map +1 -0
  573. package/lib/models/room-summary.d.ts +29 -0
  574. package/lib/models/room-summary.d.ts.map +1 -0
  575. package/lib/models/room-summary.js +28 -0
  576. package/lib/models/room-summary.js.map +1 -0
  577. package/lib/models/room.d.ts +1203 -0
  578. package/lib/models/room.d.ts.map +1 -0
  579. package/lib/models/room.js +3336 -0
  580. package/lib/models/room.js.map +1 -0
  581. package/lib/models/search-result.d.ts +20 -0
  582. package/lib/models/search-result.d.ts.map +1 -0
  583. package/lib/models/search-result.js +52 -0
  584. package/lib/models/search-result.js.map +1 -0
  585. package/lib/models/thread.d.ts +246 -0
  586. package/lib/models/thread.d.ts.map +1 -0
  587. package/lib/models/thread.js +861 -0
  588. package/lib/models/thread.js.map +1 -0
  589. package/lib/models/typed-event-emitter.d.ts +157 -0
  590. package/lib/models/typed-event-emitter.d.ts.map +1 -0
  591. package/lib/models/typed-event-emitter.js +227 -0
  592. package/lib/models/typed-event-emitter.js.map +1 -0
  593. package/lib/models/user.d.ts +195 -0
  594. package/lib/models/user.d.ts.map +1 -0
  595. package/lib/models/user.js +218 -0
  596. package/lib/models/user.js.map +1 -0
  597. package/lib/oidc/authorize.d.ts +90 -0
  598. package/lib/oidc/authorize.d.ts.map +1 -0
  599. package/lib/oidc/authorize.js +278 -0
  600. package/lib/oidc/authorize.js.map +1 -0
  601. package/lib/oidc/discovery.d.ts +14 -0
  602. package/lib/oidc/discovery.d.ts.map +1 -0
  603. package/lib/oidc/discovery.js +66 -0
  604. package/lib/oidc/discovery.js.map +1 -0
  605. package/lib/oidc/error.d.ts +18 -0
  606. package/lib/oidc/error.d.ts.map +1 -0
  607. package/lib/oidc/error.js +35 -0
  608. package/lib/oidc/error.js.map +1 -0
  609. package/lib/oidc/index.d.ts +17 -0
  610. package/lib/oidc/index.d.ts.map +1 -0
  611. package/lib/oidc/index.js +29 -0
  612. package/lib/oidc/index.js.map +1 -0
  613. package/lib/oidc/register.d.ts +43 -0
  614. package/lib/oidc/register.d.ts.map +1 -0
  615. package/lib/oidc/register.js +96 -0
  616. package/lib/oidc/register.js.map +1 -0
  617. package/lib/oidc/tokenRefresher.d.ts +69 -0
  618. package/lib/oidc/tokenRefresher.d.ts.map +1 -0
  619. package/lib/oidc/tokenRefresher.js +148 -0
  620. package/lib/oidc/tokenRefresher.js.map +1 -0
  621. package/lib/oidc/validate.d.ts +90 -0
  622. package/lib/oidc/validate.d.ts.map +1 -0
  623. package/lib/oidc/validate.js +194 -0
  624. package/lib/oidc/validate.js.map +1 -0
  625. package/lib/pushprocessor.d.ts +128 -0
  626. package/lib/pushprocessor.d.ts.map +1 -0
  627. package/lib/pushprocessor.js +685 -0
  628. package/lib/pushprocessor.js.map +1 -0
  629. package/lib/randomstring.d.ts +5 -0
  630. package/lib/randomstring.d.ts.map +1 -0
  631. package/lib/randomstring.js +43 -0
  632. package/lib/randomstring.js.map +1 -0
  633. package/lib/realtime-callbacks.d.ts +18 -0
  634. package/lib/realtime-callbacks.d.ts.map +1 -0
  635. package/lib/realtime-callbacks.js +177 -0
  636. package/lib/realtime-callbacks.js.map +1 -0
  637. package/lib/receipt-accumulator.d.ts +51 -0
  638. package/lib/receipt-accumulator.d.ts.map +1 -0
  639. package/lib/receipt-accumulator.js +164 -0
  640. package/lib/receipt-accumulator.js.map +1 -0
  641. package/lib/rendezvous/MSC4108SignInWithQR.d.ts +112 -0
  642. package/lib/rendezvous/MSC4108SignInWithQR.d.ts.map +1 -0
  643. package/lib/rendezvous/MSC4108SignInWithQR.js +392 -0
  644. package/lib/rendezvous/MSC4108SignInWithQR.js.map +1 -0
  645. package/lib/rendezvous/RendezvousChannel.d.ts +27 -0
  646. package/lib/rendezvous/RendezvousChannel.d.ts.map +1 -0
  647. package/lib/rendezvous/RendezvousChannel.js +1 -0
  648. package/lib/rendezvous/RendezvousChannel.js.map +1 -0
  649. package/lib/rendezvous/RendezvousCode.d.ts +9 -0
  650. package/lib/rendezvous/RendezvousCode.d.ts.map +1 -0
  651. package/lib/rendezvous/RendezvousCode.js +1 -0
  652. package/lib/rendezvous/RendezvousCode.js.map +1 -0
  653. package/lib/rendezvous/RendezvousError.d.ts +6 -0
  654. package/lib/rendezvous/RendezvousError.d.ts.map +1 -0
  655. package/lib/rendezvous/RendezvousError.js +23 -0
  656. package/lib/rendezvous/RendezvousError.js.map +1 -0
  657. package/lib/rendezvous/RendezvousFailureReason.d.ts +31 -0
  658. package/lib/rendezvous/RendezvousFailureReason.d.ts.map +1 -0
  659. package/lib/rendezvous/RendezvousFailureReason.js +38 -0
  660. package/lib/rendezvous/RendezvousFailureReason.js.map +1 -0
  661. package/lib/rendezvous/RendezvousIntent.d.ts +5 -0
  662. package/lib/rendezvous/RendezvousIntent.d.ts.map +1 -0
  663. package/lib/rendezvous/RendezvousIntent.js +22 -0
  664. package/lib/rendezvous/RendezvousIntent.js.map +1 -0
  665. package/lib/rendezvous/RendezvousTransport.d.ts +36 -0
  666. package/lib/rendezvous/RendezvousTransport.d.ts.map +1 -0
  667. package/lib/rendezvous/RendezvousTransport.js +1 -0
  668. package/lib/rendezvous/RendezvousTransport.js.map +1 -0
  669. package/lib/rendezvous/channels/MSC4108SecureChannel.d.ts +58 -0
  670. package/lib/rendezvous/channels/MSC4108SecureChannel.d.ts.map +1 -0
  671. package/lib/rendezvous/channels/MSC4108SecureChannel.js +246 -0
  672. package/lib/rendezvous/channels/MSC4108SecureChannel.js.map +1 -0
  673. package/lib/rendezvous/channels/index.d.ts +2 -0
  674. package/lib/rendezvous/channels/index.d.ts.map +1 -0
  675. package/lib/rendezvous/channels/index.js +18 -0
  676. package/lib/rendezvous/channels/index.js.map +1 -0
  677. package/lib/rendezvous/index.d.ts +10 -0
  678. package/lib/rendezvous/index.d.ts.map +1 -0
  679. package/lib/rendezvous/index.js +23 -0
  680. package/lib/rendezvous/index.js.map +1 -0
  681. package/lib/rendezvous/transports/MSC4108RendezvousSession.d.ts +61 -0
  682. package/lib/rendezvous/transports/MSC4108RendezvousSession.d.ts.map +1 -0
  683. package/lib/rendezvous/transports/MSC4108RendezvousSession.js +253 -0
  684. package/lib/rendezvous/transports/MSC4108RendezvousSession.js.map +1 -0
  685. package/lib/rendezvous/transports/index.d.ts +2 -0
  686. package/lib/rendezvous/transports/index.d.ts.map +1 -0
  687. package/lib/rendezvous/transports/index.js +18 -0
  688. package/lib/rendezvous/transports/index.js.map +1 -0
  689. package/lib/room-hierarchy.d.ts +35 -0
  690. package/lib/room-hierarchy.d.ts.map +1 -0
  691. package/lib/room-hierarchy.js +136 -0
  692. package/lib/room-hierarchy.js.map +1 -0
  693. package/lib/rust-crypto/CrossSigningIdentity.d.ts +33 -0
  694. package/lib/rust-crypto/CrossSigningIdentity.d.ts.map +1 -0
  695. package/lib/rust-crypto/CrossSigningIdentity.js +157 -0
  696. package/lib/rust-crypto/CrossSigningIdentity.js.map +1 -0
  697. package/lib/rust-crypto/DehydratedDeviceManager.d.ts +98 -0
  698. package/lib/rust-crypto/DehydratedDeviceManager.d.ts.map +1 -0
  699. package/lib/rust-crypto/DehydratedDeviceManager.js +285 -0
  700. package/lib/rust-crypto/DehydratedDeviceManager.js.map +1 -0
  701. package/lib/rust-crypto/KeyClaimManager.d.ts +33 -0
  702. package/lib/rust-crypto/KeyClaimManager.d.ts.map +1 -0
  703. package/lib/rust-crypto/KeyClaimManager.js +82 -0
  704. package/lib/rust-crypto/KeyClaimManager.js.map +1 -0
  705. package/lib/rust-crypto/OutgoingRequestProcessor.d.ts +43 -0
  706. package/lib/rust-crypto/OutgoingRequestProcessor.d.ts.map +1 -0
  707. package/lib/rust-crypto/OutgoingRequestProcessor.js +195 -0
  708. package/lib/rust-crypto/OutgoingRequestProcessor.js.map +1 -0
  709. package/lib/rust-crypto/OutgoingRequestsManager.d.ts +47 -0
  710. package/lib/rust-crypto/OutgoingRequestsManager.d.ts.map +1 -0
  711. package/lib/rust-crypto/OutgoingRequestsManager.js +148 -0
  712. package/lib/rust-crypto/OutgoingRequestsManager.js.map +1 -0
  713. package/lib/rust-crypto/PerSessionKeyBackupDownloader.d.ts +120 -0
  714. package/lib/rust-crypto/PerSessionKeyBackupDownloader.d.ts.map +1 -0
  715. package/lib/rust-crypto/PerSessionKeyBackupDownloader.js +467 -0
  716. package/lib/rust-crypto/PerSessionKeyBackupDownloader.js.map +1 -0
  717. package/lib/rust-crypto/RoomEncryptor.d.ts +98 -0
  718. package/lib/rust-crypto/RoomEncryptor.d.ts.map +1 -0
  719. package/lib/rust-crypto/RoomEncryptor.js +299 -0
  720. package/lib/rust-crypto/RoomEncryptor.js.map +1 -0
  721. package/lib/rust-crypto/backup.d.ts +254 -0
  722. package/lib/rust-crypto/backup.d.ts.map +1 -0
  723. package/lib/rust-crypto/backup.js +837 -0
  724. package/lib/rust-crypto/backup.js.map +1 -0
  725. package/lib/rust-crypto/constants.d.ts +3 -0
  726. package/lib/rust-crypto/constants.d.ts.map +1 -0
  727. package/lib/rust-crypto/constants.js +19 -0
  728. package/lib/rust-crypto/constants.js.map +1 -0
  729. package/lib/rust-crypto/device-converter.d.ts +28 -0
  730. package/lib/rust-crypto/device-converter.d.ts.map +1 -0
  731. package/lib/rust-crypto/device-converter.js +123 -0
  732. package/lib/rust-crypto/device-converter.js.map +1 -0
  733. package/lib/rust-crypto/index.d.ts +61 -0
  734. package/lib/rust-crypto/index.d.ts.map +1 -0
  735. package/lib/rust-crypto/index.js +152 -0
  736. package/lib/rust-crypto/index.js.map +1 -0
  737. package/lib/rust-crypto/libolm_migration.d.ts +81 -0
  738. package/lib/rust-crypto/libolm_migration.d.ts.map +1 -0
  739. package/lib/rust-crypto/libolm_migration.js +459 -0
  740. package/lib/rust-crypto/libolm_migration.js.map +1 -0
  741. package/lib/rust-crypto/rust-crypto.d.ts +556 -0
  742. package/lib/rust-crypto/rust-crypto.d.ts.map +1 -0
  743. package/lib/rust-crypto/rust-crypto.js +2016 -0
  744. package/lib/rust-crypto/rust-crypto.js.map +1 -0
  745. package/lib/rust-crypto/secret-storage.d.ts +22 -0
  746. package/lib/rust-crypto/secret-storage.d.ts.map +1 -0
  747. package/lib/rust-crypto/secret-storage.js +63 -0
  748. package/lib/rust-crypto/secret-storage.js.map +1 -0
  749. package/lib/rust-crypto/verification.d.ts +319 -0
  750. package/lib/rust-crypto/verification.d.ts.map +1 -0
  751. package/lib/rust-crypto/verification.js +816 -0
  752. package/lib/rust-crypto/verification.js.map +1 -0
  753. package/lib/scheduler.d.ts +132 -0
  754. package/lib/scheduler.d.ts.map +1 -0
  755. package/lib/scheduler.js +259 -0
  756. package/lib/scheduler.js.map +1 -0
  757. package/lib/secret-storage.d.ts +370 -0
  758. package/lib/secret-storage.d.ts.map +1 -0
  759. package/lib/secret-storage.js +466 -0
  760. package/lib/secret-storage.js.map +1 -0
  761. package/lib/serverCapabilities.d.ts +72 -0
  762. package/lib/serverCapabilities.d.ts.map +1 -0
  763. package/lib/serverCapabilities.js +105 -0
  764. package/lib/serverCapabilities.js.map +1 -0
  765. package/lib/service-types.d.ts +5 -0
  766. package/lib/service-types.d.ts.map +1 -0
  767. package/lib/service-types.js +22 -0
  768. package/lib/service-types.js.map +1 -0
  769. package/lib/sliding-sync-sdk.d.ts +107 -0
  770. package/lib/sliding-sync-sdk.d.ts.map +1 -0
  771. package/lib/sliding-sync-sdk.js +903 -0
  772. package/lib/sliding-sync-sdk.js.map +1 -0
  773. package/lib/sliding-sync.d.ts +343 -0
  774. package/lib/sliding-sync.d.ts.map +1 -0
  775. package/lib/sliding-sync.js +817 -0
  776. package/lib/sliding-sync.js.map +1 -0
  777. package/lib/store/index.d.ts +201 -0
  778. package/lib/store/index.d.ts.map +1 -0
  779. package/lib/store/index.js +1 -0
  780. package/lib/store/index.js.map +1 -0
  781. package/lib/store/indexeddb-backend.d.ts +24 -0
  782. package/lib/store/indexeddb-backend.d.ts.map +1 -0
  783. package/lib/store/indexeddb-backend.js +1 -0
  784. package/lib/store/indexeddb-backend.js.map +1 -0
  785. package/lib/store/indexeddb-local-backend.d.ts +129 -0
  786. package/lib/store/indexeddb-local-backend.d.ts.map +1 -0
  787. package/lib/store/indexeddb-local-backend.js +597 -0
  788. package/lib/store/indexeddb-local-backend.js.map +1 -0
  789. package/lib/store/indexeddb-remote-backend.d.ts +79 -0
  790. package/lib/store/indexeddb-remote-backend.d.ts.map +1 -0
  791. package/lib/store/indexeddb-remote-backend.js +210 -0
  792. package/lib/store/indexeddb-remote-backend.js.map +1 -0
  793. package/lib/store/indexeddb-store-worker.d.ts +35 -0
  794. package/lib/store/indexeddb-store-worker.d.ts.map +1 -0
  795. package/lib/store/indexeddb-store-worker.js +146 -0
  796. package/lib/store/indexeddb-store-worker.js.map +1 -0
  797. package/lib/store/indexeddb.d.ts +142 -0
  798. package/lib/store/indexeddb.d.ts.map +1 -0
  799. package/lib/store/indexeddb.js +347 -0
  800. package/lib/store/indexeddb.js.map +1 -0
  801. package/lib/store/local-storage-events-emitter.d.ts +30 -0
  802. package/lib/store/local-storage-events-emitter.d.ts.map +1 -0
  803. package/lib/store/local-storage-events-emitter.js +37 -0
  804. package/lib/store/local-storage-events-emitter.js.map +1 -0
  805. package/lib/store/memory.d.ts +209 -0
  806. package/lib/store/memory.d.ts.map +1 -0
  807. package/lib/store/memory.js +432 -0
  808. package/lib/store/memory.js.map +1 -0
  809. package/lib/store/stub.d.ts +161 -0
  810. package/lib/store/stub.d.ts.map +1 -0
  811. package/lib/store/stub.js +268 -0
  812. package/lib/store/stub.js.map +1 -0
  813. package/lib/sync-accumulator.d.ts +172 -0
  814. package/lib/sync-accumulator.d.ts.map +1 -0
  815. package/lib/sync-accumulator.js +532 -0
  816. package/lib/sync-accumulator.js.map +1 -0
  817. package/lib/sync.d.ts +260 -0
  818. package/lib/sync.d.ts.map +1 -0
  819. package/lib/sync.js +1686 -0
  820. package/lib/sync.js.map +1 -0
  821. package/lib/testing.d.ts +81 -0
  822. package/lib/testing.d.ts.map +1 -0
  823. package/lib/testing.js +162 -0
  824. package/lib/testing.js.map +1 -0
  825. package/lib/thread-utils.d.ts +10 -0
  826. package/lib/thread-utils.d.ts.map +1 -0
  827. package/lib/thread-utils.js +31 -0
  828. package/lib/thread-utils.js.map +1 -0
  829. package/lib/timeline-window.d.ts +168 -0
  830. package/lib/timeline-window.d.ts.map +1 -0
  831. package/lib/timeline-window.js +494 -0
  832. package/lib/timeline-window.js.map +1 -0
  833. package/lib/types.d.ts +33 -0
  834. package/lib/types.d.ts.map +1 -0
  835. package/lib/types.js +33 -0
  836. package/lib/types.js.map +1 -0
  837. package/lib/utils/decryptAESSecretStorageItem.d.ts +12 -0
  838. package/lib/utils/decryptAESSecretStorageItem.d.ts.map +1 -0
  839. package/lib/utils/decryptAESSecretStorageItem.js +50 -0
  840. package/lib/utils/decryptAESSecretStorageItem.js.map +1 -0
  841. package/lib/utils/encryptAESSecretStorageItem.d.ts +16 -0
  842. package/lib/utils/encryptAESSecretStorageItem.d.ts.map +1 -0
  843. package/lib/utils/encryptAESSecretStorageItem.js +68 -0
  844. package/lib/utils/encryptAESSecretStorageItem.js.map +1 -0
  845. package/lib/utils/internal/deriveKeys.d.ts +10 -0
  846. package/lib/utils/internal/deriveKeys.d.ts.map +1 -0
  847. package/lib/utils/internal/deriveKeys.js +60 -0
  848. package/lib/utils/internal/deriveKeys.js.map +1 -0
  849. package/lib/utils.d.ts +267 -0
  850. package/lib/utils.d.ts.map +1 -0
  851. package/lib/utils.js +749 -0
  852. package/lib/utils.js.map +1 -0
  853. package/lib/version-support.d.ts +19 -0
  854. package/lib/version-support.d.ts.map +1 -0
  855. package/lib/version-support.js +37 -0
  856. package/lib/version-support.js.map +1 -0
  857. package/lib/webrtc/audioContext.d.ts +15 -0
  858. package/lib/webrtc/audioContext.d.ts.map +1 -0
  859. package/lib/webrtc/audioContext.js +46 -0
  860. package/lib/webrtc/audioContext.js.map +1 -0
  861. package/lib/webrtc/call.d.ts +560 -0
  862. package/lib/webrtc/call.d.ts.map +1 -0
  863. package/lib/webrtc/call.js +2541 -0
  864. package/lib/webrtc/call.js.map +1 -0
  865. package/lib/webrtc/callEventHandler.d.ts +37 -0
  866. package/lib/webrtc/callEventHandler.d.ts.map +1 -0
  867. package/lib/webrtc/callEventHandler.js +344 -0
  868. package/lib/webrtc/callEventHandler.js.map +1 -0
  869. package/lib/webrtc/callEventTypes.d.ts +73 -0
  870. package/lib/webrtc/callEventTypes.d.ts.map +1 -0
  871. package/lib/webrtc/callEventTypes.js +13 -0
  872. package/lib/webrtc/callEventTypes.js.map +1 -0
  873. package/lib/webrtc/callFeed.d.ts +128 -0
  874. package/lib/webrtc/callFeed.d.ts.map +1 -0
  875. package/lib/webrtc/callFeed.js +289 -0
  876. package/lib/webrtc/callFeed.js.map +1 -0
  877. package/lib/webrtc/groupCall.d.ts +323 -0
  878. package/lib/webrtc/groupCall.d.ts.map +1 -0
  879. package/lib/webrtc/groupCall.js +1337 -0
  880. package/lib/webrtc/groupCall.js.map +1 -0
  881. package/lib/webrtc/groupCallEventHandler.d.ts +31 -0
  882. package/lib/webrtc/groupCallEventHandler.d.ts.map +1 -0
  883. package/lib/webrtc/groupCallEventHandler.js +178 -0
  884. package/lib/webrtc/groupCallEventHandler.js.map +1 -0
  885. package/lib/webrtc/mediaHandler.d.ts +89 -0
  886. package/lib/webrtc/mediaHandler.d.ts.map +1 -0
  887. package/lib/webrtc/mediaHandler.js +437 -0
  888. package/lib/webrtc/mediaHandler.js.map +1 -0
  889. package/lib/webrtc/stats/callFeedStatsReporter.d.ts +8 -0
  890. package/lib/webrtc/stats/callFeedStatsReporter.d.ts.map +1 -0
  891. package/lib/webrtc/stats/callFeedStatsReporter.js +82 -0
  892. package/lib/webrtc/stats/callFeedStatsReporter.js.map +1 -0
  893. package/lib/webrtc/stats/callStatsReportGatherer.d.ts +25 -0
  894. package/lib/webrtc/stats/callStatsReportGatherer.d.ts.map +1 -0
  895. package/lib/webrtc/stats/callStatsReportGatherer.js +199 -0
  896. package/lib/webrtc/stats/callStatsReportGatherer.js.map +1 -0
  897. package/lib/webrtc/stats/callStatsReportSummary.d.ts +17 -0
  898. package/lib/webrtc/stats/callStatsReportSummary.d.ts.map +1 -0
  899. package/lib/webrtc/stats/callStatsReportSummary.js +1 -0
  900. package/lib/webrtc/stats/callStatsReportSummary.js.map +1 -0
  901. package/lib/webrtc/stats/connectionStats.d.ts +28 -0
  902. package/lib/webrtc/stats/connectionStats.d.ts.map +1 -0
  903. package/lib/webrtc/stats/connectionStats.js +26 -0
  904. package/lib/webrtc/stats/connectionStats.js.map +1 -0
  905. package/lib/webrtc/stats/connectionStatsBuilder.d.ts +5 -0
  906. package/lib/webrtc/stats/connectionStatsBuilder.d.ts.map +1 -0
  907. package/lib/webrtc/stats/connectionStatsBuilder.js +27 -0
  908. package/lib/webrtc/stats/connectionStatsBuilder.js.map +1 -0
  909. package/lib/webrtc/stats/connectionStatsReportBuilder.d.ts +7 -0
  910. package/lib/webrtc/stats/connectionStatsReportBuilder.d.ts.map +1 -0
  911. package/lib/webrtc/stats/connectionStatsReportBuilder.js +121 -0
  912. package/lib/webrtc/stats/connectionStatsReportBuilder.js.map +1 -0
  913. package/lib/webrtc/stats/groupCallStats.d.ts +22 -0
  914. package/lib/webrtc/stats/groupCallStats.d.ts.map +1 -0
  915. package/lib/webrtc/stats/groupCallStats.js +78 -0
  916. package/lib/webrtc/stats/groupCallStats.js.map +1 -0
  917. package/lib/webrtc/stats/media/mediaSsrcHandler.d.ts +10 -0
  918. package/lib/webrtc/stats/media/mediaSsrcHandler.d.ts.map +1 -0
  919. package/lib/webrtc/stats/media/mediaSsrcHandler.js +57 -0
  920. package/lib/webrtc/stats/media/mediaSsrcHandler.js.map +1 -0
  921. package/lib/webrtc/stats/media/mediaTrackHandler.d.ts +12 -0
  922. package/lib/webrtc/stats/media/mediaTrackHandler.d.ts.map +1 -0
  923. package/lib/webrtc/stats/media/mediaTrackHandler.js +62 -0
  924. package/lib/webrtc/stats/media/mediaTrackHandler.js.map +1 -0
  925. package/lib/webrtc/stats/media/mediaTrackStats.d.ts +86 -0
  926. package/lib/webrtc/stats/media/mediaTrackStats.d.ts.map +1 -0
  927. package/lib/webrtc/stats/media/mediaTrackStats.js +142 -0
  928. package/lib/webrtc/stats/media/mediaTrackStats.js.map +1 -0
  929. package/lib/webrtc/stats/media/mediaTrackStatsHandler.d.ts +22 -0
  930. package/lib/webrtc/stats/media/mediaTrackStatsHandler.d.ts.map +1 -0
  931. package/lib/webrtc/stats/media/mediaTrackStatsHandler.js +76 -0
  932. package/lib/webrtc/stats/media/mediaTrackStatsHandler.js.map +1 -0
  933. package/lib/webrtc/stats/statsReport.d.ts +99 -0
  934. package/lib/webrtc/stats/statsReport.d.ts.map +1 -0
  935. package/lib/webrtc/stats/statsReport.js +32 -0
  936. package/lib/webrtc/stats/statsReport.js.map +1 -0
  937. package/lib/webrtc/stats/statsReportEmitter.d.ts +15 -0
  938. package/lib/webrtc/stats/statsReportEmitter.d.ts.map +1 -0
  939. package/lib/webrtc/stats/statsReportEmitter.js +33 -0
  940. package/lib/webrtc/stats/statsReportEmitter.js.map +1 -0
  941. package/lib/webrtc/stats/summaryStatsReportGatherer.d.ts +16 -0
  942. package/lib/webrtc/stats/summaryStatsReportGatherer.d.ts.map +1 -0
  943. package/lib/webrtc/stats/summaryStatsReportGatherer.js +116 -0
  944. package/lib/webrtc/stats/summaryStatsReportGatherer.js.map +1 -0
  945. package/lib/webrtc/stats/trackStatsBuilder.d.ts +19 -0
  946. package/lib/webrtc/stats/trackStatsBuilder.d.ts.map +1 -0
  947. package/lib/webrtc/stats/trackStatsBuilder.js +168 -0
  948. package/lib/webrtc/stats/trackStatsBuilder.js.map +1 -0
  949. package/lib/webrtc/stats/transportStats.d.ts +11 -0
  950. package/lib/webrtc/stats/transportStats.d.ts.map +1 -0
  951. package/lib/webrtc/stats/transportStats.js +1 -0
  952. package/lib/webrtc/stats/transportStats.js.map +1 -0
  953. package/lib/webrtc/stats/transportStatsBuilder.d.ts +5 -0
  954. package/lib/webrtc/stats/transportStatsBuilder.d.ts.map +1 -0
  955. package/lib/webrtc/stats/transportStatsBuilder.js +34 -0
  956. package/lib/webrtc/stats/transportStatsBuilder.js.map +1 -0
  957. package/lib/webrtc/stats/valueFormatter.d.ts +4 -0
  958. package/lib/webrtc/stats/valueFormatter.d.ts.map +1 -0
  959. package/lib/webrtc/stats/valueFormatter.js +25 -0
  960. package/lib/webrtc/stats/valueFormatter.js.map +1 -0
  961. package/package.json +134 -0
  962. package/src/@types/AESEncryptedSecretStoragePayload.ts +29 -0
  963. package/src/@types/IIdentityServerProvider.ts +24 -0
  964. package/src/@types/PushRules.ts +209 -0
  965. package/src/@types/another-json.d.ts +19 -0
  966. package/src/@types/auth.ts +252 -0
  967. package/src/@types/beacon.ts +140 -0
  968. package/src/@types/common.ts +22 -0
  969. package/src/@types/crypto.ts +73 -0
  970. package/src/@types/event.ts +370 -0
  971. package/src/@types/events.ts +119 -0
  972. package/src/@types/extensible_events.ts +150 -0
  973. package/src/@types/global.d.ts +70 -0
  974. package/src/@types/local_notifications.ts +19 -0
  975. package/src/@types/location.ts +92 -0
  976. package/src/@types/matrix-sdk-crypto-wasm.d.ts +44 -0
  977. package/src/@types/media.ts +245 -0
  978. package/src/@types/membership.ts +57 -0
  979. package/src/@types/oidc-client-ts.d.ts +24 -0
  980. package/src/@types/partials.ts +67 -0
  981. package/src/@types/polls.ts +119 -0
  982. package/src/@types/read_receipts.ts +61 -0
  983. package/src/@types/registration.ts +102 -0
  984. package/src/@types/requests.ts +314 -0
  985. package/src/@types/search.ts +119 -0
  986. package/src/@types/signed.ts +25 -0
  987. package/src/@types/spaces.ts +37 -0
  988. package/src/@types/state_events.ts +147 -0
  989. package/src/@types/synapse.ts +40 -0
  990. package/src/@types/sync.ts +27 -0
  991. package/src/@types/threepids.ts +29 -0
  992. package/src/@types/topic.ts +63 -0
  993. package/src/@types/uia.ts +29 -0
  994. package/src/NamespacedValue.ts +123 -0
  995. package/src/ReEmitter.ts +93 -0
  996. package/src/ToDeviceMessageQueue.ts +153 -0
  997. package/src/autodiscovery.ts +505 -0
  998. package/src/base64.ts +88 -0
  999. package/src/browser-index.ts +44 -0
  1000. package/src/client.ts +10474 -0
  1001. package/src/common-crypto/CryptoBackend.ts +302 -0
  1002. package/src/common-crypto/README.md +4 -0
  1003. package/src/common-crypto/key-passphrase.ts +43 -0
  1004. package/src/content-helpers.ts +288 -0
  1005. package/src/content-repo.ts +117 -0
  1006. package/src/crypto/CrossSigning.ts +773 -0
  1007. package/src/crypto/DeviceList.ts +989 -0
  1008. package/src/crypto/EncryptionSetup.ts +351 -0
  1009. package/src/crypto/OlmDevice.ts +1500 -0
  1010. package/src/crypto/OutgoingRoomKeyRequestManager.ts +485 -0
  1011. package/src/crypto/RoomList.ts +70 -0
  1012. package/src/crypto/SecretSharing.ts +240 -0
  1013. package/src/crypto/SecretStorage.ts +136 -0
  1014. package/src/crypto/aes.ts +23 -0
  1015. package/src/crypto/algorithms/base.ts +236 -0
  1016. package/src/crypto/algorithms/index.ts +20 -0
  1017. package/src/crypto/algorithms/megolm.ts +2216 -0
  1018. package/src/crypto/algorithms/olm.ts +381 -0
  1019. package/src/crypto/api.ts +70 -0
  1020. package/src/crypto/backup.ts +922 -0
  1021. package/src/crypto/crypto.ts +18 -0
  1022. package/src/crypto/dehydration.ts +272 -0
  1023. package/src/crypto/device-converter.ts +45 -0
  1024. package/src/crypto/deviceinfo.ts +158 -0
  1025. package/src/crypto/index.ts +4414 -0
  1026. package/src/crypto/key_passphrase.ts +42 -0
  1027. package/src/crypto/keybackup.ts +47 -0
  1028. package/src/crypto/olmlib.ts +539 -0
  1029. package/src/crypto/recoverykey.ts +18 -0
  1030. package/src/crypto/store/base.ts +348 -0
  1031. package/src/crypto/store/indexeddb-crypto-store-backend.ts +1250 -0
  1032. package/src/crypto/store/indexeddb-crypto-store.ts +845 -0
  1033. package/src/crypto/store/localStorage-crypto-store.ts +579 -0
  1034. package/src/crypto/store/memory-crypto-store.ts +680 -0
  1035. package/src/crypto/verification/Base.ts +409 -0
  1036. package/src/crypto/verification/Error.ts +76 -0
  1037. package/src/crypto/verification/IllegalMethod.ts +50 -0
  1038. package/src/crypto/verification/QRCode.ts +310 -0
  1039. package/src/crypto/verification/SAS.ts +494 -0
  1040. package/src/crypto/verification/SASDecimal.ts +37 -0
  1041. package/src/crypto/verification/request/Channel.ts +34 -0
  1042. package/src/crypto/verification/request/InRoomChannel.ts +371 -0
  1043. package/src/crypto/verification/request/ToDeviceChannel.ts +354 -0
  1044. package/src/crypto/verification/request/VerificationRequest.ts +976 -0
  1045. package/src/crypto-api/CryptoEvent.ts +93 -0
  1046. package/src/crypto-api/CryptoEventHandlerMap.ts +32 -0
  1047. package/src/crypto-api/index.ts +1175 -0
  1048. package/src/crypto-api/key-passphrase.ts +58 -0
  1049. package/src/crypto-api/keybackup.ts +115 -0
  1050. package/src/crypto-api/recovery-key.ts +69 -0
  1051. package/src/crypto-api/verification.ts +408 -0
  1052. package/src/digest.ts +34 -0
  1053. package/src/embedded.ts +631 -0
  1054. package/src/errors.ts +54 -0
  1055. package/src/event-mapper.ts +97 -0
  1056. package/src/extensible_events_v1/ExtensibleEvent.ts +58 -0
  1057. package/src/extensible_events_v1/InvalidEventError.ts +24 -0
  1058. package/src/extensible_events_v1/MessageEvent.ts +145 -0
  1059. package/src/extensible_events_v1/PollEndEvent.ts +97 -0
  1060. package/src/extensible_events_v1/PollResponseEvent.ts +148 -0
  1061. package/src/extensible_events_v1/PollStartEvent.ts +207 -0
  1062. package/src/extensible_events_v1/utilities.ts +35 -0
  1063. package/src/feature.ts +87 -0
  1064. package/src/filter-component.ts +207 -0
  1065. package/src/filter.ts +245 -0
  1066. package/src/http-api/errors.ts +199 -0
  1067. package/src/http-api/fetch.ts +383 -0
  1068. package/src/http-api/index.ts +191 -0
  1069. package/src/http-api/interface.ts +178 -0
  1070. package/src/http-api/method.ts +25 -0
  1071. package/src/http-api/prefix.ts +48 -0
  1072. package/src/http-api/utils.ts +200 -0
  1073. package/src/index.ts +25 -0
  1074. package/src/indexeddb-helpers.ts +50 -0
  1075. package/src/indexeddb-worker.ts +24 -0
  1076. package/src/interactive-auth.ts +694 -0
  1077. package/src/logger.ts +185 -0
  1078. package/src/matrix.ts +177 -0
  1079. package/src/matrixrtc/CallMembership.ts +247 -0
  1080. package/src/matrixrtc/LivekitFocus.ts +39 -0
  1081. package/src/matrixrtc/MatrixRTCSession.ts +1319 -0
  1082. package/src/matrixrtc/MatrixRTCSessionManager.ts +166 -0
  1083. package/src/matrixrtc/focus.ts +25 -0
  1084. package/src/matrixrtc/index.ts +22 -0
  1085. package/src/matrixrtc/types.ts +36 -0
  1086. package/src/models/MSC3089Branch.ts +272 -0
  1087. package/src/models/MSC3089TreeSpace.ts +565 -0
  1088. package/src/models/ToDeviceMessage.ts +38 -0
  1089. package/src/models/beacon.ts +214 -0
  1090. package/src/models/compare-event-ordering.ts +139 -0
  1091. package/src/models/device.ts +85 -0
  1092. package/src/models/event-context.ts +110 -0
  1093. package/src/models/event-status.ts +39 -0
  1094. package/src/models/event-timeline-set.ts +979 -0
  1095. package/src/models/event-timeline.ts +476 -0
  1096. package/src/models/event.ts +1751 -0
  1097. package/src/models/invites-ignorer.ts +376 -0
  1098. package/src/models/poll.ts +285 -0
  1099. package/src/models/profile-keys.ts +7 -0
  1100. package/src/models/read-receipt.ts +422 -0
  1101. package/src/models/related-relations.ts +39 -0
  1102. package/src/models/relations-container.ts +149 -0
  1103. package/src/models/relations.ts +368 -0
  1104. package/src/models/room-member.ts +457 -0
  1105. package/src/models/room-receipts.ts +439 -0
  1106. package/src/models/room-state.ts +1130 -0
  1107. package/src/models/room-summary.ts +47 -0
  1108. package/src/models/room.ts +3822 -0
  1109. package/src/models/search-result.ts +57 -0
  1110. package/src/models/thread.ts +923 -0
  1111. package/src/models/typed-event-emitter.ts +246 -0
  1112. package/src/models/user.ts +302 -0
  1113. package/src/oidc/authorize.ts +274 -0
  1114. package/src/oidc/discovery.ts +60 -0
  1115. package/src/oidc/error.ts +33 -0
  1116. package/src/oidc/index.ts +34 -0
  1117. package/src/oidc/register.ts +123 -0
  1118. package/src/oidc/tokenRefresher.ts +149 -0
  1119. package/src/oidc/validate.ts +282 -0
  1120. package/src/pushprocessor.ts +837 -0
  1121. package/src/randomstring.ts +51 -0
  1122. package/src/realtime-callbacks.ts +191 -0
  1123. package/src/receipt-accumulator.ts +189 -0
  1124. package/src/rendezvous/MSC4108SignInWithQR.ts +444 -0
  1125. package/src/rendezvous/RendezvousChannel.ts +48 -0
  1126. package/src/rendezvous/RendezvousCode.ts +25 -0
  1127. package/src/rendezvous/RendezvousError.ts +26 -0
  1128. package/src/rendezvous/RendezvousFailureReason.ts +49 -0
  1129. package/src/rendezvous/RendezvousIntent.ts +20 -0
  1130. package/src/rendezvous/RendezvousTransport.ts +58 -0
  1131. package/src/rendezvous/channels/MSC4108SecureChannel.ts +270 -0
  1132. package/src/rendezvous/channels/index.ts +17 -0
  1133. package/src/rendezvous/index.ts +25 -0
  1134. package/src/rendezvous/transports/MSC4108RendezvousSession.ts +270 -0
  1135. package/src/rendezvous/transports/index.ts +17 -0
  1136. package/src/room-hierarchy.ts +152 -0
  1137. package/src/rust-crypto/CrossSigningIdentity.ts +183 -0
  1138. package/src/rust-crypto/DehydratedDeviceManager.ts +306 -0
  1139. package/src/rust-crypto/KeyClaimManager.ts +86 -0
  1140. package/src/rust-crypto/OutgoingRequestProcessor.ts +236 -0
  1141. package/src/rust-crypto/OutgoingRequestsManager.ts +143 -0
  1142. package/src/rust-crypto/PerSessionKeyBackupDownloader.ts +501 -0
  1143. package/src/rust-crypto/RoomEncryptor.ts +352 -0
  1144. package/src/rust-crypto/backup.ts +881 -0
  1145. package/src/rust-crypto/constants.ts +18 -0
  1146. package/src/rust-crypto/device-converter.ts +128 -0
  1147. package/src/rust-crypto/index.ts +237 -0
  1148. package/src/rust-crypto/libolm_migration.ts +530 -0
  1149. package/src/rust-crypto/rust-crypto.ts +2205 -0
  1150. package/src/rust-crypto/secret-storage.ts +60 -0
  1151. package/src/rust-crypto/verification.ts +830 -0
  1152. package/src/scheduler.ts +309 -0
  1153. package/src/secret-storage.ts +693 -0
  1154. package/src/serverCapabilities.ts +139 -0
  1155. package/src/service-types.ts +20 -0
  1156. package/src/sliding-sync-sdk.ts +1026 -0
  1157. package/src/sliding-sync.ts +965 -0
  1158. package/src/store/index.ts +261 -0
  1159. package/src/store/indexeddb-backend.ts +41 -0
  1160. package/src/store/indexeddb-local-backend.ts +610 -0
  1161. package/src/store/indexeddb-remote-backend.ts +213 -0
  1162. package/src/store/indexeddb-store-worker.ts +157 -0
  1163. package/src/store/indexeddb.ts +397 -0
  1164. package/src/store/local-storage-events-emitter.ts +46 -0
  1165. package/src/store/memory.ts +448 -0
  1166. package/src/store/stub.ts +280 -0
  1167. package/src/sync-accumulator.ts +689 -0
  1168. package/src/sync.ts +1920 -0
  1169. package/src/testing.ts +191 -0
  1170. package/src/thread-utils.ts +31 -0
  1171. package/src/timeline-window.ts +536 -0
  1172. package/src/types.ts +59 -0
  1173. package/src/utils/decryptAESSecretStorageItem.ts +54 -0
  1174. package/src/utils/encryptAESSecretStorageItem.ts +73 -0
  1175. package/src/utils/internal/deriveKeys.ts +63 -0
  1176. package/src/utils.ts +763 -0
  1177. package/src/version-support.ts +36 -0
  1178. package/src/webrtc/audioContext.ts +44 -0
  1179. package/src/webrtc/call.ts +3074 -0
  1180. package/src/webrtc/callEventHandler.ts +425 -0
  1181. package/src/webrtc/callEventTypes.ts +93 -0
  1182. package/src/webrtc/callFeed.ts +364 -0
  1183. package/src/webrtc/groupCall.ts +1735 -0
  1184. package/src/webrtc/groupCallEventHandler.ts +234 -0
  1185. package/src/webrtc/mediaHandler.ts +484 -0
  1186. package/src/webrtc/stats/callFeedStatsReporter.ts +94 -0
  1187. package/src/webrtc/stats/callStatsReportGatherer.ts +219 -0
  1188. package/src/webrtc/stats/callStatsReportSummary.ts +30 -0
  1189. package/src/webrtc/stats/connectionStats.ts +47 -0
  1190. package/src/webrtc/stats/connectionStatsBuilder.ts +28 -0
  1191. package/src/webrtc/stats/connectionStatsReportBuilder.ts +140 -0
  1192. package/src/webrtc/stats/groupCallStats.ts +93 -0
  1193. package/src/webrtc/stats/media/mediaSsrcHandler.ts +57 -0
  1194. package/src/webrtc/stats/media/mediaTrackHandler.ts +76 -0
  1195. package/src/webrtc/stats/media/mediaTrackStats.ts +176 -0
  1196. package/src/webrtc/stats/media/mediaTrackStatsHandler.ts +90 -0
  1197. package/src/webrtc/stats/statsReport.ts +133 -0
  1198. package/src/webrtc/stats/statsReportEmitter.ts +49 -0
  1199. package/src/webrtc/stats/summaryStatsReportGatherer.ts +148 -0
  1200. package/src/webrtc/stats/trackStatsBuilder.ts +207 -0
  1201. package/src/webrtc/stats/transportStats.ts +26 -0
  1202. package/src/webrtc/stats/transportStatsBuilder.ts +48 -0
  1203. package/src/webrtc/stats/valueFormatter.ts +27 -0
@@ -0,0 +1,984 @@
1
+ import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
2
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
3
+ /*
4
+ Copyright 2015 - 2021 The Matrix.org Foundation C.I.C.
5
+
6
+ Licensed under the Apache License, Version 2.0 (the "License");
7
+ you may not use this file except in compliance with the License.
8
+ You may obtain a copy of the License at
9
+
10
+ http://www.apache.org/licenses/LICENSE-2.0
11
+
12
+ Unless required by applicable law or agreed to in writing, software
13
+ distributed under the License is distributed on an "AS IS" BASIS,
14
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
+ See the License for the specific language governing permissions and
16
+ limitations under the License.
17
+ */
18
+
19
+ import { RoomMember } from "./room-member.js";
20
+ import { logger } from "../logger.js";
21
+ import { isNumber, removeHiddenChars } from "../utils.js";
22
+ import { EventType, UNSTABLE_MSC2716_MARKER } from "../@types/event.js";
23
+ import { MatrixEventEvent } from "./event.js";
24
+ import { GuestAccess, HistoryVisibility, JoinRule } from "../@types/partials.js";
25
+ import { TypedEventEmitter } from "./typed-event-emitter.js";
26
+ import { Beacon, BeaconEvent, getBeaconInfoIdentifier } from "./beacon.js";
27
+ import { TypedReEmitter } from "../ReEmitter.js";
28
+ import { M_BEACON, M_BEACON_INFO } from "../@types/beacon.js";
29
+ import { KnownMembership } from "../@types/membership.js";
30
+ // possible statuses for out-of-band member loading
31
+ var OobStatus = /*#__PURE__*/function (OobStatus) {
32
+ OobStatus[OobStatus["NotStarted"] = 0] = "NotStarted";
33
+ OobStatus[OobStatus["InProgress"] = 1] = "InProgress";
34
+ OobStatus[OobStatus["Finished"] = 2] = "Finished";
35
+ return OobStatus;
36
+ }(OobStatus || {});
37
+ export var RoomStateEvent = /*#__PURE__*/function (RoomStateEvent) {
38
+ RoomStateEvent["Events"] = "RoomState.events";
39
+ RoomStateEvent["Members"] = "RoomState.members";
40
+ RoomStateEvent["NewMember"] = "RoomState.newMember";
41
+ RoomStateEvent["Update"] = "RoomState.update";
42
+ RoomStateEvent["BeaconLiveness"] = "RoomState.BeaconLiveness";
43
+ RoomStateEvent["Marker"] = "RoomState.Marker";
44
+ return RoomStateEvent;
45
+ }({});
46
+ export class RoomState extends TypedEventEmitter {
47
+ /**
48
+ * Construct room state.
49
+ *
50
+ * Room State represents the state of the room at a given point.
51
+ * It can be mutated by adding state events to it.
52
+ * There are two types of room member associated with a state event:
53
+ * normal member objects (accessed via getMember/getMembers) which mutate
54
+ * with the state to represent the current state of that room/user, e.g.
55
+ * the object returned by `getMember('@bob:example.com')` will mutate to
56
+ * get a different display name if Bob later changes his display name
57
+ * in the room.
58
+ * There are also 'sentinel' members (accessed via getSentinelMember).
59
+ * These also represent the state of room members at the point in time
60
+ * represented by the RoomState object, but unlike objects from getMember,
61
+ * sentinel objects will always represent the room state as at the time
62
+ * getSentinelMember was called, so if Bob subsequently changes his display
63
+ * name, a room member object previously acquired with getSentinelMember
64
+ * will still have his old display name. Calling getSentinelMember again
65
+ * after the display name change will return a new RoomMember object
66
+ * with Bob's new display name.
67
+ *
68
+ * @param roomId - Optional. The ID of the room which has this state.
69
+ * If none is specified it just tracks paginationTokens, useful for notifTimelineSet
70
+ * @param oobMemberFlags - Optional. The state of loading out of bound members.
71
+ * As the timeline might get reset while they are loading, this state needs to be inherited
72
+ * and shared when the room state is cloned for the new timeline.
73
+ * 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
+ */
85
+
86
+ constructor(roomId) {
87
+ var oobMemberFlags = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {
88
+ status: OobStatus.NotStarted
89
+ };
90
+ var isStartTimelineState = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
91
+ super();
92
+ this.roomId = roomId;
93
+ this.oobMemberFlags = oobMemberFlags;
94
+ this.isStartTimelineState = isStartTimelineState;
95
+ _defineProperty(this, "reEmitter", new TypedReEmitter(this));
96
+ _defineProperty(this, "sentinels", {});
97
+ // userId: RoomMember
98
+ // stores fuzzy matches to a list of userIDs (applies utils.removeHiddenChars to keys)
99
+ _defineProperty(this, "displayNameToUserIds", new Map());
100
+ _defineProperty(this, "userIdsToDisplayNames", {});
101
+ _defineProperty(this, "tokenToInvite", {});
102
+ // 3pid invite state_key to m.room.member invite
103
+ _defineProperty(this, "joinedMemberCount", null);
104
+ // cache of the number of joined members
105
+ // joined members count from summary api
106
+ // once set, we know the server supports the summary api
107
+ // and we should only trust that
108
+ // we could also only trust that before OOB members
109
+ // are loaded but doesn't seem worth the hassle atm
110
+ _defineProperty(this, "summaryJoinedMemberCount", null);
111
+ // same for invited member count
112
+ _defineProperty(this, "invitedMemberCount", null);
113
+ _defineProperty(this, "summaryInvitedMemberCount", null);
114
+ _defineProperty(this, "modified", -1);
115
+ // XXX: Should be read-only
116
+ // The room member dictionary, keyed on the user's ID.
117
+ _defineProperty(this, "members", {});
118
+ // userId: RoomMember
119
+ // The state events dictionary, keyed on the event type and then the state_key value.
120
+ _defineProperty(this, "events", new Map());
121
+ // Map<eventType, Map<stateKey, MatrixEvent>>
122
+ // The pagination token for this state.
123
+ _defineProperty(this, "paginationToken", null);
124
+ _defineProperty(this, "beacons", new Map());
125
+ _defineProperty(this, "_liveBeaconIds", []);
126
+ this.updateModifiedTime();
127
+ }
128
+
129
+ /**
130
+ * Returns the number of joined members in this room
131
+ * This method caches the result.
132
+ * @returns The number of members in this room whose membership is 'join'
133
+ */
134
+ getJoinedMemberCount() {
135
+ if (this.summaryJoinedMemberCount !== null) {
136
+ return this.summaryJoinedMemberCount;
137
+ }
138
+ if (this.joinedMemberCount === null) {
139
+ this.joinedMemberCount = this.getMembers().reduce((count, m) => {
140
+ return m.membership === KnownMembership.Join ? count + 1 : count;
141
+ }, 0);
142
+ }
143
+ return this.joinedMemberCount;
144
+ }
145
+
146
+ /**
147
+ * Set the joined member count explicitly (like from summary part of the sync response)
148
+ * @param count - the amount of joined members
149
+ */
150
+ setJoinedMemberCount(count) {
151
+ this.summaryJoinedMemberCount = count;
152
+ }
153
+
154
+ /**
155
+ * Returns the number of invited members in this room
156
+ * @returns The number of members in this room whose membership is 'invite'
157
+ */
158
+ getInvitedMemberCount() {
159
+ if (this.summaryInvitedMemberCount !== null) {
160
+ return this.summaryInvitedMemberCount;
161
+ }
162
+ if (this.invitedMemberCount === null) {
163
+ this.invitedMemberCount = this.getMembers().reduce((count, m) => {
164
+ return m.membership === KnownMembership.Invite ? count + 1 : count;
165
+ }, 0);
166
+ }
167
+ return this.invitedMemberCount;
168
+ }
169
+
170
+ /**
171
+ * Set the amount of invited members in this room
172
+ * @param count - the amount of invited members
173
+ */
174
+ setInvitedMemberCount(count) {
175
+ this.summaryInvitedMemberCount = count;
176
+ }
177
+
178
+ /**
179
+ * Get all RoomMembers in this room.
180
+ * @returns A list of RoomMembers.
181
+ */
182
+ getMembers() {
183
+ return Object.values(this.members);
184
+ }
185
+
186
+ /**
187
+ * Get all RoomMembers in this room, excluding the user IDs provided.
188
+ * @param excludedIds - The user IDs to exclude.
189
+ * @returns A list of RoomMembers.
190
+ */
191
+ getMembersExcept(excludedIds) {
192
+ return this.getMembers().filter(m => !excludedIds.includes(m.userId));
193
+ }
194
+
195
+ /**
196
+ * Get a room member by their user ID.
197
+ * @param userId - The room member's user ID.
198
+ * @returns The member or null if they do not exist.
199
+ */
200
+ getMember(userId) {
201
+ return this.members[userId] || null;
202
+ }
203
+
204
+ /**
205
+ * Get a room member whose properties will not change with this room state. You
206
+ * typically want this if you want to attach a RoomMember to a MatrixEvent which
207
+ * may no longer be represented correctly by Room.currentState or Room.oldState.
208
+ * The term 'sentinel' refers to the fact that this RoomMember is an unchanging
209
+ * guardian for state at this particular point in time.
210
+ * @param userId - The room member's user ID.
211
+ * @returns The member or null if they do not exist.
212
+ */
213
+ getSentinelMember(userId) {
214
+ if (!userId) return null;
215
+ var sentinel = this.sentinels[userId];
216
+ if (sentinel === undefined) {
217
+ sentinel = new RoomMember(this.roomId, userId);
218
+ var member = this.members[userId];
219
+ if (member !== null && member !== void 0 && member.events.member) {
220
+ sentinel.setMembershipEvent(member.events.member, this);
221
+ }
222
+ this.sentinels[userId] = sentinel;
223
+ }
224
+ return sentinel;
225
+ }
226
+
227
+ /**
228
+ * Get state events from the state of the room.
229
+ * @param eventType - The event type of the state event.
230
+ * @returns A list of events
231
+ */
232
+
233
+ /**
234
+ * Get state events from the state of the room.
235
+ * @param eventType - The event type of the state event.
236
+ * @param stateKey - The state_key of the state event.
237
+ * @returns A single event (or null if no match found).
238
+ */
239
+
240
+ getStateEvents(eventType, stateKey) {
241
+ if (!this.events.has(eventType)) {
242
+ // no match
243
+ return stateKey === undefined ? [] : null;
244
+ }
245
+ if (stateKey === undefined) {
246
+ // return all values
247
+ return Array.from(this.events.get(eventType).values());
248
+ }
249
+ var event = this.events.get(eventType).get(stateKey);
250
+ return event ? event : null;
251
+ }
252
+ get hasLiveBeacons() {
253
+ var _this$liveBeaconIds;
254
+ return !!((_this$liveBeaconIds = this.liveBeaconIds) !== null && _this$liveBeaconIds !== void 0 && _this$liveBeaconIds.length);
255
+ }
256
+ get liveBeaconIds() {
257
+ return this._liveBeaconIds;
258
+ }
259
+
260
+ /**
261
+ * Creates a copy of this room state so that mutations to either won't affect the other.
262
+ * @returns the copy of the room state
263
+ */
264
+ clone() {
265
+ var copy = new RoomState(this.roomId, this.oobMemberFlags);
266
+
267
+ // Ugly hack: because setStateEvents will mark
268
+ // members as susperseding future out of bound members
269
+ // if loading is in progress (through oobMemberFlags)
270
+ // since these are not new members, we're merely copying them
271
+ // set the status to not started
272
+ // after copying, we set back the status
273
+ var status = this.oobMemberFlags.status;
274
+ this.oobMemberFlags.status = OobStatus.NotStarted;
275
+ Array.from(this.events.values()).forEach(eventsByStateKey => {
276
+ copy.setStateEvents(Array.from(eventsByStateKey.values()));
277
+ });
278
+
279
+ // Ugly hack: see above
280
+ this.oobMemberFlags.status = status;
281
+ if (this.summaryInvitedMemberCount !== null) {
282
+ copy.setInvitedMemberCount(this.getInvitedMemberCount());
283
+ }
284
+ if (this.summaryJoinedMemberCount !== null) {
285
+ copy.setJoinedMemberCount(this.getJoinedMemberCount());
286
+ }
287
+
288
+ // copy out of band flags if needed
289
+ if (this.oobMemberFlags.status == OobStatus.Finished) {
290
+ // copy markOutOfBand flags
291
+ this.getMembers().forEach(member => {
292
+ if (member.isOutOfBand()) {
293
+ var _copy$getMember;
294
+ (_copy$getMember = copy.getMember(member.userId)) === null || _copy$getMember === void 0 || _copy$getMember.markOutOfBand();
295
+ }
296
+ });
297
+ }
298
+ return copy;
299
+ }
300
+
301
+ /**
302
+ * Add previously unknown state events.
303
+ * When lazy loading members while back-paginating,
304
+ * the relevant room state for the timeline chunk at the end
305
+ * of the chunk can be set with this method.
306
+ * @param events - state events to prepend
307
+ */
308
+ setUnknownStateEvents(events) {
309
+ var unknownStateEvents = events.filter(event => {
310
+ return !this.events.has(event.getType()) || !this.events.get(event.getType()).has(event.getStateKey());
311
+ });
312
+ this.setStateEvents(unknownStateEvents);
313
+ }
314
+
315
+ /**
316
+ * Add an array of one or more state MatrixEvents, overwriting any existing
317
+ * state with the same `{type, stateKey}` tuple. Will fire "RoomState.events"
318
+ * for every event added. May fire "RoomState.members" if there are
319
+ * `m.room.member` events. May fire "RoomStateEvent.Marker" if there are
320
+ * `UNSTABLE_MSC2716_MARKER` events.
321
+ * @param stateEvents - a list of state events for this room.
322
+ *
323
+ * @remarks
324
+ * Fires {@link RoomStateEvent.Members}
325
+ * Fires {@link RoomStateEvent.NewMember}
326
+ * Fires {@link RoomStateEvent.Events}
327
+ * Fires {@link RoomStateEvent.Marker}
328
+ */
329
+ setStateEvents(stateEvents, options) {
330
+ this.updateModifiedTime();
331
+
332
+ // update the core event dict
333
+ stateEvents.forEach(event => {
334
+ var _lastStateEvent$event, _event$event$unsigned;
335
+ if (event.getRoomId() !== this.roomId || !event.isState()) return;
336
+ if (M_BEACON_INFO.matches(event.getType())) {
337
+ this.setBeacon(event);
338
+ }
339
+ 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
+ this.setStateEvent(event);
356
+ if (event.getType() === EventType.RoomMember) {
357
+ var _event$getContent$dis;
358
+ this.updateDisplayNameCache(event.getStateKey(), (_event$getContent$dis = event.getContent().displayname) !== null && _event$getContent$dis !== void 0 ? _event$getContent$dis : "");
359
+ this.updateThirdPartyTokenCache(event);
360
+ }
361
+ this.emit(RoomStateEvent.Events, event, this, lastStateEvent);
362
+ });
363
+ this.onBeaconLivenessChange();
364
+ // update higher level data structures. This needs to be done AFTER the
365
+ // core event dict as these structures may depend on other state events in
366
+ // the given array (e.g. disambiguating display names in one go to do both
367
+ // clashing names rather than progressively which only catches 1 of them).
368
+ stateEvents.forEach(event => {
369
+ if (event.getRoomId() !== this.roomId || !event.isState()) return;
370
+ if (event.getType() === EventType.RoomMember) {
371
+ var userId = event.getStateKey();
372
+
373
+ // leave events apparently elide the displayname or avatar_url,
374
+ // so let's fake one up so that we don't leak user ids
375
+ // into the timeline
376
+ if (event.getContent().membership === KnownMembership.Leave || event.getContent().membership === KnownMembership.Ban) {
377
+ event.getContent().avatar_url = event.getContent().avatar_url || event.getPrevContent().avatar_url;
378
+ event.getContent().displayname = event.getContent().displayname || event.getPrevContent().displayname;
379
+ }
380
+ var member = this.getOrCreateMember(userId, event);
381
+ member.setMembershipEvent(event, this);
382
+ this.updateMember(member);
383
+ this.emit(RoomStateEvent.Members, event, this, member);
384
+ } else if (event.getType() === EventType.RoomPowerLevels) {
385
+ // events with unknown state keys should be ignored
386
+ // and should not aggregate onto members power levels
387
+ if (event.getStateKey() !== "") {
388
+ return;
389
+ }
390
+ var members = Object.values(this.members);
391
+ members.forEach(member => {
392
+ // We only propagate `RoomState.members` event if the
393
+ // power levels has been changed
394
+ // large room suffer from large re-rendering especially when not needed
395
+ var oldLastModified = member.getLastModifiedTime();
396
+ member.setPowerLevelEvent(event);
397
+ if (oldLastModified !== member.getLastModifiedTime()) {
398
+ this.emit(RoomStateEvent.Members, event, this, member);
399
+ }
400
+ });
401
+
402
+ // assume all our sentinels are now out-of-date
403
+ this.sentinels = {};
404
+ } else if (UNSTABLE_MSC2716_MARKER.matches(event.getType())) {
405
+ this.emit(RoomStateEvent.Marker, event, options);
406
+ }
407
+ });
408
+ this.emit(RoomStateEvent.Update, this);
409
+ }
410
+ processBeaconEvents(events, matrixClient) {
411
+ var _this = this;
412
+ return _asyncToGenerator(function* () {
413
+ if (!events.length ||
414
+ // discard locations if we have no beacons
415
+ !_this.beacons.size) {
416
+ return;
417
+ }
418
+ var beaconByEventIdDict = [..._this.beacons.values()].reduce((dict, beacon) => {
419
+ dict[beacon.beaconInfoId] = beacon;
420
+ return dict;
421
+ }, {});
422
+ var processBeaconRelation = (beaconInfoEventId, event) => {
423
+ if (!M_BEACON.matches(event.getType())) {
424
+ return;
425
+ }
426
+ var beacon = beaconByEventIdDict[beaconInfoEventId];
427
+ if (beacon) {
428
+ beacon.addLocations([event]);
429
+ }
430
+ };
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
+ for (var event of events) {
455
+ _ret = yield* _loop(event);
456
+ if (_ret) return _ret.v;
457
+ }
458
+ })();
459
+ }
460
+
461
+ /**
462
+ * Looks up a member by the given userId, and if it doesn't exist,
463
+ * create it and emit the `RoomState.newMember` event.
464
+ * This method makes sure the member is added to the members dictionary
465
+ * before emitting, as this is done from setStateEvents and setOutOfBandMember.
466
+ * @param userId - the id of the user to look up
467
+ * @param event - the membership event for the (new) member. Used to emit.
468
+ * @returns the member, existing or newly created.
469
+ *
470
+ * @remarks
471
+ * Fires {@link RoomStateEvent.NewMember}
472
+ */
473
+ getOrCreateMember(userId, event) {
474
+ var member = this.members[userId];
475
+ if (!member) {
476
+ member = new RoomMember(this.roomId, userId);
477
+ // add member to members before emitting any events,
478
+ // as event handlers often lookup the member
479
+ this.members[userId] = member;
480
+ this.emit(RoomStateEvent.NewMember, event, this, member);
481
+ }
482
+ return member;
483
+ }
484
+ setStateEvent(event) {
485
+ if (!this.events.has(event.getType())) {
486
+ this.events.set(event.getType(), new Map());
487
+ }
488
+ this.events.get(event.getType()).set(event.getStateKey(), event);
489
+ }
490
+
491
+ /**
492
+ * @experimental
493
+ */
494
+ setBeacon(event) {
495
+ var beaconIdentifier = getBeaconInfoIdentifier(event);
496
+ if (this.beacons.has(beaconIdentifier)) {
497
+ var _beacon = this.beacons.get(beaconIdentifier);
498
+ if (event.isRedacted()) {
499
+ var _event$getRedactionEv;
500
+ if (_beacon.beaconInfoId === ((_event$getRedactionEv = event.getRedactionEvent()) === null || _event$getRedactionEv === void 0 ? void 0 : _event$getRedactionEv.redacts)) {
501
+ _beacon.destroy();
502
+ this.beacons.delete(beaconIdentifier);
503
+ }
504
+ return;
505
+ }
506
+ return _beacon.update(event);
507
+ }
508
+ if (event.isRedacted()) {
509
+ return;
510
+ }
511
+ var beacon = new Beacon(event);
512
+ this.reEmitter.reEmit(beacon, [BeaconEvent.New, BeaconEvent.Update, BeaconEvent.Destroy, BeaconEvent.LivenessChange]);
513
+ this.emit(BeaconEvent.New, event, beacon);
514
+ beacon.on(BeaconEvent.LivenessChange, this.onBeaconLivenessChange.bind(this));
515
+ beacon.on(BeaconEvent.Destroy, this.onBeaconLivenessChange.bind(this));
516
+ this.beacons.set(beacon.identifier, beacon);
517
+ }
518
+
519
+ /**
520
+ * @experimental
521
+ * Check liveness of room beacons
522
+ * emit RoomStateEvent.BeaconLiveness event
523
+ */
524
+ onBeaconLivenessChange() {
525
+ this._liveBeaconIds = Array.from(this.beacons.values()).filter(beacon => beacon.isLive).map(beacon => beacon.identifier);
526
+ this.emit(RoomStateEvent.BeaconLiveness, this, this.hasLiveBeacons);
527
+ }
528
+ getStateEventMatching(event) {
529
+ var _this$events$get$get, _this$events$get;
530
+ return (_this$events$get$get = (_this$events$get = this.events.get(event.getType())) === null || _this$events$get === void 0 ? void 0 : _this$events$get.get(event.getStateKey())) !== null && _this$events$get$get !== void 0 ? _this$events$get$get : null;
531
+ }
532
+ updateMember(member) {
533
+ // this member may have a power level already, so set it.
534
+ var pwrLvlEvent = this.getStateEvents(EventType.RoomPowerLevels, "");
535
+ if (pwrLvlEvent) {
536
+ member.setPowerLevelEvent(pwrLvlEvent);
537
+ }
538
+
539
+ // blow away the sentinel which is now outdated
540
+ delete this.sentinels[member.userId];
541
+ this.members[member.userId] = member;
542
+ this.joinedMemberCount = null;
543
+ this.invitedMemberCount = null;
544
+ }
545
+
546
+ /**
547
+ * Get the out-of-band members loading state, whether loading is needed or not.
548
+ * Note that loading might be in progress and hence isn't needed.
549
+ * @returns whether or not the members of this room need to be loaded
550
+ */
551
+ needsOutOfBandMembers() {
552
+ return this.oobMemberFlags.status === OobStatus.NotStarted;
553
+ }
554
+
555
+ /**
556
+ * Check if loading of out-of-band-members has completed
557
+ *
558
+ * @returns true if the full membership list of this room has been loaded. False if it is not started or is in
559
+ * progress.
560
+ */
561
+ outOfBandMembersReady() {
562
+ return this.oobMemberFlags.status === OobStatus.Finished;
563
+ }
564
+
565
+ /**
566
+ * Mark this room state as waiting for out-of-band members,
567
+ * ensuring it doesn't ask for them to be requested again
568
+ * through needsOutOfBandMembers
569
+ */
570
+ markOutOfBandMembersStarted() {
571
+ if (this.oobMemberFlags.status !== OobStatus.NotStarted) {
572
+ return;
573
+ }
574
+ this.oobMemberFlags.status = OobStatus.InProgress;
575
+ }
576
+
577
+ /**
578
+ * Mark this room state as having failed to fetch out-of-band members
579
+ */
580
+ markOutOfBandMembersFailed() {
581
+ if (this.oobMemberFlags.status !== OobStatus.InProgress) {
582
+ return;
583
+ }
584
+ this.oobMemberFlags.status = OobStatus.NotStarted;
585
+ }
586
+
587
+ /**
588
+ * Clears the loaded out-of-band members
589
+ */
590
+ clearOutOfBandMembers() {
591
+ var count = 0;
592
+ Object.keys(this.members).forEach(userId => {
593
+ var member = this.members[userId];
594
+ if (member.isOutOfBand()) {
595
+ ++count;
596
+ delete this.members[userId];
597
+ }
598
+ });
599
+ logger.log("LL: RoomState removed ".concat(count, " members..."));
600
+ this.oobMemberFlags.status = OobStatus.NotStarted;
601
+ }
602
+
603
+ /**
604
+ * Sets the loaded out-of-band members.
605
+ * @param stateEvents - array of membership state events
606
+ */
607
+ setOutOfBandMembers(stateEvents) {
608
+ logger.log("LL: RoomState about to set ".concat(stateEvents.length, " OOB members ..."));
609
+ if (this.oobMemberFlags.status !== OobStatus.InProgress) {
610
+ return;
611
+ }
612
+ logger.log("LL: RoomState put in finished state ...");
613
+ this.oobMemberFlags.status = OobStatus.Finished;
614
+ stateEvents.forEach(e => this.setOutOfBandMember(e));
615
+ this.emit(RoomStateEvent.Update, this);
616
+ }
617
+
618
+ /**
619
+ * Sets a single out of band member, used by both setOutOfBandMembers and clone
620
+ * @param stateEvent - membership state event
621
+ */
622
+ setOutOfBandMember(stateEvent) {
623
+ if (stateEvent.getType() !== EventType.RoomMember) {
624
+ return;
625
+ }
626
+ var userId = stateEvent.getStateKey();
627
+ var existingMember = this.getMember(userId);
628
+ // never replace members received as part of the sync
629
+ if (existingMember && !existingMember.isOutOfBand()) {
630
+ return;
631
+ }
632
+ var member = this.getOrCreateMember(userId, stateEvent);
633
+ member.setMembershipEvent(stateEvent, this);
634
+ // needed to know which members need to be stored seperately
635
+ // as they are not part of the sync accumulator
636
+ // this is cleared by setMembershipEvent so when it's updated through /sync
637
+ member.markOutOfBand();
638
+ this.updateDisplayNameCache(member.userId, member.name);
639
+ this.setStateEvent(stateEvent);
640
+ this.updateMember(member);
641
+ this.emit(RoomStateEvent.Members, stateEvent, this, member);
642
+ }
643
+
644
+ /**
645
+ * Set the current typing event for this room.
646
+ * @param event - The typing event
647
+ */
648
+ setTypingEvent(event) {
649
+ Object.values(this.members).forEach(function (member) {
650
+ member.setTypingEvent(event);
651
+ });
652
+ }
653
+
654
+ /**
655
+ * Get the m.room.member event which has the given third party invite token.
656
+ *
657
+ * @param token - The token
658
+ * @returns The m.room.member event or null
659
+ */
660
+ getInviteForThreePidToken(token) {
661
+ return this.tokenToInvite[token] || null;
662
+ }
663
+
664
+ /**
665
+ * Update the last modified time to the current time.
666
+ */
667
+ updateModifiedTime() {
668
+ this.modified = Date.now();
669
+ }
670
+
671
+ /**
672
+ * Get the timestamp when this room state was last updated. This timestamp is
673
+ * updated when this object has received new state events.
674
+ * @returns The timestamp
675
+ */
676
+ getLastModifiedTime() {
677
+ return this.modified;
678
+ }
679
+
680
+ /**
681
+ * Get user IDs with the specified or similar display names.
682
+ * @param displayName - The display name to get user IDs from.
683
+ * @returns An array of user IDs or an empty array.
684
+ */
685
+ getUserIdsWithDisplayName(displayName) {
686
+ var _this$displayNameToUs;
687
+ return (_this$displayNameToUs = this.displayNameToUserIds.get(removeHiddenChars(displayName))) !== null && _this$displayNameToUs !== void 0 ? _this$displayNameToUs : [];
688
+ }
689
+
690
+ /**
691
+ * Returns true if userId is in room, event is not redacted and either sender of
692
+ * mxEvent or has power level sufficient to redact events other than their own.
693
+ * @param mxEvent - The event to test permission for
694
+ * @param userId - The user ID of the user to test permission for
695
+ * @returns true if the given used ID can redact given event
696
+ */
697
+ maySendRedactionForEvent(mxEvent, userId) {
698
+ var member = this.getMember(userId);
699
+ if (!member || member.membership === KnownMembership.Leave) return false;
700
+ if (mxEvent.status || mxEvent.isRedacted()) return false;
701
+
702
+ // The user may have been the sender, but they can't redact their own message
703
+ // if redactions are blocked.
704
+ var canRedact = this.maySendEvent(EventType.RoomRedaction, userId);
705
+ if (!canRedact) return false;
706
+ if (mxEvent.getSender() === userId) return true;
707
+ return this.hasSufficientPowerLevelFor("redact", member.powerLevel);
708
+ }
709
+
710
+ /**
711
+ * Returns true if the given power level is sufficient for action
712
+ * @param action - The type of power level to check
713
+ * @param powerLevel - The power level of the member
714
+ * @returns true if the given power level is sufficient
715
+ */
716
+ hasSufficientPowerLevelFor(action, powerLevel) {
717
+ var powerLevelsEvent = this.getStateEvents(EventType.RoomPowerLevels, "");
718
+ var powerLevels = {};
719
+ if (powerLevelsEvent) {
720
+ powerLevels = powerLevelsEvent.getContent();
721
+ }
722
+ var requiredLevel = 50;
723
+ if (isNumber(powerLevels[action])) {
724
+ requiredLevel = powerLevels[action];
725
+ }
726
+ return powerLevel >= requiredLevel;
727
+ }
728
+
729
+ /**
730
+ * Short-form for maySendEvent('m.room.message', userId)
731
+ * @param userId - The user ID of the user to test permission for
732
+ * @returns true if the given user ID should be permitted to send
733
+ * message events into the given room.
734
+ */
735
+ maySendMessage(userId) {
736
+ return this.maySendEventOfType(EventType.RoomMessage, userId, false);
737
+ }
738
+
739
+ /**
740
+ * Returns true if the given user ID has permission to send a normal
741
+ * event of type `eventType` into this room.
742
+ * @param eventType - The type of event to test
743
+ * @param userId - The user ID of the user to test permission for
744
+ * @returns true if the given user ID should be permitted to send
745
+ * the given type of event into this room,
746
+ * according to the room's state.
747
+ */
748
+ maySendEvent(eventType, userId) {
749
+ return this.maySendEventOfType(eventType, userId, false);
750
+ }
751
+
752
+ /**
753
+ * Returns true if the given MatrixClient has permission to send a state
754
+ * event of type `stateEventType` into this room.
755
+ * @param stateEventType - The type of state events to test
756
+ * @param cli - The client to test permission for
757
+ * @returns true if the given client should be permitted to send
758
+ * the given type of state event into this room,
759
+ * according to the room's state.
760
+ */
761
+ mayClientSendStateEvent(stateEventType, cli) {
762
+ if (cli.isGuest() || !cli.credentials.userId) {
763
+ return false;
764
+ }
765
+ return this.maySendStateEvent(stateEventType, cli.credentials.userId);
766
+ }
767
+
768
+ /**
769
+ * Returns true if the given user ID has permission to send a state
770
+ * event of type `stateEventType` into this room.
771
+ * @param stateEventType - The type of state events to test
772
+ * @param userId - The user ID of the user to test permission for
773
+ * @returns true if the given user ID should be permitted to send
774
+ * the given type of state event into this room,
775
+ * according to the room's state.
776
+ */
777
+ maySendStateEvent(stateEventType, userId) {
778
+ return this.maySendEventOfType(stateEventType, userId, true);
779
+ }
780
+
781
+ /**
782
+ * Returns true if the given user ID has permission to send a normal or state
783
+ * event of type `eventType` into this room.
784
+ * @param eventType - The type of event to test
785
+ * @param userId - The user ID of the user to test permission for
786
+ * @param state - If true, tests if the user may send a state
787
+ event of this type. Otherwise tests whether
788
+ they may send a regular event.
789
+ * @returns true if the given user ID should be permitted to send
790
+ * the given type of event into this room,
791
+ * according to the room's state.
792
+ */
793
+ maySendEventOfType(eventType, userId, state) {
794
+ var powerLevelsEvent = this.getStateEvents(EventType.RoomPowerLevels, "");
795
+ var powerLevels;
796
+ var eventsLevels = {};
797
+ var stateDefault = 0;
798
+ var eventsDefault = 0;
799
+ var powerLevel = 0;
800
+ if (powerLevelsEvent) {
801
+ powerLevels = powerLevelsEvent.getContent();
802
+ eventsLevels = powerLevels.events || {};
803
+ if (Number.isSafeInteger(powerLevels.state_default)) {
804
+ stateDefault = powerLevels.state_default;
805
+ } else {
806
+ stateDefault = 50;
807
+ }
808
+ var userPowerLevel = powerLevels.users && powerLevels.users[userId];
809
+ if (Number.isSafeInteger(userPowerLevel)) {
810
+ powerLevel = userPowerLevel;
811
+ } else if (Number.isSafeInteger(powerLevels.users_default)) {
812
+ powerLevel = powerLevels.users_default;
813
+ }
814
+ if (Number.isSafeInteger(powerLevels.events_default)) {
815
+ eventsDefault = powerLevels.events_default;
816
+ }
817
+ }
818
+ var requiredLevel = state ? stateDefault : eventsDefault;
819
+ if (Number.isSafeInteger(eventsLevels[eventType])) {
820
+ requiredLevel = eventsLevels[eventType];
821
+ }
822
+ return powerLevel >= requiredLevel;
823
+ }
824
+
825
+ /**
826
+ * Returns true if the given user ID has permission to trigger notification
827
+ * of type `notifLevelKey`
828
+ * @param notifLevelKey - The level of notification to test (eg. 'room')
829
+ * @param userId - The user ID of the user to test permission for
830
+ * @returns true if the given user ID has permission to trigger a
831
+ * notification of this type.
832
+ */
833
+ mayTriggerNotifOfType(notifLevelKey, userId) {
834
+ var member = this.getMember(userId);
835
+ if (!member) {
836
+ return false;
837
+ }
838
+ var powerLevelsEvent = this.getStateEvents(EventType.RoomPowerLevels, "");
839
+ var notifLevel = 50;
840
+ if (powerLevelsEvent && powerLevelsEvent.getContent() && powerLevelsEvent.getContent().notifications && isNumber(powerLevelsEvent.getContent().notifications[notifLevelKey])) {
841
+ notifLevel = powerLevelsEvent.getContent().notifications[notifLevelKey];
842
+ }
843
+ return member.powerLevel >= notifLevel;
844
+ }
845
+
846
+ /**
847
+ * Returns the join rule based on the m.room.join_rule state event, defaulting to `invite`.
848
+ * @returns the join_rule applied to this room
849
+ */
850
+ getJoinRule() {
851
+ var _joinRuleEvent$getCon;
852
+ var joinRuleEvent = this.getStateEvents(EventType.RoomJoinRules, "");
853
+ var joinRuleContent = (_joinRuleEvent$getCon = joinRuleEvent === null || joinRuleEvent === void 0 ? void 0 : joinRuleEvent.getContent()) !== null && _joinRuleEvent$getCon !== void 0 ? _joinRuleEvent$getCon : {};
854
+ return joinRuleContent["join_rule"] || JoinRule.Invite;
855
+ }
856
+
857
+ /**
858
+ * Returns the history visibility based on the m.room.history_visibility state event, defaulting to `shared`.
859
+ * @returns the history_visibility applied to this room
860
+ */
861
+ getHistoryVisibility() {
862
+ var _historyVisibilityEve;
863
+ var historyVisibilityEvent = this.getStateEvents(EventType.RoomHistoryVisibility, "");
864
+ var historyVisibilityContent = (_historyVisibilityEve = historyVisibilityEvent === null || historyVisibilityEvent === void 0 ? void 0 : historyVisibilityEvent.getContent()) !== null && _historyVisibilityEve !== void 0 ? _historyVisibilityEve : {};
865
+ return historyVisibilityContent["history_visibility"] || HistoryVisibility.Shared;
866
+ }
867
+
868
+ /**
869
+ * Returns the guest access based on the m.room.guest_access state event, defaulting to `shared`.
870
+ * @returns the guest_access applied to this room
871
+ */
872
+ getGuestAccess() {
873
+ var _guestAccessEvent$get;
874
+ var guestAccessEvent = this.getStateEvents(EventType.RoomGuestAccess, "");
875
+ var guestAccessContent = (_guestAccessEvent$get = guestAccessEvent === null || guestAccessEvent === void 0 ? void 0 : guestAccessEvent.getContent()) !== null && _guestAccessEvent$get !== void 0 ? _guestAccessEvent$get : {};
876
+ return guestAccessContent["guest_access"] || GuestAccess.Forbidden;
877
+ }
878
+
879
+ /**
880
+ * Find the predecessor room based on this room state.
881
+ *
882
+ * @param msc3946ProcessDynamicPredecessor - if true, look for an
883
+ * m.room.predecessor state event and use it if found (MSC3946).
884
+ * @returns null if this room has no predecessor. Otherwise, returns
885
+ * the roomId, last eventId and viaServers of the predecessor room.
886
+ *
887
+ * If msc3946ProcessDynamicPredecessor is true, use m.predecessor events
888
+ * as well as m.room.create events to find predecessors.
889
+ *
890
+ * Note: if an m.predecessor event is used, eventId may be undefined
891
+ * since last_known_event_id is optional.
892
+ *
893
+ * Note: viaServers may be undefined, and will definitely be undefined if
894
+ * this predecessor comes from a RoomCreate event (rather than a
895
+ * RoomPredecessor, which has the optional via_servers property).
896
+ */
897
+ findPredecessor() {
898
+ var msc3946ProcessDynamicPredecessor = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
899
+ // Note: the tests for this function are against Room.findPredecessor,
900
+ // which just calls through to here.
901
+
902
+ if (msc3946ProcessDynamicPredecessor) {
903
+ var predecessorEvent = this.getStateEvents(EventType.RoomPredecessor, "");
904
+ if (predecessorEvent) {
905
+ var content = predecessorEvent.getContent();
906
+ var _roomId = content.predecessor_room_id;
907
+ var eventId = content.last_known_event_id;
908
+ if (typeof eventId !== "string") {
909
+ eventId = undefined;
910
+ }
911
+ var viaServers = content.via_servers;
912
+ if (!Array.isArray(viaServers)) {
913
+ viaServers = undefined;
914
+ }
915
+ if (typeof _roomId === "string") {
916
+ return {
917
+ roomId: _roomId,
918
+ eventId,
919
+ viaServers
920
+ };
921
+ }
922
+ }
923
+ }
924
+ var createEvent = this.getStateEvents(EventType.RoomCreate, "");
925
+ if (createEvent) {
926
+ var predecessor = createEvent.getContent()["predecessor"];
927
+ if (predecessor) {
928
+ var _roomId2 = predecessor["room_id"];
929
+ if (typeof _roomId2 === "string") {
930
+ var _eventId = predecessor["event_id"];
931
+ if (typeof _eventId !== "string" || _eventId === "") {
932
+ _eventId = undefined;
933
+ }
934
+ return {
935
+ roomId: _roomId2,
936
+ eventId: _eventId
937
+ };
938
+ }
939
+ }
940
+ }
941
+ return null;
942
+ }
943
+ updateThirdPartyTokenCache(memberEvent) {
944
+ if (!memberEvent.getContent().third_party_invite) {
945
+ return;
946
+ }
947
+ var token = (memberEvent.getContent().third_party_invite.signed || {}).token;
948
+ if (!token) {
949
+ return;
950
+ }
951
+ var threePidInvite = this.getStateEvents(EventType.RoomThirdPartyInvite, token);
952
+ if (!threePidInvite) {
953
+ return;
954
+ }
955
+ this.tokenToInvite[token] = memberEvent;
956
+ }
957
+ updateDisplayNameCache(userId, displayName) {
958
+ var oldName = this.userIdsToDisplayNames[userId];
959
+ delete this.userIdsToDisplayNames[userId];
960
+ if (oldName) {
961
+ // Remove the old name from the cache.
962
+ // We clobber the user_id > name lookup but the name -> [user_id] lookup
963
+ // means we need to remove that user ID from that array rather than nuking
964
+ // the lot.
965
+ var strippedOldName = removeHiddenChars(oldName);
966
+ var existingUserIds = this.displayNameToUserIds.get(strippedOldName);
967
+ if (existingUserIds) {
968
+ // remove this user ID from this array
969
+ var filteredUserIDs = existingUserIds.filter(id => id !== userId);
970
+ this.displayNameToUserIds.set(strippedOldName, filteredUserIDs);
971
+ }
972
+ }
973
+ this.userIdsToDisplayNames[userId] = displayName;
974
+ var strippedDisplayname = displayName && removeHiddenChars(displayName);
975
+ // an empty stripped displayname (undefined/'') will be set to MXID in room-member.js
976
+ if (strippedDisplayname) {
977
+ var _this$displayNameToUs2;
978
+ var arr = (_this$displayNameToUs2 = this.displayNameToUserIds.get(strippedDisplayname)) !== null && _this$displayNameToUs2 !== void 0 ? _this$displayNameToUs2 : [];
979
+ arr.push(userId);
980
+ this.displayNameToUserIds.set(strippedDisplayname, arr);
981
+ }
982
+ }
983
+ }
984
+ //# sourceMappingURL=room-state.js.map