@unwanted/matrix-sdk-mini 34.12.0 → 36.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (759) hide show
  1. package/git-revision.txt +1 -1
  2. package/lib/@types/event.d.ts +25 -19
  3. package/lib/@types/event.d.ts.map +1 -1
  4. package/lib/@types/event.js +5 -0
  5. package/lib/@types/event.js.map +1 -1
  6. package/lib/@types/global.d.js +0 -2
  7. package/lib/@types/global.d.js.map +1 -1
  8. package/lib/autodiscovery.d.ts +1 -1
  9. package/lib/autodiscovery.d.ts.map +1 -1
  10. package/lib/autodiscovery.js.map +1 -1
  11. package/lib/base64.d.ts +3 -6
  12. package/lib/base64.d.ts.map +1 -1
  13. package/lib/base64.js +43 -36
  14. package/lib/base64.js.map +1 -1
  15. package/lib/browser-index.d.ts.map +1 -1
  16. package/lib/browser-index.js +0 -11
  17. package/lib/browser-index.js.map +1 -1
  18. package/lib/client.d.ts +45 -1306
  19. package/lib/client.d.ts.map +1 -1
  20. package/lib/client.js +406 -2963
  21. package/lib/client.js.map +1 -1
  22. package/lib/digest.d.ts +2 -2
  23. package/lib/digest.d.ts.map +1 -1
  24. package/lib/digest.js +2 -2
  25. package/lib/digest.js.map +1 -1
  26. package/lib/embedded.d.ts +2 -23
  27. package/lib/embedded.d.ts.map +1 -1
  28. package/lib/embedded.js +82 -209
  29. package/lib/embedded.js.map +1 -1
  30. package/lib/event-mapper.d.ts.map +1 -1
  31. package/lib/event-mapper.js +0 -4
  32. package/lib/event-mapper.js.map +1 -1
  33. package/lib/feature.d.ts.map +1 -1
  34. package/lib/feature.js +2 -1
  35. package/lib/feature.js.map +1 -1
  36. package/lib/http-api/errors.d.ts +3 -3
  37. package/lib/http-api/errors.js +3 -3
  38. package/lib/http-api/errors.js.map +1 -1
  39. package/lib/http-api/utils.js +2 -2
  40. package/lib/http-api/utils.js.map +1 -1
  41. package/lib/matrix.d.ts +0 -25
  42. package/lib/matrix.d.ts.map +1 -1
  43. package/lib/matrix.js +1 -30
  44. package/lib/matrix.js.map +1 -1
  45. package/lib/models/MSC3089Branch.d.ts.map +1 -1
  46. package/lib/models/MSC3089Branch.js +0 -3
  47. package/lib/models/MSC3089Branch.js.map +1 -1
  48. package/lib/models/event-timeline-set.d.ts +6 -10
  49. package/lib/models/event-timeline-set.d.ts.map +1 -1
  50. package/lib/models/event-timeline-set.js +28 -36
  51. package/lib/models/event-timeline-set.js.map +1 -1
  52. package/lib/models/event-timeline.d.ts +7 -2
  53. package/lib/models/event-timeline.d.ts.map +1 -1
  54. package/lib/models/event-timeline.js +9 -30
  55. package/lib/models/event-timeline.js.map +1 -1
  56. package/lib/models/event.d.ts +12 -96
  57. package/lib/models/event.d.ts.map +1 -1
  58. package/lib/models/event.js +59 -286
  59. package/lib/models/event.js.map +1 -1
  60. package/lib/models/invites-ignorer-types.d.ts +27 -0
  61. package/lib/models/invites-ignorer-types.d.ts.map +1 -0
  62. package/lib/models/invites-ignorer-types.js +36 -0
  63. package/lib/models/invites-ignorer-types.js.map +1 -0
  64. package/lib/models/invites-ignorer.d.ts +2 -26
  65. package/lib/models/invites-ignorer.d.ts.map +1 -1
  66. package/lib/models/invites-ignorer.js +2 -27
  67. package/lib/models/invites-ignorer.js.map +1 -1
  68. package/lib/models/poll.d.ts.map +1 -1
  69. package/lib/models/poll.js +1 -5
  70. package/lib/models/poll.js.map +1 -1
  71. package/lib/models/relations-container.d.ts.map +1 -1
  72. package/lib/models/relations-container.js +1 -7
  73. package/lib/models/relations-container.js.map +1 -1
  74. package/lib/models/relations.d.ts +0 -1
  75. package/lib/models/relations.d.ts.map +1 -1
  76. package/lib/models/relations.js +0 -8
  77. package/lib/models/relations.js.map +1 -1
  78. package/lib/models/room-member.d.ts +6 -1
  79. package/lib/models/room-member.d.ts.map +1 -1
  80. package/lib/models/room-member.js +7 -1
  81. package/lib/models/room-member.js.map +1 -1
  82. package/lib/models/room-state.d.ts +2 -13
  83. package/lib/models/room-state.d.ts.map +1 -1
  84. package/lib/models/room-state.js +12 -56
  85. package/lib/models/room-state.js.map +1 -1
  86. package/lib/models/room.d.ts +8 -21
  87. package/lib/models/room.d.ts.map +1 -1
  88. package/lib/models/room.js +128 -163
  89. package/lib/models/room.js.map +1 -1
  90. package/lib/models/thread.d.ts.map +1 -1
  91. package/lib/models/thread.js +5 -4
  92. package/lib/models/thread.js.map +1 -1
  93. package/lib/oidc/authorize.d.ts +2 -2
  94. package/lib/oidc/authorize.d.ts.map +1 -1
  95. package/lib/oidc/authorize.js +5 -5
  96. package/lib/oidc/authorize.js.map +1 -1
  97. package/lib/oidc/discovery.d.ts +8 -0
  98. package/lib/oidc/discovery.d.ts.map +1 -1
  99. package/lib/oidc/discovery.js +22 -11
  100. package/lib/oidc/discovery.js.map +1 -1
  101. package/lib/oidc/index.d.ts +3 -4
  102. package/lib/oidc/index.d.ts.map +1 -1
  103. package/lib/oidc/index.js.map +1 -1
  104. package/lib/oidc/register.js +3 -3
  105. package/lib/oidc/register.js.map +1 -1
  106. package/lib/oidc/tokenRefresher.d.ts.map +1 -1
  107. package/lib/oidc/tokenRefresher.js +6 -5
  108. package/lib/oidc/tokenRefresher.js.map +1 -1
  109. package/lib/oidc/validate.d.ts +9 -23
  110. package/lib/oidc/validate.d.ts.map +1 -1
  111. package/lib/oidc/validate.js +13 -28
  112. package/lib/oidc/validate.js.map +1 -1
  113. package/lib/randomstring.d.ts +30 -3
  114. package/lib/randomstring.d.ts.map +1 -1
  115. package/lib/randomstring.js +68 -16
  116. package/lib/randomstring.js.map +1 -1
  117. package/lib/sliding-sync-sdk.d.ts +3 -4
  118. package/lib/sliding-sync-sdk.d.ts.map +1 -1
  119. package/lib/sliding-sync-sdk.js +55 -102
  120. package/lib/sliding-sync-sdk.js.map +1 -1
  121. package/lib/sliding-sync.js +9 -6
  122. package/lib/sliding-sync.js.map +1 -1
  123. package/lib/store/indexeddb-local-backend.js +4 -2
  124. package/lib/store/indexeddb-local-backend.js.map +1 -1
  125. package/lib/store/indexeddb.d.ts +1 -1
  126. package/lib/store/indexeddb.d.ts.map +1 -1
  127. package/lib/store/indexeddb.js.map +1 -1
  128. package/lib/sync-accumulator.d.ts +6 -4
  129. package/lib/sync-accumulator.d.ts.map +1 -1
  130. package/lib/sync-accumulator.js +23 -12
  131. package/lib/sync-accumulator.js.map +1 -1
  132. package/lib/sync.d.ts +10 -13
  133. package/lib/sync.d.ts.map +1 -1
  134. package/lib/sync.js +94 -115
  135. package/lib/sync.js.map +1 -1
  136. package/lib/testing.d.ts +13 -44
  137. package/lib/testing.d.ts.map +1 -1
  138. package/lib/testing.js +36 -99
  139. package/lib/testing.js.map +1 -1
  140. package/lib/types.d.ts +0 -1
  141. package/lib/types.d.ts.map +1 -1
  142. package/lib/types.js.map +1 -1
  143. package/package.json +14 -15
  144. package/src/@types/event.ts +19 -36
  145. package/src/@types/global.d.ts +21 -4
  146. package/src/autodiscovery.ts +1 -1
  147. package/src/base64.ts +38 -40
  148. package/src/browser-index.ts +0 -11
  149. package/src/client.ts +175 -3136
  150. package/src/digest.ts +3 -3
  151. package/src/embedded.ts +43 -149
  152. package/src/event-mapper.ts +0 -4
  153. package/src/feature.ts +1 -0
  154. package/src/http-api/errors.ts +3 -3
  155. package/src/http-api/utils.ts +2 -2
  156. package/src/matrix.ts +0 -41
  157. package/src/models/MSC3089Branch.ts +0 -3
  158. package/src/models/event-timeline-set.ts +17 -38
  159. package/src/models/event-timeline.ts +11 -26
  160. package/src/models/event.ts +54 -295
  161. package/src/models/invites-ignorer-types.ts +48 -0
  162. package/src/models/invites-ignorer.ts +7 -42
  163. package/src/models/poll.ts +0 -6
  164. package/src/models/relations-container.ts +1 -8
  165. package/src/models/relations.ts +0 -8
  166. package/src/models/room-member.ts +16 -1
  167. package/src/models/room-state.ts +4 -37
  168. package/src/models/room.ts +34 -69
  169. package/src/models/thread.ts +4 -3
  170. package/src/oidc/authorize.ts +7 -7
  171. package/src/oidc/discovery.ts +16 -10
  172. package/src/oidc/index.ts +3 -4
  173. package/src/oidc/register.ts +3 -3
  174. package/src/oidc/tokenRefresher.ts +3 -2
  175. package/src/oidc/validate.ts +40 -63
  176. package/src/randomstring.ts +65 -19
  177. package/src/sliding-sync-sdk.ts +10 -83
  178. package/src/sliding-sync.ts +6 -6
  179. package/src/store/indexeddb-local-backend.ts +2 -2
  180. package/src/store/indexeddb.ts +1 -1
  181. package/src/sync-accumulator.ts +33 -16
  182. package/src/sync.ts +112 -143
  183. package/src/testing.ts +36 -103
  184. package/src/types.ts +0 -1
  185. package/CHANGELOG.md +0 -5910
  186. package/lib/@types/AESEncryptedSecretStoragePayload.d.ts +0 -14
  187. package/lib/@types/AESEncryptedSecretStoragePayload.d.ts.map +0 -1
  188. package/lib/@types/AESEncryptedSecretStoragePayload.js +0 -1
  189. package/lib/@types/AESEncryptedSecretStoragePayload.js.map +0 -1
  190. package/lib/@types/crypto.d.ts +0 -47
  191. package/lib/@types/crypto.d.ts.map +0 -1
  192. package/lib/@types/crypto.js +0 -1
  193. package/lib/@types/crypto.js.map +0 -1
  194. package/lib/@types/matrix-sdk-crypto-wasm.d.js +0 -1
  195. package/lib/@types/matrix-sdk-crypto-wasm.d.js.map +0 -1
  196. package/lib/common-crypto/CryptoBackend.d.ts +0 -240
  197. package/lib/common-crypto/CryptoBackend.d.ts.map +0 -1
  198. package/lib/common-crypto/CryptoBackend.js +0 -73
  199. package/lib/common-crypto/CryptoBackend.js.map +0 -1
  200. package/lib/common-crypto/key-passphrase.d.ts +0 -14
  201. package/lib/common-crypto/key-passphrase.d.ts.map +0 -1
  202. package/lib/common-crypto/key-passphrase.js +0 -33
  203. package/lib/common-crypto/key-passphrase.js.map +0 -1
  204. package/lib/crypto/CrossSigning.d.ts +0 -184
  205. package/lib/crypto/CrossSigning.d.ts.map +0 -1
  206. package/lib/crypto/CrossSigning.js +0 -718
  207. package/lib/crypto/CrossSigning.js.map +0 -1
  208. package/lib/crypto/DeviceList.d.ts +0 -216
  209. package/lib/crypto/DeviceList.d.ts.map +0 -1
  210. package/lib/crypto/DeviceList.js +0 -892
  211. package/lib/crypto/DeviceList.js.map +0 -1
  212. package/lib/crypto/EncryptionSetup.d.ts +0 -152
  213. package/lib/crypto/EncryptionSetup.d.ts.map +0 -1
  214. package/lib/crypto/EncryptionSetup.js +0 -356
  215. package/lib/crypto/EncryptionSetup.js.map +0 -1
  216. package/lib/crypto/OlmDevice.d.ts +0 -457
  217. package/lib/crypto/OlmDevice.d.ts.map +0 -1
  218. package/lib/crypto/OlmDevice.js +0 -1241
  219. package/lib/crypto/OlmDevice.js.map +0 -1
  220. package/lib/crypto/OutgoingRoomKeyRequestManager.d.ts +0 -109
  221. package/lib/crypto/OutgoingRoomKeyRequestManager.d.ts.map +0 -1
  222. package/lib/crypto/OutgoingRoomKeyRequestManager.js +0 -415
  223. package/lib/crypto/OutgoingRoomKeyRequestManager.js.map +0 -1
  224. package/lib/crypto/RoomList.d.ts +0 -26
  225. package/lib/crypto/RoomList.d.ts.map +0 -1
  226. package/lib/crypto/RoomList.js +0 -71
  227. package/lib/crypto/RoomList.js.map +0 -1
  228. package/lib/crypto/SecretSharing.d.ts +0 -24
  229. package/lib/crypto/SecretSharing.d.ts.map +0 -1
  230. package/lib/crypto/SecretSharing.js +0 -194
  231. package/lib/crypto/SecretSharing.js.map +0 -1
  232. package/lib/crypto/SecretStorage.d.ts +0 -55
  233. package/lib/crypto/SecretStorage.d.ts.map +0 -1
  234. package/lib/crypto/SecretStorage.js +0 -118
  235. package/lib/crypto/SecretStorage.js.map +0 -1
  236. package/lib/crypto/aes.d.ts +0 -6
  237. package/lib/crypto/aes.d.ts.map +0 -1
  238. package/lib/crypto/aes.js +0 -24
  239. package/lib/crypto/aes.js.map +0 -1
  240. package/lib/crypto/algorithms/base.d.ts +0 -156
  241. package/lib/crypto/algorithms/base.d.ts.map +0 -1
  242. package/lib/crypto/algorithms/base.js +0 -187
  243. package/lib/crypto/algorithms/base.js.map +0 -1
  244. package/lib/crypto/algorithms/index.d.ts +0 -4
  245. package/lib/crypto/algorithms/index.d.ts.map +0 -1
  246. package/lib/crypto/algorithms/index.js +0 -20
  247. package/lib/crypto/algorithms/index.js.map +0 -1
  248. package/lib/crypto/algorithms/megolm.d.ts +0 -385
  249. package/lib/crypto/algorithms/megolm.d.ts.map +0 -1
  250. package/lib/crypto/algorithms/megolm.js +0 -1822
  251. package/lib/crypto/algorithms/megolm.js.map +0 -1
  252. package/lib/crypto/algorithms/olm.d.ts +0 -5
  253. package/lib/crypto/algorithms/olm.d.ts.map +0 -1
  254. package/lib/crypto/algorithms/olm.js +0 -299
  255. package/lib/crypto/algorithms/olm.js.map +0 -1
  256. package/lib/crypto/api.d.ts +0 -32
  257. package/lib/crypto/api.d.ts.map +0 -1
  258. package/lib/crypto/api.js +0 -22
  259. package/lib/crypto/api.js.map +0 -1
  260. package/lib/crypto/backup.d.ts +0 -227
  261. package/lib/crypto/backup.d.ts.map +0 -1
  262. package/lib/crypto/backup.js +0 -824
  263. package/lib/crypto/backup.js.map +0 -1
  264. package/lib/crypto/crypto.d.ts +0 -3
  265. package/lib/crypto/crypto.d.ts.map +0 -1
  266. package/lib/crypto/crypto.js +0 -19
  267. package/lib/crypto/crypto.js.map +0 -1
  268. package/lib/crypto/dehydration.d.ts +0 -34
  269. package/lib/crypto/dehydration.d.ts.map +0 -1
  270. package/lib/crypto/dehydration.js +0 -252
  271. package/lib/crypto/dehydration.js.map +0 -1
  272. package/lib/crypto/device-converter.d.ts +0 -9
  273. package/lib/crypto/device-converter.d.ts.map +0 -1
  274. package/lib/crypto/device-converter.js +0 -42
  275. package/lib/crypto/device-converter.js.map +0 -1
  276. package/lib/crypto/deviceinfo.d.ts +0 -99
  277. package/lib/crypto/deviceinfo.d.ts.map +0 -1
  278. package/lib/crypto/deviceinfo.js +0 -148
  279. package/lib/crypto/deviceinfo.js.map +0 -1
  280. package/lib/crypto/index.d.ts +0 -1210
  281. package/lib/crypto/index.d.ts.map +0 -1
  282. package/lib/crypto/index.js +0 -4101
  283. package/lib/crypto/index.js.map +0 -1
  284. package/lib/crypto/key_passphrase.d.ts +0 -14
  285. package/lib/crypto/key_passphrase.d.ts.map +0 -1
  286. package/lib/crypto/key_passphrase.js +0 -44
  287. package/lib/crypto/key_passphrase.js.map +0 -1
  288. package/lib/crypto/keybackup.d.ts +0 -18
  289. package/lib/crypto/keybackup.d.ts.map +0 -1
  290. package/lib/crypto/keybackup.js +0 -1
  291. package/lib/crypto/keybackup.js.map +0 -1
  292. package/lib/crypto/olmlib.d.ts +0 -129
  293. package/lib/crypto/olmlib.d.ts.map +0 -1
  294. package/lib/crypto/olmlib.js +0 -492
  295. package/lib/crypto/olmlib.js.map +0 -1
  296. package/lib/crypto/recoverykey.d.ts +0 -2
  297. package/lib/crypto/recoverykey.d.ts.map +0 -1
  298. package/lib/crypto/recoverykey.js +0 -19
  299. package/lib/crypto/recoverykey.js.map +0 -1
  300. package/lib/crypto/store/base.d.ts +0 -252
  301. package/lib/crypto/store/base.d.ts.map +0 -1
  302. package/lib/crypto/store/base.js +0 -64
  303. package/lib/crypto/store/base.js.map +0 -1
  304. package/lib/crypto/store/indexeddb-crypto-store-backend.d.ts +0 -187
  305. package/lib/crypto/store/indexeddb-crypto-store-backend.d.ts.map +0 -1
  306. package/lib/crypto/store/indexeddb-crypto-store-backend.js +0 -1145
  307. package/lib/crypto/store/indexeddb-crypto-store-backend.js.map +0 -1
  308. package/lib/crypto/store/indexeddb-crypto-store.d.ts +0 -432
  309. package/lib/crypto/store/indexeddb-crypto-store.d.ts.map +0 -1
  310. package/lib/crypto/store/indexeddb-crypto-store.js +0 -728
  311. package/lib/crypto/store/indexeddb-crypto-store.js.map +0 -1
  312. package/lib/crypto/store/localStorage-crypto-store.d.ts +0 -119
  313. package/lib/crypto/store/localStorage-crypto-store.d.ts.map +0 -1
  314. package/lib/crypto/store/localStorage-crypto-store.js +0 -531
  315. package/lib/crypto/store/localStorage-crypto-store.js.map +0 -1
  316. package/lib/crypto/store/memory-crypto-store.d.ts +0 -215
  317. package/lib/crypto/store/memory-crypto-store.d.ts.map +0 -1
  318. package/lib/crypto/store/memory-crypto-store.js +0 -622
  319. package/lib/crypto/store/memory-crypto-store.js.map +0 -1
  320. package/lib/crypto/verification/Base.d.ts +0 -105
  321. package/lib/crypto/verification/Base.d.ts.map +0 -1
  322. package/lib/crypto/verification/Base.js +0 -372
  323. package/lib/crypto/verification/Base.js.map +0 -1
  324. package/lib/crypto/verification/Error.d.ts +0 -35
  325. package/lib/crypto/verification/Error.d.ts.map +0 -1
  326. package/lib/crypto/verification/Error.js +0 -86
  327. package/lib/crypto/verification/Error.js.map +0 -1
  328. package/lib/crypto/verification/IllegalMethod.d.ts +0 -15
  329. package/lib/crypto/verification/IllegalMethod.d.ts.map +0 -1
  330. package/lib/crypto/verification/IllegalMethod.js +0 -43
  331. package/lib/crypto/verification/IllegalMethod.js.map +0 -1
  332. package/lib/crypto/verification/QRCode.d.ts +0 -51
  333. package/lib/crypto/verification/QRCode.d.ts.map +0 -1
  334. package/lib/crypto/verification/QRCode.js +0 -277
  335. package/lib/crypto/verification/QRCode.js.map +0 -1
  336. package/lib/crypto/verification/SAS.d.ts +0 -27
  337. package/lib/crypto/verification/SAS.d.ts.map +0 -1
  338. package/lib/crypto/verification/SAS.js +0 -485
  339. package/lib/crypto/verification/SAS.js.map +0 -1
  340. package/lib/crypto/verification/SASDecimal.d.ts +0 -8
  341. package/lib/crypto/verification/SASDecimal.d.ts.map +0 -1
  342. package/lib/crypto/verification/SASDecimal.js +0 -34
  343. package/lib/crypto/verification/SASDecimal.js.map +0 -1
  344. package/lib/crypto/verification/request/Channel.d.ts +0 -18
  345. package/lib/crypto/verification/request/Channel.d.ts.map +0 -1
  346. package/lib/crypto/verification/request/Channel.js +0 -1
  347. package/lib/crypto/verification/request/Channel.js.map +0 -1
  348. package/lib/crypto/verification/request/InRoomChannel.d.ts +0 -113
  349. package/lib/crypto/verification/request/InRoomChannel.d.ts.map +0 -1
  350. package/lib/crypto/verification/request/InRoomChannel.js +0 -351
  351. package/lib/crypto/verification/request/InRoomChannel.js.map +0 -1
  352. package/lib/crypto/verification/request/ToDeviceChannel.d.ts +0 -105
  353. package/lib/crypto/verification/request/ToDeviceChannel.d.ts.map +0 -1
  354. package/lib/crypto/verification/request/ToDeviceChannel.js +0 -328
  355. package/lib/crypto/verification/request/ToDeviceChannel.js.map +0 -1
  356. package/lib/crypto/verification/request/VerificationRequest.d.ts +0 -227
  357. package/lib/crypto/verification/request/VerificationRequest.d.ts.map +0 -1
  358. package/lib/crypto/verification/request/VerificationRequest.js +0 -937
  359. package/lib/crypto/verification/request/VerificationRequest.js.map +0 -1
  360. package/lib/crypto-api/CryptoEvent.d.ts +0 -69
  361. package/lib/crypto-api/CryptoEvent.d.ts.map +0 -1
  362. package/lib/crypto-api/CryptoEvent.js +0 -33
  363. package/lib/crypto-api/CryptoEvent.js.map +0 -1
  364. package/lib/crypto-api/CryptoEventHandlerMap.d.ts +0 -16
  365. package/lib/crypto-api/CryptoEventHandlerMap.d.ts.map +0 -1
  366. package/lib/crypto-api/CryptoEventHandlerMap.js +0 -22
  367. package/lib/crypto-api/CryptoEventHandlerMap.js.map +0 -1
  368. package/lib/crypto-api/index.d.ts +0 -978
  369. package/lib/crypto-api/index.d.ts.map +0 -1
  370. package/lib/crypto-api/index.js +0 -304
  371. package/lib/crypto-api/index.js.map +0 -1
  372. package/lib/crypto-api/key-passphrase.d.ts +0 -11
  373. package/lib/crypto-api/key-passphrase.d.ts.map +0 -1
  374. package/lib/crypto-api/key-passphrase.js +0 -51
  375. package/lib/crypto-api/key-passphrase.js.map +0 -1
  376. package/lib/crypto-api/keybackup.d.ts +0 -88
  377. package/lib/crypto-api/keybackup.d.ts.map +0 -1
  378. package/lib/crypto-api/keybackup.js +0 -1
  379. package/lib/crypto-api/keybackup.js.map +0 -1
  380. package/lib/crypto-api/recovery-key.d.ts +0 -11
  381. package/lib/crypto-api/recovery-key.d.ts.map +0 -1
  382. package/lib/crypto-api/recovery-key.js +0 -65
  383. package/lib/crypto-api/recovery-key.js.map +0 -1
  384. package/lib/crypto-api/verification.d.ts +0 -344
  385. package/lib/crypto-api/verification.d.ts.map +0 -1
  386. package/lib/crypto-api/verification.js +0 -91
  387. package/lib/crypto-api/verification.js.map +0 -1
  388. package/lib/matrixrtc/CallMembership.d.ts +0 -66
  389. package/lib/matrixrtc/CallMembership.d.ts.map +0 -1
  390. package/lib/matrixrtc/CallMembership.js +0 -197
  391. package/lib/matrixrtc/CallMembership.js.map +0 -1
  392. package/lib/matrixrtc/LivekitFocus.d.ts +0 -16
  393. package/lib/matrixrtc/LivekitFocus.d.ts.map +0 -1
  394. package/lib/matrixrtc/LivekitFocus.js +0 -20
  395. package/lib/matrixrtc/LivekitFocus.js.map +0 -1
  396. package/lib/matrixrtc/MatrixRTCSession.d.ts +0 -295
  397. package/lib/matrixrtc/MatrixRTCSession.d.ts.map +0 -1
  398. package/lib/matrixrtc/MatrixRTCSession.js +0 -1043
  399. package/lib/matrixrtc/MatrixRTCSession.js.map +0 -1
  400. package/lib/matrixrtc/MatrixRTCSessionManager.d.ts +0 -40
  401. package/lib/matrixrtc/MatrixRTCSessionManager.d.ts.map +0 -1
  402. package/lib/matrixrtc/MatrixRTCSessionManager.js +0 -146
  403. package/lib/matrixrtc/MatrixRTCSessionManager.js.map +0 -1
  404. package/lib/matrixrtc/focus.d.ts +0 -10
  405. package/lib/matrixrtc/focus.d.ts.map +0 -1
  406. package/lib/matrixrtc/focus.js +0 -1
  407. package/lib/matrixrtc/focus.js.map +0 -1
  408. package/lib/matrixrtc/index.d.ts +0 -7
  409. package/lib/matrixrtc/index.d.ts.map +0 -1
  410. package/lib/matrixrtc/index.js +0 -21
  411. package/lib/matrixrtc/index.js.map +0 -1
  412. package/lib/matrixrtc/types.d.ts +0 -19
  413. package/lib/matrixrtc/types.d.ts.map +0 -1
  414. package/lib/matrixrtc/types.js +0 -1
  415. package/lib/matrixrtc/types.js.map +0 -1
  416. package/lib/rendezvous/MSC4108SignInWithQR.d.ts +0 -112
  417. package/lib/rendezvous/MSC4108SignInWithQR.d.ts.map +0 -1
  418. package/lib/rendezvous/MSC4108SignInWithQR.js +0 -392
  419. package/lib/rendezvous/MSC4108SignInWithQR.js.map +0 -1
  420. package/lib/rendezvous/RendezvousChannel.d.ts +0 -27
  421. package/lib/rendezvous/RendezvousChannel.d.ts.map +0 -1
  422. package/lib/rendezvous/RendezvousChannel.js +0 -1
  423. package/lib/rendezvous/RendezvousChannel.js.map +0 -1
  424. package/lib/rendezvous/RendezvousCode.d.ts +0 -9
  425. package/lib/rendezvous/RendezvousCode.d.ts.map +0 -1
  426. package/lib/rendezvous/RendezvousCode.js +0 -1
  427. package/lib/rendezvous/RendezvousCode.js.map +0 -1
  428. package/lib/rendezvous/RendezvousError.d.ts +0 -6
  429. package/lib/rendezvous/RendezvousError.d.ts.map +0 -1
  430. package/lib/rendezvous/RendezvousError.js +0 -23
  431. package/lib/rendezvous/RendezvousError.js.map +0 -1
  432. package/lib/rendezvous/RendezvousFailureReason.d.ts +0 -31
  433. package/lib/rendezvous/RendezvousFailureReason.d.ts.map +0 -1
  434. package/lib/rendezvous/RendezvousFailureReason.js +0 -38
  435. package/lib/rendezvous/RendezvousFailureReason.js.map +0 -1
  436. package/lib/rendezvous/RendezvousIntent.d.ts +0 -5
  437. package/lib/rendezvous/RendezvousIntent.d.ts.map +0 -1
  438. package/lib/rendezvous/RendezvousIntent.js +0 -22
  439. package/lib/rendezvous/RendezvousIntent.js.map +0 -1
  440. package/lib/rendezvous/RendezvousTransport.d.ts +0 -36
  441. package/lib/rendezvous/RendezvousTransport.d.ts.map +0 -1
  442. package/lib/rendezvous/RendezvousTransport.js +0 -1
  443. package/lib/rendezvous/RendezvousTransport.js.map +0 -1
  444. package/lib/rendezvous/channels/MSC4108SecureChannel.d.ts +0 -58
  445. package/lib/rendezvous/channels/MSC4108SecureChannel.d.ts.map +0 -1
  446. package/lib/rendezvous/channels/MSC4108SecureChannel.js +0 -246
  447. package/lib/rendezvous/channels/MSC4108SecureChannel.js.map +0 -1
  448. package/lib/rendezvous/channels/index.d.ts +0 -2
  449. package/lib/rendezvous/channels/index.d.ts.map +0 -1
  450. package/lib/rendezvous/channels/index.js +0 -18
  451. package/lib/rendezvous/channels/index.js.map +0 -1
  452. package/lib/rendezvous/index.d.ts +0 -10
  453. package/lib/rendezvous/index.d.ts.map +0 -1
  454. package/lib/rendezvous/index.js +0 -23
  455. package/lib/rendezvous/index.js.map +0 -1
  456. package/lib/rendezvous/transports/MSC4108RendezvousSession.d.ts +0 -61
  457. package/lib/rendezvous/transports/MSC4108RendezvousSession.d.ts.map +0 -1
  458. package/lib/rendezvous/transports/MSC4108RendezvousSession.js +0 -253
  459. package/lib/rendezvous/transports/MSC4108RendezvousSession.js.map +0 -1
  460. package/lib/rendezvous/transports/index.d.ts +0 -2
  461. package/lib/rendezvous/transports/index.d.ts.map +0 -1
  462. package/lib/rendezvous/transports/index.js +0 -18
  463. package/lib/rendezvous/transports/index.js.map +0 -1
  464. package/lib/rust-crypto/CrossSigningIdentity.d.ts +0 -33
  465. package/lib/rust-crypto/CrossSigningIdentity.d.ts.map +0 -1
  466. package/lib/rust-crypto/CrossSigningIdentity.js +0 -157
  467. package/lib/rust-crypto/CrossSigningIdentity.js.map +0 -1
  468. package/lib/rust-crypto/DehydratedDeviceManager.d.ts +0 -98
  469. package/lib/rust-crypto/DehydratedDeviceManager.d.ts.map +0 -1
  470. package/lib/rust-crypto/DehydratedDeviceManager.js +0 -285
  471. package/lib/rust-crypto/DehydratedDeviceManager.js.map +0 -1
  472. package/lib/rust-crypto/KeyClaimManager.d.ts +0 -33
  473. package/lib/rust-crypto/KeyClaimManager.d.ts.map +0 -1
  474. package/lib/rust-crypto/KeyClaimManager.js +0 -82
  475. package/lib/rust-crypto/KeyClaimManager.js.map +0 -1
  476. package/lib/rust-crypto/OutgoingRequestProcessor.d.ts +0 -43
  477. package/lib/rust-crypto/OutgoingRequestProcessor.d.ts.map +0 -1
  478. package/lib/rust-crypto/OutgoingRequestProcessor.js +0 -195
  479. package/lib/rust-crypto/OutgoingRequestProcessor.js.map +0 -1
  480. package/lib/rust-crypto/OutgoingRequestsManager.d.ts +0 -47
  481. package/lib/rust-crypto/OutgoingRequestsManager.d.ts.map +0 -1
  482. package/lib/rust-crypto/OutgoingRequestsManager.js +0 -148
  483. package/lib/rust-crypto/OutgoingRequestsManager.js.map +0 -1
  484. package/lib/rust-crypto/PerSessionKeyBackupDownloader.d.ts +0 -120
  485. package/lib/rust-crypto/PerSessionKeyBackupDownloader.d.ts.map +0 -1
  486. package/lib/rust-crypto/PerSessionKeyBackupDownloader.js +0 -467
  487. package/lib/rust-crypto/PerSessionKeyBackupDownloader.js.map +0 -1
  488. package/lib/rust-crypto/RoomEncryptor.d.ts +0 -98
  489. package/lib/rust-crypto/RoomEncryptor.d.ts.map +0 -1
  490. package/lib/rust-crypto/RoomEncryptor.js +0 -299
  491. package/lib/rust-crypto/RoomEncryptor.js.map +0 -1
  492. package/lib/rust-crypto/backup.d.ts +0 -254
  493. package/lib/rust-crypto/backup.d.ts.map +0 -1
  494. package/lib/rust-crypto/backup.js +0 -837
  495. package/lib/rust-crypto/backup.js.map +0 -1
  496. package/lib/rust-crypto/constants.d.ts +0 -3
  497. package/lib/rust-crypto/constants.d.ts.map +0 -1
  498. package/lib/rust-crypto/constants.js +0 -19
  499. package/lib/rust-crypto/constants.js.map +0 -1
  500. package/lib/rust-crypto/device-converter.d.ts +0 -28
  501. package/lib/rust-crypto/device-converter.d.ts.map +0 -1
  502. package/lib/rust-crypto/device-converter.js +0 -123
  503. package/lib/rust-crypto/device-converter.js.map +0 -1
  504. package/lib/rust-crypto/index.d.ts +0 -61
  505. package/lib/rust-crypto/index.d.ts.map +0 -1
  506. package/lib/rust-crypto/index.js +0 -152
  507. package/lib/rust-crypto/index.js.map +0 -1
  508. package/lib/rust-crypto/libolm_migration.d.ts +0 -81
  509. package/lib/rust-crypto/libolm_migration.d.ts.map +0 -1
  510. package/lib/rust-crypto/libolm_migration.js +0 -459
  511. package/lib/rust-crypto/libolm_migration.js.map +0 -1
  512. package/lib/rust-crypto/rust-crypto.d.ts +0 -556
  513. package/lib/rust-crypto/rust-crypto.d.ts.map +0 -1
  514. package/lib/rust-crypto/rust-crypto.js +0 -2016
  515. package/lib/rust-crypto/rust-crypto.js.map +0 -1
  516. package/lib/rust-crypto/secret-storage.d.ts +0 -22
  517. package/lib/rust-crypto/secret-storage.d.ts.map +0 -1
  518. package/lib/rust-crypto/secret-storage.js +0 -63
  519. package/lib/rust-crypto/secret-storage.js.map +0 -1
  520. package/lib/rust-crypto/verification.d.ts +0 -319
  521. package/lib/rust-crypto/verification.d.ts.map +0 -1
  522. package/lib/rust-crypto/verification.js +0 -816
  523. package/lib/rust-crypto/verification.js.map +0 -1
  524. package/lib/secret-storage.d.ts +0 -370
  525. package/lib/secret-storage.d.ts.map +0 -1
  526. package/lib/secret-storage.js +0 -466
  527. package/lib/secret-storage.js.map +0 -1
  528. package/lib/utils/decryptAESSecretStorageItem.d.ts +0 -12
  529. package/lib/utils/decryptAESSecretStorageItem.d.ts.map +0 -1
  530. package/lib/utils/decryptAESSecretStorageItem.js +0 -50
  531. package/lib/utils/decryptAESSecretStorageItem.js.map +0 -1
  532. package/lib/utils/encryptAESSecretStorageItem.d.ts +0 -16
  533. package/lib/utils/encryptAESSecretStorageItem.d.ts.map +0 -1
  534. package/lib/utils/encryptAESSecretStorageItem.js +0 -68
  535. package/lib/utils/encryptAESSecretStorageItem.js.map +0 -1
  536. package/lib/utils/internal/deriveKeys.d.ts +0 -10
  537. package/lib/utils/internal/deriveKeys.d.ts.map +0 -1
  538. package/lib/utils/internal/deriveKeys.js +0 -60
  539. package/lib/utils/internal/deriveKeys.js.map +0 -1
  540. package/lib/webrtc/audioContext.d.ts +0 -15
  541. package/lib/webrtc/audioContext.d.ts.map +0 -1
  542. package/lib/webrtc/audioContext.js +0 -46
  543. package/lib/webrtc/audioContext.js.map +0 -1
  544. package/lib/webrtc/call.d.ts +0 -560
  545. package/lib/webrtc/call.d.ts.map +0 -1
  546. package/lib/webrtc/call.js +0 -2541
  547. package/lib/webrtc/call.js.map +0 -1
  548. package/lib/webrtc/callEventHandler.d.ts +0 -37
  549. package/lib/webrtc/callEventHandler.d.ts.map +0 -1
  550. package/lib/webrtc/callEventHandler.js +0 -344
  551. package/lib/webrtc/callEventHandler.js.map +0 -1
  552. package/lib/webrtc/callEventTypes.d.ts +0 -73
  553. package/lib/webrtc/callEventTypes.d.ts.map +0 -1
  554. package/lib/webrtc/callEventTypes.js +0 -13
  555. package/lib/webrtc/callEventTypes.js.map +0 -1
  556. package/lib/webrtc/callFeed.d.ts +0 -128
  557. package/lib/webrtc/callFeed.d.ts.map +0 -1
  558. package/lib/webrtc/callFeed.js +0 -289
  559. package/lib/webrtc/callFeed.js.map +0 -1
  560. package/lib/webrtc/groupCall.d.ts +0 -323
  561. package/lib/webrtc/groupCall.d.ts.map +0 -1
  562. package/lib/webrtc/groupCall.js +0 -1337
  563. package/lib/webrtc/groupCall.js.map +0 -1
  564. package/lib/webrtc/groupCallEventHandler.d.ts +0 -31
  565. package/lib/webrtc/groupCallEventHandler.d.ts.map +0 -1
  566. package/lib/webrtc/groupCallEventHandler.js +0 -178
  567. package/lib/webrtc/groupCallEventHandler.js.map +0 -1
  568. package/lib/webrtc/mediaHandler.d.ts +0 -89
  569. package/lib/webrtc/mediaHandler.d.ts.map +0 -1
  570. package/lib/webrtc/mediaHandler.js +0 -437
  571. package/lib/webrtc/mediaHandler.js.map +0 -1
  572. package/lib/webrtc/stats/callFeedStatsReporter.d.ts +0 -8
  573. package/lib/webrtc/stats/callFeedStatsReporter.d.ts.map +0 -1
  574. package/lib/webrtc/stats/callFeedStatsReporter.js +0 -82
  575. package/lib/webrtc/stats/callFeedStatsReporter.js.map +0 -1
  576. package/lib/webrtc/stats/callStatsReportGatherer.d.ts +0 -25
  577. package/lib/webrtc/stats/callStatsReportGatherer.d.ts.map +0 -1
  578. package/lib/webrtc/stats/callStatsReportGatherer.js +0 -199
  579. package/lib/webrtc/stats/callStatsReportGatherer.js.map +0 -1
  580. package/lib/webrtc/stats/callStatsReportSummary.d.ts +0 -17
  581. package/lib/webrtc/stats/callStatsReportSummary.d.ts.map +0 -1
  582. package/lib/webrtc/stats/callStatsReportSummary.js +0 -1
  583. package/lib/webrtc/stats/callStatsReportSummary.js.map +0 -1
  584. package/lib/webrtc/stats/connectionStats.d.ts +0 -28
  585. package/lib/webrtc/stats/connectionStats.d.ts.map +0 -1
  586. package/lib/webrtc/stats/connectionStats.js +0 -26
  587. package/lib/webrtc/stats/connectionStats.js.map +0 -1
  588. package/lib/webrtc/stats/connectionStatsBuilder.d.ts +0 -5
  589. package/lib/webrtc/stats/connectionStatsBuilder.d.ts.map +0 -1
  590. package/lib/webrtc/stats/connectionStatsBuilder.js +0 -27
  591. package/lib/webrtc/stats/connectionStatsBuilder.js.map +0 -1
  592. package/lib/webrtc/stats/connectionStatsReportBuilder.d.ts +0 -7
  593. package/lib/webrtc/stats/connectionStatsReportBuilder.d.ts.map +0 -1
  594. package/lib/webrtc/stats/connectionStatsReportBuilder.js +0 -121
  595. package/lib/webrtc/stats/connectionStatsReportBuilder.js.map +0 -1
  596. package/lib/webrtc/stats/groupCallStats.d.ts +0 -22
  597. package/lib/webrtc/stats/groupCallStats.d.ts.map +0 -1
  598. package/lib/webrtc/stats/groupCallStats.js +0 -78
  599. package/lib/webrtc/stats/groupCallStats.js.map +0 -1
  600. package/lib/webrtc/stats/media/mediaSsrcHandler.d.ts +0 -10
  601. package/lib/webrtc/stats/media/mediaSsrcHandler.d.ts.map +0 -1
  602. package/lib/webrtc/stats/media/mediaSsrcHandler.js +0 -57
  603. package/lib/webrtc/stats/media/mediaSsrcHandler.js.map +0 -1
  604. package/lib/webrtc/stats/media/mediaTrackHandler.d.ts +0 -12
  605. package/lib/webrtc/stats/media/mediaTrackHandler.d.ts.map +0 -1
  606. package/lib/webrtc/stats/media/mediaTrackHandler.js +0 -62
  607. package/lib/webrtc/stats/media/mediaTrackHandler.js.map +0 -1
  608. package/lib/webrtc/stats/media/mediaTrackStats.d.ts +0 -86
  609. package/lib/webrtc/stats/media/mediaTrackStats.d.ts.map +0 -1
  610. package/lib/webrtc/stats/media/mediaTrackStats.js +0 -142
  611. package/lib/webrtc/stats/media/mediaTrackStats.js.map +0 -1
  612. package/lib/webrtc/stats/media/mediaTrackStatsHandler.d.ts +0 -22
  613. package/lib/webrtc/stats/media/mediaTrackStatsHandler.d.ts.map +0 -1
  614. package/lib/webrtc/stats/media/mediaTrackStatsHandler.js +0 -76
  615. package/lib/webrtc/stats/media/mediaTrackStatsHandler.js.map +0 -1
  616. package/lib/webrtc/stats/statsReport.d.ts +0 -99
  617. package/lib/webrtc/stats/statsReport.d.ts.map +0 -1
  618. package/lib/webrtc/stats/statsReport.js +0 -32
  619. package/lib/webrtc/stats/statsReport.js.map +0 -1
  620. package/lib/webrtc/stats/statsReportEmitter.d.ts +0 -15
  621. package/lib/webrtc/stats/statsReportEmitter.d.ts.map +0 -1
  622. package/lib/webrtc/stats/statsReportEmitter.js +0 -33
  623. package/lib/webrtc/stats/statsReportEmitter.js.map +0 -1
  624. package/lib/webrtc/stats/summaryStatsReportGatherer.d.ts +0 -16
  625. package/lib/webrtc/stats/summaryStatsReportGatherer.d.ts.map +0 -1
  626. package/lib/webrtc/stats/summaryStatsReportGatherer.js +0 -116
  627. package/lib/webrtc/stats/summaryStatsReportGatherer.js.map +0 -1
  628. package/lib/webrtc/stats/trackStatsBuilder.d.ts +0 -19
  629. package/lib/webrtc/stats/trackStatsBuilder.d.ts.map +0 -1
  630. package/lib/webrtc/stats/trackStatsBuilder.js +0 -168
  631. package/lib/webrtc/stats/trackStatsBuilder.js.map +0 -1
  632. package/lib/webrtc/stats/transportStats.d.ts +0 -11
  633. package/lib/webrtc/stats/transportStats.d.ts.map +0 -1
  634. package/lib/webrtc/stats/transportStats.js +0 -1
  635. package/lib/webrtc/stats/transportStats.js.map +0 -1
  636. package/lib/webrtc/stats/transportStatsBuilder.d.ts +0 -5
  637. package/lib/webrtc/stats/transportStatsBuilder.d.ts.map +0 -1
  638. package/lib/webrtc/stats/transportStatsBuilder.js +0 -34
  639. package/lib/webrtc/stats/transportStatsBuilder.js.map +0 -1
  640. package/lib/webrtc/stats/valueFormatter.d.ts +0 -4
  641. package/lib/webrtc/stats/valueFormatter.d.ts.map +0 -1
  642. package/lib/webrtc/stats/valueFormatter.js +0 -25
  643. package/lib/webrtc/stats/valueFormatter.js.map +0 -1
  644. package/src/@types/AESEncryptedSecretStoragePayload.ts +0 -29
  645. package/src/@types/crypto.ts +0 -73
  646. package/src/@types/matrix-sdk-crypto-wasm.d.ts +0 -44
  647. package/src/common-crypto/CryptoBackend.ts +0 -302
  648. package/src/common-crypto/README.md +0 -4
  649. package/src/common-crypto/key-passphrase.ts +0 -43
  650. package/src/crypto/CrossSigning.ts +0 -773
  651. package/src/crypto/DeviceList.ts +0 -989
  652. package/src/crypto/EncryptionSetup.ts +0 -351
  653. package/src/crypto/OlmDevice.ts +0 -1500
  654. package/src/crypto/OutgoingRoomKeyRequestManager.ts +0 -485
  655. package/src/crypto/RoomList.ts +0 -70
  656. package/src/crypto/SecretSharing.ts +0 -240
  657. package/src/crypto/SecretStorage.ts +0 -136
  658. package/src/crypto/aes.ts +0 -23
  659. package/src/crypto/algorithms/base.ts +0 -236
  660. package/src/crypto/algorithms/index.ts +0 -20
  661. package/src/crypto/algorithms/megolm.ts +0 -2216
  662. package/src/crypto/algorithms/olm.ts +0 -381
  663. package/src/crypto/api.ts +0 -70
  664. package/src/crypto/backup.ts +0 -922
  665. package/src/crypto/crypto.ts +0 -18
  666. package/src/crypto/dehydration.ts +0 -272
  667. package/src/crypto/device-converter.ts +0 -45
  668. package/src/crypto/deviceinfo.ts +0 -158
  669. package/src/crypto/index.ts +0 -4418
  670. package/src/crypto/key_passphrase.ts +0 -42
  671. package/src/crypto/keybackup.ts +0 -47
  672. package/src/crypto/olmlib.ts +0 -539
  673. package/src/crypto/recoverykey.ts +0 -18
  674. package/src/crypto/store/base.ts +0 -348
  675. package/src/crypto/store/indexeddb-crypto-store-backend.ts +0 -1250
  676. package/src/crypto/store/indexeddb-crypto-store.ts +0 -845
  677. package/src/crypto/store/localStorage-crypto-store.ts +0 -579
  678. package/src/crypto/store/memory-crypto-store.ts +0 -680
  679. package/src/crypto/verification/Base.ts +0 -409
  680. package/src/crypto/verification/Error.ts +0 -76
  681. package/src/crypto/verification/IllegalMethod.ts +0 -50
  682. package/src/crypto/verification/QRCode.ts +0 -310
  683. package/src/crypto/verification/SAS.ts +0 -494
  684. package/src/crypto/verification/SASDecimal.ts +0 -37
  685. package/src/crypto/verification/request/Channel.ts +0 -34
  686. package/src/crypto/verification/request/InRoomChannel.ts +0 -371
  687. package/src/crypto/verification/request/ToDeviceChannel.ts +0 -354
  688. package/src/crypto/verification/request/VerificationRequest.ts +0 -976
  689. package/src/crypto-api/CryptoEvent.ts +0 -93
  690. package/src/crypto-api/CryptoEventHandlerMap.ts +0 -32
  691. package/src/crypto-api/index.ts +0 -1175
  692. package/src/crypto-api/key-passphrase.ts +0 -58
  693. package/src/crypto-api/keybackup.ts +0 -115
  694. package/src/crypto-api/recovery-key.ts +0 -69
  695. package/src/crypto-api/verification.ts +0 -408
  696. package/src/matrixrtc/CallMembership.ts +0 -247
  697. package/src/matrixrtc/LivekitFocus.ts +0 -39
  698. package/src/matrixrtc/MatrixRTCSession.ts +0 -1319
  699. package/src/matrixrtc/MatrixRTCSessionManager.ts +0 -166
  700. package/src/matrixrtc/focus.ts +0 -25
  701. package/src/matrixrtc/index.ts +0 -22
  702. package/src/matrixrtc/types.ts +0 -36
  703. package/src/rendezvous/MSC4108SignInWithQR.ts +0 -444
  704. package/src/rendezvous/RendezvousChannel.ts +0 -48
  705. package/src/rendezvous/RendezvousCode.ts +0 -25
  706. package/src/rendezvous/RendezvousError.ts +0 -26
  707. package/src/rendezvous/RendezvousFailureReason.ts +0 -49
  708. package/src/rendezvous/RendezvousIntent.ts +0 -20
  709. package/src/rendezvous/RendezvousTransport.ts +0 -58
  710. package/src/rendezvous/channels/MSC4108SecureChannel.ts +0 -270
  711. package/src/rendezvous/channels/index.ts +0 -17
  712. package/src/rendezvous/index.ts +0 -25
  713. package/src/rendezvous/transports/MSC4108RendezvousSession.ts +0 -270
  714. package/src/rendezvous/transports/index.ts +0 -17
  715. package/src/rust-crypto/CrossSigningIdentity.ts +0 -183
  716. package/src/rust-crypto/DehydratedDeviceManager.ts +0 -306
  717. package/src/rust-crypto/KeyClaimManager.ts +0 -86
  718. package/src/rust-crypto/OutgoingRequestProcessor.ts +0 -236
  719. package/src/rust-crypto/OutgoingRequestsManager.ts +0 -143
  720. package/src/rust-crypto/PerSessionKeyBackupDownloader.ts +0 -501
  721. package/src/rust-crypto/RoomEncryptor.ts +0 -352
  722. package/src/rust-crypto/backup.ts +0 -881
  723. package/src/rust-crypto/constants.ts +0 -18
  724. package/src/rust-crypto/device-converter.ts +0 -128
  725. package/src/rust-crypto/index.ts +0 -237
  726. package/src/rust-crypto/libolm_migration.ts +0 -530
  727. package/src/rust-crypto/rust-crypto.ts +0 -2205
  728. package/src/rust-crypto/secret-storage.ts +0 -60
  729. package/src/rust-crypto/verification.ts +0 -830
  730. package/src/secret-storage.ts +0 -693
  731. package/src/utils/decryptAESSecretStorageItem.ts +0 -54
  732. package/src/utils/encryptAESSecretStorageItem.ts +0 -73
  733. package/src/utils/internal/deriveKeys.ts +0 -63
  734. package/src/webrtc/audioContext.ts +0 -44
  735. package/src/webrtc/call.ts +0 -3074
  736. package/src/webrtc/callEventHandler.ts +0 -425
  737. package/src/webrtc/callEventTypes.ts +0 -93
  738. package/src/webrtc/callFeed.ts +0 -364
  739. package/src/webrtc/groupCall.ts +0 -1735
  740. package/src/webrtc/groupCallEventHandler.ts +0 -234
  741. package/src/webrtc/mediaHandler.ts +0 -484
  742. package/src/webrtc/stats/callFeedStatsReporter.ts +0 -94
  743. package/src/webrtc/stats/callStatsReportGatherer.ts +0 -219
  744. package/src/webrtc/stats/callStatsReportSummary.ts +0 -30
  745. package/src/webrtc/stats/connectionStats.ts +0 -47
  746. package/src/webrtc/stats/connectionStatsBuilder.ts +0 -28
  747. package/src/webrtc/stats/connectionStatsReportBuilder.ts +0 -140
  748. package/src/webrtc/stats/groupCallStats.ts +0 -93
  749. package/src/webrtc/stats/media/mediaSsrcHandler.ts +0 -57
  750. package/src/webrtc/stats/media/mediaTrackHandler.ts +0 -76
  751. package/src/webrtc/stats/media/mediaTrackStats.ts +0 -176
  752. package/src/webrtc/stats/media/mediaTrackStatsHandler.ts +0 -90
  753. package/src/webrtc/stats/statsReport.ts +0 -133
  754. package/src/webrtc/stats/statsReportEmitter.ts +0 -49
  755. package/src/webrtc/stats/summaryStatsReportGatherer.ts +0 -148
  756. package/src/webrtc/stats/trackStatsBuilder.ts +0 -207
  757. package/src/webrtc/stats/transportStats.ts +0 -26
  758. package/src/webrtc/stats/transportStatsBuilder.ts +0 -48
  759. package/src/webrtc/stats/valueFormatter.ts +0 -27
@@ -48,9 +48,6 @@ const filterResponseRelations = (
48
48
  responseEvents: MatrixEvent[];
49
49
  } => {
50
50
  const responseEvents = relationEvents.filter((event) => {
51
- if (event.isDecryptionFailure()) {
52
- return;
53
- }
54
51
  return (
55
52
  M_POLL_RESPONSE.matches(event.getType()) &&
56
53
  // From MSC3381:
@@ -172,8 +169,6 @@ export class Poll extends TypedEventEmitter<Exclude<PollEvent, PollEvent.New>, P
172
169
  },
173
170
  );
174
171
 
175
- await Promise.all(allRelations.events.map((event) => this.matrixClient.decryptEventIfNeeded(event)));
176
-
177
172
  const responses =
178
173
  this.responses ||
179
174
  new Relations("m.reference", M_POLL_RESPONSE.name, this.matrixClient, [M_POLL_RESPONSE.altName!]);
@@ -235,7 +230,6 @@ export class Poll extends TypedEventEmitter<Exclude<PollEvent, PollEvent.New>, P
235
230
 
236
231
  private countUndecryptableEvents = (events: MatrixEvent[]): void => {
237
232
  const undecryptableEventIds = events
238
- .filter((event) => event.isDecryptionFailure())
239
233
  .map((event) => event.getId()!);
240
234
 
241
235
  const previousCount = this.undecryptableRelationsCount;
@@ -98,18 +98,11 @@ export class RelationsContainer {
98
98
  if (!relation) return;
99
99
 
100
100
  const onEventDecrypted = (): void => {
101
- if (event.isDecryptionFailure()) {
102
- // This could for example happen if the encryption keys are not yet available.
103
- // The event may still be decrypted later. Register the listener again.
104
- event.once(MatrixEventEvent.Decrypted, onEventDecrypted);
105
- return;
106
- }
107
-
108
101
  this.aggregateChildEvent(event, timelineSet);
109
102
  };
110
103
 
111
104
  // If the event is currently encrypted, wait until it has been decrypted.
112
- if (event.isBeingDecrypted() || event.shouldAttemptDecryption()) {
105
+ if (event.shouldAttemptDecryption()) {
113
106
  event.once(MatrixEventEvent.Decrypted, onEventDecrypted);
114
107
  return;
115
108
  }
@@ -52,7 +52,6 @@ export class Relations extends TypedEventEmitter<RelationsEvent, EventHandlerMap
52
52
  private sortedAnnotationsByKey: [string, Set<MatrixEvent>][] = [];
53
53
  private targetEvent: MatrixEvent | null = null;
54
54
  private creationEmitted = false;
55
- private readonly client: MatrixClient;
56
55
 
57
56
  /**
58
57
  * @param relationType - The type of relation involved, such as "m.annotation", "m.reference", "m.replace", etc.
@@ -67,7 +66,6 @@ export class Relations extends TypedEventEmitter<RelationsEvent, EventHandlerMap
67
66
  public readonly altEventTypes?: string[],
68
67
  ) {
69
68
  super();
70
- this.client = client instanceof Room ? client.client : client;
71
69
  }
72
70
 
73
71
  /**
@@ -323,12 +321,6 @@ export class Relations extends TypedEventEmitter<RelationsEvent, EventHandlerMap
323
321
  return event;
324
322
  }, null);
325
323
 
326
- if (lastReplacement?.shouldAttemptDecryption() && this.client.isCryptoEnabled()) {
327
- await lastReplacement.attemptDecryption(this.client.crypto!);
328
- } else if (lastReplacement?.isBeingDecrypted()) {
329
- await lastReplacement.getDecryptionPromise();
330
- }
331
-
332
324
  return lastReplacement;
333
325
  }
334
326
 
@@ -368,6 +368,11 @@ export class RoomMember extends TypedEventEmitter<RoomMemberEvent, RoomMemberEve
368
368
  * If false, any non-matrix content URLs will be ignored. Setting this option to
369
369
  * true will expose URLs that, if fetched, will leak information about the user
370
370
  * to anyone who they share a room with.
371
+ * @param useAuthentication - (optional) If true, the caller supports authenticated
372
+ * media and wants an authentication-required URL. Note that server support for
373
+ * authenticated media will not be checked - it is the caller's responsibility
374
+ * to do so before calling this function. Note also that useAuthentication
375
+ * implies allowRedirects. Defaults to false (unauthenticated endpoints).
371
376
  * @returns the avatar URL or null.
372
377
  */
373
378
  public getAvatarUrl(
@@ -377,13 +382,23 @@ export class RoomMember extends TypedEventEmitter<RoomMemberEvent, RoomMemberEve
377
382
  resizeMethod: string,
378
383
  allowDefault = true,
379
384
  allowDirectLinks: boolean,
385
+ useAuthentication: boolean = false,
380
386
  ): string | null {
381
387
  const rawUrl = this.getMxcAvatarUrl();
382
388
 
383
389
  if (!rawUrl && !allowDefault) {
384
390
  return null;
385
391
  }
386
- const httpUrl = getHttpUriForMxc(baseUrl, rawUrl, width, height, resizeMethod, allowDirectLinks);
392
+ const httpUrl = getHttpUriForMxc(
393
+ baseUrl,
394
+ rawUrl,
395
+ width,
396
+ height,
397
+ resizeMethod,
398
+ allowDirectLinks,
399
+ undefined,
400
+ useAuthentication,
401
+ );
387
402
  if (httpUrl) {
388
403
  return httpUrl;
389
404
  }
@@ -18,7 +18,7 @@ import { RoomMember } from "./room-member.ts";
18
18
  import { logger } from "../logger.ts";
19
19
  import { isNumber, removeHiddenChars } from "../utils.ts";
20
20
  import { EventType, UNSTABLE_MSC2716_MARKER } from "../@types/event.ts";
21
- import { IEvent, MatrixEvent, MatrixEventEvent } from "./event.ts";
21
+ import { IEvent, MatrixEvent } from "./event.ts";
22
22
  import { MatrixClient } from "../client.ts";
23
23
  import { GuestAccess, HistoryVisibility, JoinRule } from "../@types/partials.ts";
24
24
  import { TypedEventEmitter } from "./typed-event-emitter.ts";
@@ -194,22 +194,11 @@ export class RoomState extends TypedEventEmitter<EmittedEvents, EventHandlerMap>
194
194
  * As the timeline might get reset while they are loading, this state needs to be inherited
195
195
  * and shared when the room state is cloned for the new timeline.
196
196
  * This should only be passed from clone.
197
- * @param isStartTimelineState - Optional. This state is marked as a start state.
198
- * This is used to skip state insertions that are
199
- * in the wrong order. The order is determined by the `replaces_state` id.
200
- *
201
- * Example:
202
- * A current state events `replaces_state` value is `1`.
203
- * Trying to insert a state event with `event_id` `1` in its place would fail if isStartTimelineState = false.
204
- *
205
- * A current state events `event_id` is `2`.
206
- * Trying to insert a state event where its `replaces_state` value is `2` would fail if isStartTimelineState = true.
207
197
  */
208
198
 
209
199
  public constructor(
210
200
  public readonly roomId: string,
211
201
  private oobMemberFlags = { status: OobStatus.NotStarted },
212
- public readonly isStartTimelineState = false,
213
202
  ) {
214
203
  super();
215
204
  this.updateModifiedTime();
@@ -420,7 +409,7 @@ export class RoomState extends TypedEventEmitter<EmittedEvents, EventHandlerMap>
420
409
  * Fires {@link RoomStateEvent.Events}
421
410
  * Fires {@link RoomStateEvent.Marker}
422
411
  */
423
- public setStateEvents(stateEvents: MatrixEvent[], options?: IMarkerFoundOptions): void {
412
+ public setStateEvents(stateEvents: MatrixEvent[], markerFoundOptions?: IMarkerFoundOptions): void {
424
413
  this.updateModifiedTime();
425
414
 
426
415
  // update the core event dict
@@ -432,22 +421,6 @@ export class RoomState extends TypedEventEmitter<EmittedEvents, EventHandlerMap>
432
421
  }
433
422
 
434
423
  const lastStateEvent = this.getStateEventMatching(event);
435
-
436
- // Safety measure to not update the room (and emit the update) with older state.
437
- // The sync loop really should not send old events but it does very regularly.
438
- // Logging on return in those two conditions results in a large amount of logging. (on startup and when running element)
439
- const lastReplaceId = lastStateEvent?.event.unsigned?.replaces_state;
440
- const lastId = lastStateEvent?.event.event_id;
441
- const newReplaceId = event.event.unsigned?.replaces_state;
442
- const newId = event.event.event_id;
443
- if (this.isStartTimelineState) {
444
- // 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.
445
- if (newReplaceId && lastId && newReplaceId === lastId) return;
446
- } else {
447
- // 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.
448
- if (lastReplaceId && newId && lastReplaceId === newId) return;
449
- }
450
-
451
424
  this.setStateEvent(event);
452
425
  if (event.getType() === EventType.RoomMember) {
453
426
  this.updateDisplayNameCache(event.getStateKey()!, event.getContent().displayname ?? "");
@@ -504,7 +477,7 @@ export class RoomState extends TypedEventEmitter<EmittedEvents, EventHandlerMap>
504
477
  // assume all our sentinels are now out-of-date
505
478
  this.sentinels = {};
506
479
  } else if (UNSTABLE_MSC2716_MARKER.matches(event.getType())) {
507
- this.emit(RoomStateEvent.Marker, event, options);
480
+ this.emit(RoomStateEvent.Marker, event, markerFoundOptions);
508
481
  }
509
482
  });
510
483
 
@@ -544,15 +517,9 @@ export class RoomState extends TypedEventEmitter<EmittedEvents, EventHandlerMap>
544
517
  if (!M_BEACON.matches(event.getType()) && !event.isEncrypted()) return;
545
518
 
546
519
  try {
547
- await matrixClient.decryptEventIfNeeded(event);
548
520
  processBeaconRelation(relatedToEventId, event);
549
521
  } catch {
550
- if (event.isDecryptionFailure()) {
551
- // add an event listener for once the event is decrypted.
552
- event.once(MatrixEventEvent.Decrypted, async () => {
553
- processBeaconRelation(relatedToEventId, event);
554
- });
555
- }
522
+ //
556
523
  }
557
524
  }
558
525
  }
@@ -494,7 +494,6 @@ export class Room extends ReadReceipt<RoomEmittedEvents, RoomEventHandlerMap> {
494
494
  });
495
495
  events.forEach(async (serializedEvent: Partial<IEvent>) => {
496
496
  const event = mapper(serializedEvent);
497
- await client.decryptEventIfNeeded(event);
498
497
  event.setStatus(EventStatus.NOT_SENT);
499
498
  this.addPendingEvent(event, event.getTxnId()!);
500
499
  });
@@ -533,52 +532,6 @@ export class Room extends ReadReceipt<RoomEmittedEvents, RoomEventHandlerMap> {
533
532
  return null;
534
533
  }
535
534
 
536
- /**
537
- * Bulk decrypt critical events in a room
538
- *
539
- * Critical events represents the minimal set of events to decrypt
540
- * for a typical UI to function properly
541
- *
542
- * - Last event of every room (to generate likely message preview)
543
- * - All events up to the read receipt (to calculate an accurate notification count)
544
- *
545
- * @returns Signals when all events have been decrypted
546
- */
547
- public async decryptCriticalEvents(): Promise<void> {
548
- if (!this.client.isCryptoEnabled()) return;
549
-
550
- const readReceiptEventId = this.getEventReadUpTo(this.client.getUserId()!, true);
551
- const events = this.getLiveTimeline().getEvents();
552
- const readReceiptTimelineIndex = events.findIndex((matrixEvent) => {
553
- return matrixEvent.event.event_id === readReceiptEventId;
554
- });
555
-
556
- const decryptionPromises = events
557
- .slice(readReceiptTimelineIndex)
558
- .reverse()
559
- .map((event) => this.client.decryptEventIfNeeded(event));
560
-
561
- await Promise.allSettled(decryptionPromises);
562
- }
563
-
564
- /**
565
- * Bulk decrypt events in a room
566
- *
567
- * @returns Signals when all events have been decrypted
568
- */
569
- public async decryptAllEvents(): Promise<void> {
570
- if (!this.client.isCryptoEnabled()) return;
571
-
572
- const decryptionPromises = this.getUnfilteredTimelineSet()
573
- .getLiveTimeline()
574
- .getEvents()
575
- .slice(0) // copy before reversing
576
- .reverse()
577
- .map((event) => this.client.decryptEventIfNeeded(event));
578
-
579
- await Promise.allSettled(decryptionPromises);
580
- }
581
-
582
535
  /**
583
536
  * Gets the creator of the room
584
537
  * @returns The creator of the room, or null if it could not be determined
@@ -1661,6 +1614,11 @@ export class Room extends ReadReceipt<RoomEmittedEvents, RoomEventHandlerMap> {
1661
1614
  * "crop" or "scale".
1662
1615
  * @param allowDefault - True to allow an identicon for this room if an
1663
1616
  * avatar URL wasn't explicitly set. Default: true. (Deprecated)
1617
+ * @param useAuthentication - (optional) If true, the caller supports authenticated
1618
+ * media and wants an authentication-required URL. Note that server support for
1619
+ * authenticated media will not be checked - it is the caller's responsibility
1620
+ * to do so before calling this function. Note also that useAuthentication
1621
+ * implies allowRedirects. Defaults to false (unauthenticated endpoints).
1664
1622
  * @returns the avatar URL or null.
1665
1623
  */
1666
1624
  public getAvatarUrl(
@@ -1669,6 +1627,7 @@ export class Room extends ReadReceipt<RoomEmittedEvents, RoomEventHandlerMap> {
1669
1627
  height: number,
1670
1628
  resizeMethod: ResizeMethod,
1671
1629
  allowDefault = true,
1630
+ useAuthentication: boolean = false,
1672
1631
  ): string | null {
1673
1632
  const roomAvatarEvent = this.currentState.getStateEvents(EventType.RoomAvatar, "");
1674
1633
  if (!roomAvatarEvent && !allowDefault) {
@@ -1677,7 +1636,16 @@ export class Room extends ReadReceipt<RoomEmittedEvents, RoomEventHandlerMap> {
1677
1636
 
1678
1637
  const mainUrl = roomAvatarEvent ? roomAvatarEvent.getContent().url : null;
1679
1638
  if (mainUrl) {
1680
- return getHttpUriForMxc(baseUrl, mainUrl, width, height, resizeMethod);
1639
+ return getHttpUriForMxc(
1640
+ baseUrl,
1641
+ mainUrl,
1642
+ width,
1643
+ height,
1644
+ resizeMethod,
1645
+ undefined,
1646
+ undefined,
1647
+ useAuthentication,
1648
+ );
1681
1649
  }
1682
1650
 
1683
1651
  return null;
@@ -1739,10 +1707,11 @@ export class Room extends ReadReceipt<RoomEmittedEvents, RoomEventHandlerMap> {
1739
1707
  public addEventsToTimeline(
1740
1708
  events: MatrixEvent[],
1741
1709
  toStartOfTimeline: boolean,
1710
+ addToState: boolean,
1742
1711
  timeline: EventTimeline,
1743
1712
  paginationToken?: string,
1744
1713
  ): void {
1745
- timeline.getTimelineSet().addEventsToTimeline(events, toStartOfTimeline, timeline, paginationToken);
1714
+ timeline.getTimelineSet().addEventsToTimeline(events, toStartOfTimeline, addToState, timeline, paginationToken);
1746
1715
  }
1747
1716
 
1748
1717
  /**
@@ -1907,7 +1876,7 @@ export class Room extends ReadReceipt<RoomEmittedEvents, RoomEventHandlerMap> {
1907
1876
  // see https://github.com/vector-im/vector-web/issues/2109
1908
1877
 
1909
1878
  unfilteredLiveTimeline.getEvents().forEach(function (event) {
1910
- timelineSet.addLiveEvent(event);
1879
+ timelineSet.addLiveEvent(event, { addToState: false }); // Filtered timeline sets should not track state
1911
1880
  });
1912
1881
 
1913
1882
  // find the earliest unfiltered timeline
@@ -1994,6 +1963,7 @@ export class Room extends ReadReceipt<RoomEmittedEvents, RoomEventHandlerMap> {
1994
1963
  if (filterType !== ThreadFilterType.My || currentUserParticipated) {
1995
1964
  timelineSet.getLiveTimeline().addEvent(thread.rootEvent!, {
1996
1965
  toStartOfTimeline: false,
1966
+ addToState: false,
1997
1967
  });
1998
1968
  }
1999
1969
  });
@@ -2062,12 +2032,12 @@ export class Room extends ReadReceipt<RoomEmittedEvents, RoomEventHandlerMap> {
2062
2032
  return threadAMetadata.latest_event.origin_server_ts - threadBMetadata.latest_event.origin_server_ts;
2063
2033
  });
2064
2034
 
2065
- let latestMyThreadsRootEvent: MatrixEvent | undefined;
2066
2035
  const roomState = this.getLiveTimeline().getState(EventTimeline.FORWARDS);
2067
2036
  for (const rootEvent of threadRoots) {
2068
2037
  const opts = {
2069
2038
  duplicateStrategy: DuplicateStrategy.Ignore,
2070
2039
  fromCache: false,
2040
+ addToState: false,
2071
2041
  roomState,
2072
2042
  };
2073
2043
  this.threadsTimelineSets[0]?.addLiveEvent(rootEvent, opts);
@@ -2077,16 +2047,10 @@ export class Room extends ReadReceipt<RoomEmittedEvents, RoomEventHandlerMap> {
2077
2047
  );
2078
2048
  if (threadRelationship?.current_user_participated) {
2079
2049
  this.threadsTimelineSets[1]?.addLiveEvent(rootEvent, opts);
2080
- latestMyThreadsRootEvent = rootEvent;
2081
2050
  }
2082
2051
  }
2083
2052
 
2084
2053
  this.processThreadRoots(threadRoots, true);
2085
-
2086
- this.client.decryptEventIfNeeded(threadRoots[threadRoots.length - 1]);
2087
- if (latestMyThreadsRootEvent) {
2088
- this.client.decryptEventIfNeeded(latestMyThreadsRootEvent);
2089
- }
2090
2054
  }
2091
2055
 
2092
2056
  this.on(ThreadEvent.NewReply, this.onThreadReply);
@@ -2110,7 +2074,6 @@ export class Room extends ReadReceipt<RoomEmittedEvents, RoomEventHandlerMap> {
2110
2074
  * Try to decrypt the event. Promise resolution does not guarantee a successful decryption.
2111
2075
  * Retry is handled in {@link processPollEvent}.
2112
2076
  */
2113
- await this.client.decryptEventIfNeeded(event);
2114
2077
  this.processPollEvent(event);
2115
2078
  } catch (err) {
2116
2079
  logger.warn("Error processing poll event", event.getId(), err);
@@ -2129,13 +2092,6 @@ export class Room extends ReadReceipt<RoomEmittedEvents, RoomEventHandlerMap> {
2129
2092
  * @param event - Event that could be a poll event
2130
2093
  */
2131
2094
  private async processPollEvent(event: MatrixEvent): Promise<void> {
2132
- if (event.isDecryptionFailure()) {
2133
- event.once(MatrixEventEvent.Decrypted, (maybeDecryptedEvent: MatrixEvent) => {
2134
- this.processPollEvent(maybeDecryptedEvent);
2135
- });
2136
- return;
2137
- }
2138
-
2139
2095
  if (M_POLL_START.matches(event.getType())) {
2140
2096
  try {
2141
2097
  const poll = new Poll(event, this.client, this);
@@ -2190,6 +2146,7 @@ export class Room extends ReadReceipt<RoomEmittedEvents, RoomEventHandlerMap> {
2190
2146
  duplicateStrategy: DuplicateStrategy.Replace,
2191
2147
  fromCache: false,
2192
2148
  roomState,
2149
+ addToState: false,
2193
2150
  });
2194
2151
  }
2195
2152
  }
@@ -2381,9 +2338,13 @@ export class Room extends ReadReceipt<RoomEmittedEvents, RoomEventHandlerMap> {
2381
2338
  duplicateStrategy: DuplicateStrategy.Replace,
2382
2339
  fromCache: false,
2383
2340
  roomState: this.currentState,
2341
+ addToState: false,
2384
2342
  });
2385
2343
  } else {
2386
- timelineSet.addEventToTimeline(thread.rootEvent, timelineSet.getLiveTimeline(), { toStartOfTimeline });
2344
+ timelineSet.addEventToTimeline(thread.rootEvent, timelineSet.getLiveTimeline(), {
2345
+ toStartOfTimeline,
2346
+ addToState: false,
2347
+ });
2387
2348
  }
2388
2349
  }
2389
2350
  };
@@ -2540,7 +2501,7 @@ export class Room extends ReadReceipt<RoomEmittedEvents, RoomEventHandlerMap> {
2540
2501
  * Fires {@link RoomEvent.Timeline}
2541
2502
  */
2542
2503
  private addLiveEvent(event: MatrixEvent, addLiveEventOptions: IAddLiveEventOptions): void {
2543
- const { duplicateStrategy, timelineWasEmpty, fromCache } = addLiveEventOptions;
2504
+ const { duplicateStrategy, timelineWasEmpty, fromCache, addToState } = addLiveEventOptions;
2544
2505
 
2545
2506
  // add to our timeline sets
2546
2507
  for (const timelineSet of this.timelineSets) {
@@ -2548,6 +2509,7 @@ export class Room extends ReadReceipt<RoomEmittedEvents, RoomEventHandlerMap> {
2548
2509
  duplicateStrategy,
2549
2510
  fromCache,
2550
2511
  timelineWasEmpty,
2512
+ addToState,
2551
2513
  });
2552
2514
  }
2553
2515
 
@@ -2631,11 +2593,13 @@ export class Room extends ReadReceipt<RoomEmittedEvents, RoomEventHandlerMap> {
2631
2593
  if (timelineSet.getFilter()!.filterRoomTimeline([event]).length) {
2632
2594
  timelineSet.addEventToTimeline(event, timelineSet.getLiveTimeline(), {
2633
2595
  toStartOfTimeline: false,
2596
+ addToState: false, // We don't support localEcho of state events yet
2634
2597
  });
2635
2598
  }
2636
2599
  } else {
2637
2600
  timelineSet.addEventToTimeline(event, timelineSet.getLiveTimeline(), {
2638
2601
  toStartOfTimeline: false,
2602
+ addToState: false, // We don't support localEcho of state events yet
2639
2603
  });
2640
2604
  }
2641
2605
  }
@@ -2886,8 +2850,8 @@ export class Room extends ReadReceipt<RoomEmittedEvents, RoomEventHandlerMap> {
2886
2850
  * @param addLiveEventOptions - addLiveEvent options
2887
2851
  * @throws If `duplicateStrategy` is not falsey, 'replace' or 'ignore'.
2888
2852
  */
2889
- public async addLiveEvents(events: MatrixEvent[], addLiveEventOptions?: IAddLiveEventOptions): Promise<void> {
2890
- const { duplicateStrategy, fromCache, timelineWasEmpty = false } = addLiveEventOptions ?? {};
2853
+ public async addLiveEvents(events: MatrixEvent[], addLiveEventOptions: IAddLiveEventOptions): Promise<void> {
2854
+ const { duplicateStrategy, fromCache, timelineWasEmpty = false, addToState } = addLiveEventOptions;
2891
2855
  if (duplicateStrategy && ["replace", "ignore"].indexOf(duplicateStrategy) === -1) {
2892
2856
  throw new Error("duplicateStrategy MUST be either 'replace' or 'ignore'");
2893
2857
  }
@@ -2902,6 +2866,7 @@ export class Room extends ReadReceipt<RoomEmittedEvents, RoomEventHandlerMap> {
2902
2866
  duplicateStrategy,
2903
2867
  fromCache,
2904
2868
  timelineWasEmpty,
2869
+ addToState,
2905
2870
  };
2906
2871
 
2907
2872
  // List of extra events to check for being parents of any relations encountered
@@ -208,6 +208,7 @@ export class Thread extends ReadReceipt<ThreadEmittedEvents, ThreadEventHandlerM
208
208
 
209
209
  public static setServerSideSupport(status: FeatureSupport): void {
210
210
  Thread.hasServerSideSupport = status;
211
+ // XXX: This global latching behaviour is really unexpected and means that you can't undo when moving to a server without support
211
212
  if (status !== FeatureSupport.Stable) {
212
213
  FILTER_RELATED_BY_SENDERS.setPreferUnstable(true);
213
214
  FILTER_RELATED_BY_REL_TYPES.setPreferUnstable(true);
@@ -317,6 +318,7 @@ export class Thread extends ReadReceipt<ThreadEmittedEvents, ThreadEventHandlerM
317
318
  toStartOfTimeline,
318
319
  fromCache: false,
319
320
  roomState: this.roomState,
321
+ addToState: false,
320
322
  });
321
323
  }
322
324
  }
@@ -343,7 +345,7 @@ export class Thread extends ReadReceipt<ThreadEmittedEvents, ThreadEventHandlerM
343
345
  if (this.findEventById(eventId)) {
344
346
  return;
345
347
  }
346
- this.timelineSet.insertEventIntoTimeline(event, this.liveTimeline, this.roomState);
348
+ this.timelineSet.insertEventIntoTimeline(event, this.liveTimeline, this.roomState, false);
347
349
  }
348
350
 
349
351
  public addEvents(events: MatrixEvent[], toStartOfTimeline: boolean): void {
@@ -372,7 +374,6 @@ export class Thread extends ReadReceipt<ThreadEmittedEvents, ThreadEventHandlerM
372
374
  if (!Thread.hasServerSideSupport) {
373
375
  // When there's no server-side support, just add it to the end of the timeline.
374
376
  this.addEventToTimeline(event, toStartOfTimeline);
375
- this.client.decryptEventIfNeeded(event);
376
377
  } else if (event.isRelation(RelationType.Annotation) || event.isRelation(RelationType.Replace)) {
377
378
  this.addRelatedThreadEvent(event, toStartOfTimeline);
378
379
  return;
@@ -618,7 +619,7 @@ export class Thread extends ReadReceipt<ThreadEmittedEvents, ThreadEventHandlerM
618
619
  // if the thread has regular events, this will just load the last reply.
619
620
  // if the thread is newly created, this will load the root event.
620
621
  if (this.replyCount === 0 && this.rootEvent) {
621
- this.timelineSet.addEventsToTimeline([this.rootEvent], true, this.liveTimeline, null);
622
+ this.timelineSet.addEventsToTimeline([this.rootEvent], true, false, this.liveTimeline, null);
622
623
  this.liveTimeline.setPaginationToken(null, Direction.Backward);
623
624
  } else {
624
625
  this.initalEventFetchProm = this.client.paginateEventTimeline(this.liveTimeline, {
@@ -17,13 +17,13 @@ limitations under the License.
17
17
  import { IdTokenClaims, Log, OidcClient, SigninResponse, SigninState, WebStorageStateStore } from "oidc-client-ts";
18
18
 
19
19
  import { logger } from "../logger.ts";
20
- import { randomString } from "../randomstring.ts";
20
+ import { secureRandomString } from "../randomstring.ts";
21
21
  import { OidcError } from "./error.ts";
22
22
  import {
23
23
  BearerTokenResponse,
24
24
  UserState,
25
25
  validateBearerTokenResponse,
26
- ValidatedIssuerMetadata,
26
+ ValidatedAuthMetadata,
27
27
  validateIdToken,
28
28
  validateStoredUserState,
29
29
  } from "./validate.ts";
@@ -52,7 +52,7 @@ export type AuthorizationParams = {
52
52
  * @returns scope
53
53
  */
54
54
  export const generateScope = (deviceId?: string): string => {
55
- const safeDeviceId = deviceId ?? randomString(10);
55
+ const safeDeviceId = deviceId ?? secureRandomString(10);
56
56
  return `openid urn:matrix:org.matrix.msc2967.client:api:* urn:matrix:org.matrix.msc2967.client:device:${safeDeviceId}`;
57
57
  };
58
58
 
@@ -79,9 +79,9 @@ const generateCodeChallenge = async (codeVerifier: string): Promise<string> => {
79
79
  export const generateAuthorizationParams = ({ redirectUri }: { redirectUri: string }): AuthorizationParams => ({
80
80
  scope: generateScope(),
81
81
  redirectUri,
82
- state: randomString(8),
83
- nonce: randomString(8),
84
- codeVerifier: randomString(64), // https://tools.ietf.org/html/rfc7636#section-4.1 length needs to be 43-128 characters
82
+ state: secureRandomString(8),
83
+ nonce: secureRandomString(8),
84
+ codeVerifier: secureRandomString(64), // https://tools.ietf.org/html/rfc7636#section-4.1 length needs to be 43-128 characters
85
85
  });
86
86
 
87
87
  /**
@@ -138,7 +138,7 @@ export const generateOidcAuthorizationUrl = async ({
138
138
  urlState,
139
139
  }: {
140
140
  clientId: string;
141
- metadata: ValidatedIssuerMetadata;
141
+ metadata: ValidatedAuthMetadata;
142
142
  homeserverUrl: string;
143
143
  identityServerUrl?: string;
144
144
  redirectUri: string;
@@ -16,7 +16,7 @@ limitations under the License.
16
16
 
17
17
  import { MetadataService, OidcClientSettingsStore } from "oidc-client-ts";
18
18
 
19
- import { isValidatedIssuerMetadata, validateOIDCIssuerWellKnown } from "./validate.ts";
19
+ import { validateAuthMetadata } from "./validate.ts";
20
20
  import { Method, timeoutSignal } from "../http-api/index.ts";
21
21
  import { OidcClientConfig } from "./index.ts";
22
22
 
@@ -30,6 +30,7 @@ import { OidcClientConfig } from "./index.ts";
30
30
  * @param issuer - the OIDC issuer as returned by the /auth_issuer API
31
31
  * @returns validated authentication metadata and optionally signing keys
32
32
  * @throws when delegated auth config is invalid or unreachable
33
+ * @deprecated in favour of {@link MatrixClient#getAuthMetadata}
33
34
  */
34
35
  export const discoverAndValidateOIDCIssuerWellKnown = async (issuer: string): Promise<OidcClientConfig> => {
35
36
  const issuerOpenIdConfigUrl = new URL(".well-known/openid-configuration", issuer);
@@ -38,23 +39,28 @@ export const discoverAndValidateOIDCIssuerWellKnown = async (issuer: string): Pr
38
39
  signal: timeoutSignal(5000),
39
40
  });
40
41
  const issuerWellKnown = await issuerWellKnownResponse.json();
41
- const validatedIssuerConfig = validateOIDCIssuerWellKnown(issuerWellKnown);
42
+ return validateAuthMetadataAndKeys(issuerWellKnown);
43
+ };
44
+ /**
45
+ * @experimental
46
+ * Validate the authentication metadata and fetch the signing keys from the jwks_uri in the metadata
47
+ * @param authMetadata - the authentication metadata to validate
48
+ * @returns validated authentication metadata and signing keys
49
+ */
50
+ export const validateAuthMetadataAndKeys = async (authMetadata: unknown): Promise<OidcClientConfig> => {
51
+ const validatedIssuerConfig = validateAuthMetadata(authMetadata);
42
52
 
43
53
  // create a temporary settings store, so we can use metadata service for discovery
44
54
  const settings = new OidcClientSettingsStore({
45
- authority: issuer,
55
+ authority: validatedIssuerConfig.issuer,
56
+ metadata: validatedIssuerConfig,
46
57
  redirect_uri: "", // Not known yet, this is here to make the type checker happy
47
58
  client_id: "", // Not known yet, this is here to make the type checker happy
48
59
  });
49
60
  const metadataService = new MetadataService(settings);
50
- const metadata = await metadataService.getMetadata();
51
- const signingKeys = (await metadataService.getSigningKeys()) ?? undefined;
52
-
53
- isValidatedIssuerMetadata(metadata);
54
-
61
+
55
62
  return {
56
63
  ...validatedIssuerConfig,
57
- metadata,
58
- signingKeys,
64
+ signingKeys: await metadataService.getSigningKeys(),
59
65
  };
60
66
  };
package/src/oidc/index.ts CHANGED
@@ -15,7 +15,7 @@ limitations under the License.
15
15
  */
16
16
 
17
17
  import type { SigningKey } from "oidc-client-ts";
18
- import { ValidatedIssuerConfig, ValidatedIssuerMetadata } from "./validate.ts";
18
+ import { ValidatedAuthMetadata } from "./validate.ts";
19
19
 
20
20
  export * from "./authorize.ts";
21
21
  export * from "./discovery.ts";
@@ -28,7 +28,6 @@ export * from "./validate.ts";
28
28
  * Validated config for native OIDC authentication, as returned by {@link discoverAndValidateOIDCIssuerWellKnown}.
29
29
  * Contains metadata and signing keys from the issuer's well-known (https://oidc-issuer.example.com/.well-known/openid-configuration).
30
30
  */
31
- export interface OidcClientConfig extends ValidatedIssuerConfig {
32
- metadata: ValidatedIssuerMetadata;
33
- signingKeys?: SigningKey[];
31
+ export interface OidcClientConfig extends ValidatedAuthMetadata {
32
+ signingKeys: SigningKey[] | null;
34
33
  }
@@ -65,12 +65,12 @@ export const registerOidcClient = async (
65
65
  delegatedAuthConfig: OidcClientConfig,
66
66
  clientMetadata: OidcRegistrationClientMetadata,
67
67
  ): Promise<string> => {
68
- if (!delegatedAuthConfig.registrationEndpoint) {
68
+ if (!delegatedAuthConfig.registration_endpoint) {
69
69
  throw new Error(OidcError.DynamicRegistrationNotSupported);
70
70
  }
71
71
 
72
72
  const grantTypes: NonEmptyArray<string> = ["authorization_code", "refresh_token"];
73
- if (grantTypes.some((scope) => !delegatedAuthConfig.metadata.grant_types_supported.includes(scope))) {
73
+ if (grantTypes.some((scope) => !delegatedAuthConfig.grant_types_supported.includes(scope))) {
74
74
  throw new Error(OidcError.DynamicRegistrationNotSupported);
75
75
  }
76
76
 
@@ -95,7 +95,7 @@ export const registerOidcClient = async (
95
95
  };
96
96
 
97
97
  try {
98
- const response = await fetch(delegatedAuthConfig.registrationEndpoint, {
98
+ const response = await fetch(delegatedAuthConfig.registration_endpoint, {
99
99
  method: Method.Post,
100
100
  headers,
101
101
  body: JSON.stringify(metadata),
@@ -77,11 +77,12 @@ export class OidcTokenRefresher {
77
77
  const scope = generateScope(deviceId);
78
78
 
79
79
  this.oidcClient = new OidcClient({
80
- ...config.metadata,
80
+ metadata: config,
81
+ signingKeys: config.signingKeys ?? undefined,
81
82
  client_id: clientId,
82
83
  scope,
83
84
  redirect_uri: redirectUri,
84
- authority: config.metadata.issuer,
85
+ authority: config.issuer,
85
86
  stateStore: new WebStorageStateStore({ prefix: "mx_oidc_", store: window.sessionStorage }),
86
87
  });
87
88
  } catch (error) {