@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
package/src/sync.ts CHANGED
@@ -25,7 +25,6 @@ limitations under the License.
25
25
 
26
26
  import { Optional } from "matrix-events-sdk";
27
27
 
28
- import type { SyncCryptoCallbacks } from "./common-crypto/CryptoBackend.ts";
29
28
  import { User } from "./models/user.ts";
30
29
  import { NotificationCountType, Room, RoomEvent } from "./models/room.ts";
31
30
  import { deepCopy, defer, IDeferred, noUnsafeEventProps, promiseMapSeries, unsafeProp } from "./utils.ts";
@@ -59,7 +58,6 @@ import { BeaconEvent } from "./models/beacon.ts";
59
58
  import { IEventsResponse } from "./@types/requests.ts";
60
59
  import { UNREAD_THREAD_NOTIFICATIONS } from "./@types/sync.ts";
61
60
  import { Feature, ServerSupport } from "./feature.ts";
62
- import { Crypto } from "./crypto/index.ts";
63
61
  import { KnownMembership } from "./@types/membership.ts";
64
62
 
65
63
  const DEBUG = true;
@@ -116,18 +114,6 @@ function debuglog(...params: any[]): void {
116
114
  * Options passed into the constructor of SyncApi by MatrixClient
117
115
  */
118
116
  export interface SyncApiOptions {
119
- /**
120
- * Crypto manager
121
- *
122
- * @deprecated in favour of cryptoCallbacks
123
- */
124
- crypto?: Crypto;
125
-
126
- /**
127
- * If crypto is enabled on our client, callbacks into the crypto module
128
- */
129
- cryptoCallbacks?: SyncCryptoCallbacks;
130
-
131
117
  /**
132
118
  * A function which is called
133
119
  * with a room ID and returns a boolean. It should return 'true' if the SDK can
@@ -175,14 +161,15 @@ export enum SetPresence {
175
161
  }
176
162
 
177
163
  interface ISyncParams {
178
- filter?: string;
179
- timeout: number;
180
- since?: string;
164
+ "filter"?: string;
165
+ "timeout": number;
166
+ "since"?: string;
181
167
  // eslint-disable-next-line camelcase
182
- full_state?: boolean;
168
+ "full_state"?: boolean;
183
169
  // eslint-disable-next-line camelcase
184
- set_presence?: SetPresence;
185
- _cacheBuster?: string | number; // not part of the API itself
170
+ "set_presence"?: SetPresence;
171
+ "_cacheBuster"?: string | number; // not part of the API itself
172
+ "org.matrix.msc4222.use_state_after"?: boolean; // https://github.com/matrix-org/matrix-spec-proposals/pull/4222
186
173
  }
187
174
 
188
175
  type WrappedRoom<T> = T & {
@@ -344,8 +331,9 @@ export class SyncApi {
344
331
  );
345
332
 
346
333
  const qps: ISyncParams = {
347
- timeout: 0, // don't want to block since this is a single isolated req
348
- filter: filterId,
334
+ "timeout": 0, // don't want to block since this is a single isolated req
335
+ "filter": filterId,
336
+ "org.matrix.msc4222.use_state_after": true,
349
337
  };
350
338
 
351
339
  const data = await client.http.authedRequest<ISyncResponse>(Method.Get, "/sync", qps as any, undefined, {
@@ -375,21 +363,17 @@ export class SyncApi {
375
363
  prev_batch: null,
376
364
  events: [],
377
365
  };
378
- const events = this.mapSyncEventsFormat(leaveObj.timeline, room);
379
-
380
- const stateEvents = this.mapSyncEventsFormat(leaveObj.state, room);
381
-
382
366
  // set the back-pagination token. Do this *before* adding any
383
367
  // events so that clients can start back-paginating.
384
368
  room.getLiveTimeline().setPaginationToken(leaveObj.timeline.prev_batch, EventTimeline.BACKWARDS);
385
369
 
386
- await this.injectRoomEvents(room, stateEvents, events);
370
+ const { timelineEvents } = await this.mapAndInjectRoomEvents(leaveObj);
387
371
 
388
372
  room.recalculate();
389
373
  client.store.storeRoom(room);
390
374
  client.emit(ClientEvent.Room, room);
391
375
 
392
- this.processEventsForNotifs(room, events);
376
+ this.processEventsForNotifs(room, timelineEvents);
393
377
  return room;
394
378
  }),
395
379
  );
@@ -464,6 +448,7 @@ export class SyncApi {
464
448
  this._peekRoom.addEventsToTimeline(
465
449
  messages.reverse(),
466
450
  true,
451
+ true,
467
452
  this._peekRoom.getLiveTimeline(),
468
453
  response.messages.start,
469
454
  );
@@ -551,7 +536,7 @@ export class SyncApi {
551
536
  })
552
537
  .map(this.client.getEventMapper());
553
538
 
554
- await peekRoom.addLiveEvents(events);
539
+ await peekRoom.addLiveEvents(events, { addToState: true });
555
540
  this.peekPoll(peekRoom, res.end);
556
541
  },
557
542
  (err) => {
@@ -642,9 +627,6 @@ export class SyncApi {
642
627
  }
643
628
  this.opts.filter.setLazyLoadMembers(true);
644
629
  }
645
- if (this.opts.lazyLoadMembers) {
646
- this.syncOpts.crypto?.enableLazyLoading();
647
- }
648
630
  };
649
631
 
650
632
  private storeClientOptions = async (): Promise<void> => {
@@ -880,12 +862,6 @@ export class SyncApi {
880
862
  catchingUp: this.catchingUp,
881
863
  };
882
864
 
883
- if (this.syncOpts.crypto) {
884
- // tell the crypto module we're about to process a sync
885
- // response
886
- await this.syncOpts.crypto.onSyncWillProcess(syncEventData);
887
- }
888
-
889
865
  try {
890
866
  await this.processSyncResponse(syncEventData, data);
891
867
  } catch (e) {
@@ -910,25 +886,10 @@ export class SyncApi {
910
886
  syncOptions.hasSyncedBefore = true;
911
887
  }
912
888
 
913
- // tell the crypto module to do its processing. It may block (to do a
914
- // /keys/changes request).
915
- if (this.syncOpts.cryptoCallbacks) {
916
- await this.syncOpts.cryptoCallbacks.onSyncCompleted(syncEventData);
917
- }
918
-
919
889
  // keep emitting SYNCING -> SYNCING for clients who want to do bulk updates
920
890
  this.updateSyncState(SyncState.Syncing, syncEventData);
921
891
 
922
892
  if (this.client.store.wantsSave()) {
923
- // We always save the device list (if it's dirty) before saving the sync data:
924
- // this means we know the saved device list data is at least as fresh as the
925
- // stored sync data which means we don't have to worry that we may have missed
926
- // device changes. We can also skip the delay since we're not calling this very
927
- // frequently (and we don't really want to delay the sync for it).
928
- if (this.syncOpts.crypto) {
929
- await this.syncOpts.crypto.saveDeviceList(0);
930
- }
931
-
932
893
  // tell databases that everything is now in a consistent state and can be saved.
933
894
  await this.client.store.save();
934
895
  }
@@ -976,7 +937,11 @@ export class SyncApi {
976
937
  filter = this.getGuestFilter();
977
938
  }
978
939
 
979
- const qps: ISyncParams = { filter, timeout };
940
+ const qps: ISyncParams = {
941
+ filter,
942
+ timeout,
943
+ "org.matrix.msc4222.use_state_after": true,
944
+ };
980
945
 
981
946
  if (this.opts.disablePresence) {
982
947
  qps.set_presence = SetPresence.Offline;
@@ -1160,11 +1125,7 @@ export class SyncApi {
1160
1125
 
1161
1126
  // handle to-device events
1162
1127
  if (data.to_device && Array.isArray(data.to_device.events) && data.to_device.events.length > 0) {
1163
- let toDeviceMessages: IToDeviceEvent[] = data.to_device.events.filter(noUnsafeEventProps);
1164
-
1165
- if (this.syncOpts.cryptoCallbacks) {
1166
- toDeviceMessages = await this.syncOpts.cryptoCallbacks.preprocessToDeviceMessages(toDeviceMessages);
1167
- }
1128
+ const toDeviceMessages: IToDeviceEvent[] = data.to_device.events.filter(noUnsafeEventProps);
1168
1129
 
1169
1130
  const cancelledKeyVerificationTxns: string[] = [];
1170
1131
  toDeviceMessages
@@ -1242,28 +1203,7 @@ export class SyncApi {
1242
1203
  const room = inviteObj.room;
1243
1204
  const stateEvents = this.mapSyncEventsFormat(inviteObj.invite_state, room);
1244
1205
 
1245
- await this.injectRoomEvents(room, stateEvents);
1246
-
1247
- const inviter = room.currentState.getStateEvents(EventType.RoomMember, client.getUserId()!)?.getSender();
1248
-
1249
- const crypto = client.crypto;
1250
- if (crypto) {
1251
- const parkedHistory = await crypto.cryptoStore.takeParkedSharedHistory(room.roomId);
1252
- for (const parked of parkedHistory) {
1253
- if (parked.senderId === inviter) {
1254
- await crypto.olmDevice.addInboundGroupSession(
1255
- room.roomId,
1256
- parked.senderKey,
1257
- parked.forwardingCurve25519KeyChain,
1258
- parked.sessionId,
1259
- parked.sessionKey,
1260
- parked.keysClaimed,
1261
- true,
1262
- { sharedHistory: true, untrusted: true },
1263
- );
1264
- }
1265
- }
1266
- }
1206
+ await this.injectRoomEvents(room, stateEvents, undefined);
1267
1207
 
1268
1208
  if (inviteObj.isBrandNewRoom) {
1269
1209
  room.recalculate();
@@ -1282,15 +1222,24 @@ export class SyncApi {
1282
1222
  await promiseMapSeries(joinRooms, async (joinObj) => {
1283
1223
  const room = joinObj.room;
1284
1224
  const stateEvents = this.mapSyncEventsFormat(joinObj.state, room);
1225
+ const stateAfterEvents = this.mapSyncEventsFormat(joinObj["org.matrix.msc4222.state_after"], room);
1285
1226
  // Prevent events from being decrypted ahead of time
1286
1227
  // this helps large account to speed up faster
1287
1228
  // room::decryptCriticalEvent is in charge of decrypting all the events
1288
1229
  // required for a client to function properly
1289
- const events = this.mapSyncEventsFormat(joinObj.timeline, room, false);
1230
+ const timelineEvents = this.mapSyncEventsFormat(joinObj.timeline, room, false);
1290
1231
  const ephemeralEvents = this.mapSyncEventsFormat(joinObj.ephemeral);
1291
1232
  const accountDataEvents = this.mapSyncEventsFormat(joinObj.account_data);
1292
1233
 
1293
- const encrypted = this.isRoomEncrypted(room, stateEvents, events);
1234
+ // If state_after is present, this is the events that form the state at the end of the timeline block and
1235
+ // regular timeline events do *not* count towards state. If it's not present, then the state is formed by
1236
+ // the state events plus the timeline events. Note mapSyncEventsFormat returns an empty array if the field
1237
+ // is absent so we explicitly check the field on the original object.
1238
+ const eventsFormingFinalState = joinObj["org.matrix.msc4222.state_after"]
1239
+ ? stateAfterEvents
1240
+ : stateEvents.concat(timelineEvents);
1241
+
1242
+ const encrypted = this.isRoomEncrypted(room, eventsFormingFinalState);
1294
1243
  // We store the server-provided value first so it's correct when any of the events fire.
1295
1244
  if (joinObj.unread_notifications) {
1296
1245
  /**
@@ -1378,8 +1327,8 @@ export class SyncApi {
1378
1327
  // which we'll try to paginate but not get any new events (which
1379
1328
  // will stop us linking the empty timeline into the chain).
1380
1329
  //
1381
- for (let i = events.length - 1; i >= 0; i--) {
1382
- const eventId = events[i].getId()!;
1330
+ for (let i = timelineEvents.length - 1; i >= 0; i--) {
1331
+ const eventId = timelineEvents[i].getId()!;
1383
1332
  if (room.getTimelineForEvent(eventId)) {
1384
1333
  debuglog(`Already have event ${eventId} in limited sync - not resetting`);
1385
1334
  limited = false;
@@ -1387,7 +1336,7 @@ export class SyncApi {
1387
1336
  // we might still be missing some of the events before i;
1388
1337
  // we don't want to be adding them to the end of the
1389
1338
  // timeline because that would put them out of order.
1390
- events.splice(0, i);
1339
+ timelineEvents.splice(0, i);
1391
1340
 
1392
1341
  // XXX: there's a problem here if the skipped part of the
1393
1342
  // timeline modifies the state set in stateEvents, because
@@ -1415,20 +1364,18 @@ export class SyncApi {
1415
1364
  }
1416
1365
  }
1417
1366
 
1418
- // process any crypto events *before* emitting the RoomStateEvent events. This
1419
- // avoids a race condition if the application tries to send a message after the
1420
- // state event is processed, but before crypto is enabled, which then causes the
1421
- // crypto layer to complain.
1422
- if (this.syncOpts.cryptoCallbacks) {
1423
- for (const e of stateEvents.concat(events)) {
1424
- if (e.isState() && e.getType() === EventType.RoomEncryption && e.getStateKey() === "") {
1425
- await this.syncOpts.cryptoCallbacks.onCryptoEvent(room, e);
1426
- }
1427
- }
1428
- }
1429
-
1430
1367
  try {
1431
- await this.injectRoomEvents(room, stateEvents, events, syncEventData.fromCache);
1368
+ if ("org.matrix.msc4222.state_after" in joinObj) {
1369
+ await this.injectRoomEvents(
1370
+ room,
1371
+ undefined,
1372
+ stateAfterEvents,
1373
+ timelineEvents,
1374
+ syncEventData.fromCache,
1375
+ );
1376
+ } else {
1377
+ await this.injectRoomEvents(room, stateEvents, undefined, timelineEvents, syncEventData.fromCache);
1378
+ }
1432
1379
  } catch (e) {
1433
1380
  logger.error(`Failed to process events on room ${room.roomId}:`, e);
1434
1381
  }
@@ -1452,28 +1399,21 @@ export class SyncApi {
1452
1399
  client.emit(ClientEvent.Room, room);
1453
1400
  }
1454
1401
 
1455
- this.processEventsForNotifs(room, events);
1402
+ this.processEventsForNotifs(room, timelineEvents);
1456
1403
 
1457
1404
  const emitEvent = (e: MatrixEvent): boolean => client.emit(ClientEvent.Event, e);
1458
1405
  stateEvents.forEach(emitEvent);
1459
- events.forEach(emitEvent);
1406
+ timelineEvents.forEach(emitEvent);
1460
1407
  ephemeralEvents.forEach(emitEvent);
1461
1408
  accountDataEvents.forEach(emitEvent);
1462
-
1463
- // Decrypt only the last message in all rooms to make sure we can generate a preview
1464
- // And decrypt all events after the recorded read receipt to ensure an accurate
1465
- // notification count
1466
- room.decryptCriticalEvents();
1467
1409
  });
1468
1410
 
1469
1411
  // Handle leaves (e.g. kicked rooms)
1470
1412
  await promiseMapSeries(leaveRooms, async (leaveObj) => {
1471
1413
  const room = leaveObj.room;
1472
- const stateEvents = this.mapSyncEventsFormat(leaveObj.state, room);
1473
- const events = this.mapSyncEventsFormat(leaveObj.timeline, room);
1414
+ const { timelineEvents, stateEvents, stateAfterEvents } = await this.mapAndInjectRoomEvents(leaveObj);
1474
1415
  const accountDataEvents = this.mapSyncEventsFormat(leaveObj.account_data);
1475
1416
 
1476
- await this.injectRoomEvents(room, stateEvents, events);
1477
1417
  room.addAccountData(accountDataEvents);
1478
1418
 
1479
1419
  room.recalculate();
@@ -1482,12 +1422,15 @@ export class SyncApi {
1482
1422
  client.emit(ClientEvent.Room, room);
1483
1423
  }
1484
1424
 
1485
- this.processEventsForNotifs(room, events);
1425
+ this.processEventsForNotifs(room, timelineEvents);
1486
1426
 
1487
- stateEvents.forEach(function (e) {
1427
+ stateEvents?.forEach(function (e) {
1488
1428
  client.emit(ClientEvent.Event, e);
1489
1429
  });
1490
- events.forEach(function (e) {
1430
+ stateAfterEvents?.forEach(function (e) {
1431
+ client.emit(ClientEvent.Event, e);
1432
+ });
1433
+ timelineEvents.forEach(function (e) {
1491
1434
  client.emit(ClientEvent.Event, e);
1492
1435
  });
1493
1436
  accountDataEvents.forEach(function (e) {
@@ -1500,7 +1443,7 @@ export class SyncApi {
1500
1443
  const room = knockObj.room;
1501
1444
  const stateEvents = this.mapSyncEventsFormat(knockObj.knock_state, room);
1502
1445
 
1503
- await this.injectRoomEvents(room, stateEvents);
1446
+ await this.injectRoomEvents(room, stateEvents, undefined);
1504
1447
 
1505
1448
  if (knockObj.isBrandNewRoom) {
1506
1449
  room.recalculate();
@@ -1525,26 +1468,9 @@ export class SyncApi {
1525
1468
  return a.getTs() - b.getTs();
1526
1469
  });
1527
1470
  this.notifEvents.forEach(function (event) {
1528
- client.getNotifTimelineSet()?.addLiveEvent(event);
1471
+ client.getNotifTimelineSet()?.addLiveEvent(event, { addToState: true });
1529
1472
  });
1530
1473
  }
1531
-
1532
- // Handle device list updates
1533
- if (data.device_lists) {
1534
- if (this.syncOpts.cryptoCallbacks) {
1535
- await this.syncOpts.cryptoCallbacks.processDeviceLists(data.device_lists);
1536
- } else {
1537
- // FIXME if we *don't* have a crypto module, we still need to
1538
- // invalidate the device lists. But that would require a
1539
- // substantial bit of rework :/.
1540
- }
1541
- }
1542
-
1543
- // Handle one_time_keys_count and unused fallback keys
1544
- await this.syncOpts.cryptoCallbacks?.processKeyCounts(
1545
- data.device_one_time_keys_count,
1546
- data.device_unused_fallback_key_types ?? data["org.matrix.msc2732.device_unused_fallback_key_types"],
1547
- );
1548
1474
  }
1549
1475
 
1550
1476
  /**
@@ -1669,7 +1595,7 @@ export class SyncApi {
1669
1595
  }
1670
1596
 
1671
1597
  private mapSyncEventsFormat(
1672
- obj: IInviteState | ITimeline | IEphemeral,
1598
+ obj: IInviteState | ITimeline | IEphemeral | undefined,
1673
1599
  room?: Room,
1674
1600
  decrypt = true,
1675
1601
  ): MatrixEvent[] {
@@ -1737,28 +1663,69 @@ export class SyncApi {
1737
1663
 
1738
1664
  // When processing the sync response we cannot rely on Room.hasEncryptionStateEvent we actually
1739
1665
  // inject the events into the room object, so we have to inspect the events themselves.
1740
- private isRoomEncrypted(room: Room, stateEventList: MatrixEvent[], timelineEventList?: MatrixEvent[]): boolean {
1741
- return (
1742
- room.hasEncryptionStateEvent() ||
1743
- !!this.findEncryptionEvent(stateEventList) ||
1744
- !!this.findEncryptionEvent(timelineEventList)
1666
+ private isRoomEncrypted(room: Room, eventsFormingFinalState: MatrixEvent[]): boolean {
1667
+ return room.hasEncryptionStateEvent() || !!this.findEncryptionEvent(eventsFormingFinalState);
1668
+ }
1669
+
1670
+ private async mapAndInjectRoomEvents(wrappedRoom: WrappedRoom<ILeftRoom>): Promise<{
1671
+ timelineEvents: MatrixEvent[];
1672
+ stateEvents?: MatrixEvent[];
1673
+ stateAfterEvents?: MatrixEvent[];
1674
+ }> {
1675
+ const stateEvents = this.mapSyncEventsFormat(wrappedRoom.state, wrappedRoom.room);
1676
+ const stateAfterEvents = this.mapSyncEventsFormat(
1677
+ wrappedRoom["org.matrix.msc4222.state_after"],
1678
+ wrappedRoom.room,
1745
1679
  );
1680
+ const timelineEvents = this.mapSyncEventsFormat(wrappedRoom.timeline, wrappedRoom.room);
1681
+
1682
+ if ("org.matrix.msc4222.state_after" in wrappedRoom) {
1683
+ await this.injectRoomEvents(wrappedRoom.room, undefined, stateAfterEvents, timelineEvents);
1684
+ } else {
1685
+ await this.injectRoomEvents(wrappedRoom.room, stateEvents, undefined, timelineEvents);
1686
+ }
1687
+
1688
+ return { timelineEvents, stateEvents, stateAfterEvents };
1746
1689
  }
1747
1690
 
1748
1691
  /**
1749
1692
  * Injects events into a room's model.
1750
1693
  * @param stateEventList - A list of state events. This is the state
1751
1694
  * at the *START* of the timeline list if it is supplied.
1695
+ * @param stateAfterEventList - A list of state events. This is the state
1696
+ * at the *END* of the timeline list if it is supplied.
1752
1697
  * @param timelineEventList - A list of timeline events, including threaded. Lower index
1753
1698
  * is earlier in time. Higher index is later.
1754
1699
  * @param fromCache - whether the sync response came from cache
1700
+ *
1701
+ * No more than one of stateEventList and stateAfterEventList must be supplied. If
1702
+ * stateEventList is supplied, the events in timelineEventList are added to the state
1703
+ * after stateEventList. If stateAfterEventList is supplied, the events in timelineEventList
1704
+ * are not added to the state.
1755
1705
  */
1756
1706
  public async injectRoomEvents(
1757
1707
  room: Room,
1758
1708
  stateEventList: MatrixEvent[],
1709
+ stateAfterEventList: undefined,
1710
+ timelineEventList?: MatrixEvent[],
1711
+ fromCache?: boolean,
1712
+ ): Promise<void>;
1713
+ public async injectRoomEvents(
1714
+ room: Room,
1715
+ stateEventList: undefined,
1716
+ stateAfterEventList: MatrixEvent[],
1717
+ timelineEventList?: MatrixEvent[],
1718
+ fromCache?: boolean,
1719
+ ): Promise<void>;
1720
+ public async injectRoomEvents(
1721
+ room: Room,
1722
+ stateEventList: MatrixEvent[] | undefined,
1723
+ stateAfterEventList: MatrixEvent[] | undefined,
1759
1724
  timelineEventList?: MatrixEvent[],
1760
1725
  fromCache = false,
1761
1726
  ): Promise<void> {
1727
+ const eitherStateEventList = stateAfterEventList ?? stateEventList!;
1728
+
1762
1729
  // If there are no events in the timeline yet, initialise it with
1763
1730
  // the given state events
1764
1731
  const liveTimeline = room.getLiveTimeline();
@@ -1772,10 +1739,11 @@ export class SyncApi {
1772
1739
  // push actions cache elsewhere so we can freeze MatrixEvents, or otherwise
1773
1740
  // find some solution where MatrixEvents are immutable but allow for a cache
1774
1741
  // field.
1775
- for (const ev of stateEventList) {
1742
+
1743
+ for (const ev of eitherStateEventList) {
1776
1744
  this.client.getPushActionsForEvent(ev);
1777
1745
  }
1778
- liveTimeline.initialiseState(stateEventList, {
1746
+ liveTimeline.initialiseState(eitherStateEventList, {
1779
1747
  timelineWasEmpty,
1780
1748
  });
1781
1749
  }
@@ -1807,17 +1775,18 @@ export class SyncApi {
1807
1775
  // XXX: As above, don't do this...
1808
1776
  //room.addLiveEvents(stateEventList || []);
1809
1777
  // Do this instead...
1810
- room.oldState.setStateEvents(stateEventList || []);
1811
- room.currentState.setStateEvents(stateEventList || []);
1778
+ room.oldState.setStateEvents(eitherStateEventList);
1779
+ room.currentState.setStateEvents(eitherStateEventList);
1812
1780
  }
1813
1781
 
1814
- // Execute the timeline events. This will continue to diverge the current state
1815
- // if the timeline has any state events in it.
1782
+ // Execute the timeline events. If addToState is true the timeline has any state
1783
+ // events in it, this will continue to diverge the current state.
1816
1784
  // This also needs to be done before running push rules on the events as they need
1817
1785
  // to be decorated with sender etc.
1818
1786
  await room.addLiveEvents(timelineEventList || [], {
1819
1787
  fromCache,
1820
1788
  timelineWasEmpty,
1789
+ addToState: stateAfterEventList === undefined,
1821
1790
  });
1822
1791
  this.client.processBeaconEvents(room, timelineEventList);
1823
1792
  }
package/src/testing.ts CHANGED
@@ -25,9 +25,7 @@ limitations under the License.
25
25
  import { IContent, IEvent, IUnsigned, MatrixEvent } from "./models/event.ts";
26
26
  import { RoomMember } from "./models/room-member.ts";
27
27
  import { EventType } from "./@types/event.ts";
28
- import { DecryptionError } from "./crypto/algorithms/index.ts";
29
- import { DecryptionFailureCode } from "./crypto-api/index.ts";
30
- import { EventDecryptionResult } from "./common-crypto/CryptoBackend.ts";
28
+ import { OidcClientConfig, ValidatedAuthMetadata } from "./oidc/index.ts";
31
29
 
32
30
  /**
33
31
  * Create a {@link MatrixEvent}.
@@ -86,106 +84,41 @@ export function mkMatrixEvent(opts: {
86
84
  }
87
85
 
88
86
  /**
89
- * Create a `MatrixEvent` representing a successfully-decrypted `m.room.encrypted` event.
90
- *
91
- * @param opts - Values for the event.
92
- */
93
- export async function mkEncryptedMatrixEvent(opts: {
94
- /** Room ID of the event. */
95
- roomId: string;
96
-
97
- /** The sender of the event. */
98
- sender: string;
99
-
100
- /** The type the event will have, once it has been decrypted. */
101
- plainType: EventType | string;
102
-
103
- /** The content the event will have, once it has been decrypted. */
104
- plainContent: IContent;
105
-
106
- /** Optional `event_id` for the event. If provided will be used as event ID; else an ID is generated. */
107
- eventId?: string;
108
- }): Promise<MatrixEvent> {
109
- const mxEvent = mkMatrixEvent({
110
- type: EventType.RoomMessageEncrypted,
111
- roomId: opts.roomId,
112
- sender: opts.sender,
113
- content: { algorithm: "m.megolm.v1.aes-sha2" },
114
- eventId: opts.eventId,
115
- });
116
-
117
- await decryptExistingEvent(mxEvent, { plainType: opts.plainType, plainContent: opts.plainContent });
118
- return mxEvent;
119
- }
120
-
121
- /**
122
- * Create a `MatrixEvent` representing a `m.room.encrypted` event which could not be decrypted.
123
- *
124
- * @param opts - Values for the event.
87
+ * Makes a valid OidcClientConfig with minimum valid values
88
+ * @param issuer used as the base for all other urls
89
+ * @param additionalGrantTypes to add to the default grant types
90
+ * @returns OidcClientConfig
91
+ * @experimental
125
92
  */
126
- export async function mkDecryptionFailureMatrixEvent(opts: {
127
- /** Room ID of the event. */
128
- roomId: string;
129
-
130
- /** The sender of the event. */
131
- sender: string;
132
-
133
- /** The reason code for the failure */
134
- code: DecryptionFailureCode;
135
-
136
- /** A textual reason for the failure */
137
- msg: string;
138
-
139
- /** Optional `event_id` for the event. If provided will be used as event ID; else an ID is generated. */
140
- eventId?: string;
141
- }): Promise<MatrixEvent> {
142
- const mxEvent = mkMatrixEvent({
143
- type: EventType.RoomMessageEncrypted,
144
- roomId: opts.roomId,
145
- sender: opts.sender,
146
- content: { algorithm: "m.megolm.v1.aes-sha2" },
147
- eventId: opts.eventId,
148
- });
149
-
150
- const mockCrypto = {
151
- decryptEvent: async (_ev): Promise<EventDecryptionResult> => {
152
- throw new DecryptionError(opts.code, opts.msg);
153
- },
154
- } as Parameters<MatrixEvent["attemptDecryption"]>[0];
155
- await mxEvent.attemptDecryption(mockCrypto);
156
- return mxEvent;
157
- }
158
-
93
+ export const makeDelegatedAuthConfig = (
94
+ issuer = "https://auth.org/",
95
+ additionalGrantTypes: string[] = [],
96
+ ): OidcClientConfig => {
97
+ const metadata = mockOpenIdConfiguration(issuer, additionalGrantTypes);
98
+ return {
99
+ ...metadata,
100
+ signingKeys: null,
101
+ };
102
+ };
159
103
  /**
160
- * Given an event previously returned by {@link mkDecryptionFailureMatrixEvent}, simulate a successful re-decryption
161
- * attempt.
162
- *
163
- * @param mxEvent - The event that will be decrypted.
164
- * @param opts - New data for the successful decryption.
104
+ * Useful for mocking <issuer>/.well-known/openid-configuration
105
+ * @param issuer used as the base for all other urls
106
+ * @param additionalGrantTypes to add to the default grant types
107
+ * @returns ValidatedAuthMetadata
108
+ * @experimental
165
109
  */
166
- export async function decryptExistingEvent(
167
- mxEvent: MatrixEvent,
168
- opts: {
169
- /** The type the event will have, once it has been decrypted. */
170
- plainType: EventType | string;
171
-
172
- /** The content the event will have, once it has been decrypted. */
173
- plainContent: IContent;
174
- },
175
- ): Promise<void> {
176
- const decryptionResult: EventDecryptionResult = {
177
- claimedEd25519Key: "",
178
- clearEvent: {
179
- type: opts.plainType,
180
- content: opts.plainContent,
181
- },
182
- forwardingCurve25519KeyChain: [],
183
- senderCurve25519Key: "",
184
- untrusted: false,
185
- };
186
-
187
- const mockCrypto = {
188
- decryptEvent: async (_ev): Promise<EventDecryptionResult> => decryptionResult,
189
- } as Parameters<MatrixEvent["attemptDecryption"]>[0];
190
- await mxEvent.attemptDecryption(mockCrypto);
191
- }
110
+ export const mockOpenIdConfiguration = (
111
+ issuer = "https://auth.org/",
112
+ additionalGrantTypes: string[] = [],
113
+ ): ValidatedAuthMetadata => ({
114
+ issuer,
115
+ revocation_endpoint: issuer + "revoke",
116
+ token_endpoint: issuer + "token",
117
+ authorization_endpoint: issuer + "auth",
118
+ registration_endpoint: issuer + "registration",
119
+ device_authorization_endpoint: issuer + "device",
120
+ jwks_uri: issuer + "jwks",
121
+ response_types_supported: ["code"],
122
+ grant_types_supported: ["authorization_code", "refresh_token", ...additionalGrantTypes],
123
+ code_challenge_methods_supported: ["S256"],
124
+ });
package/src/types.ts CHANGED
@@ -26,7 +26,6 @@ export * from "./@types/membership.ts";
26
26
  export type * from "./@types/event.ts";
27
27
  export type * from "./@types/events.ts";
28
28
  export type * from "./@types/state_events.ts";
29
- export type * from "./@types/AESEncryptedSecretStoragePayload.ts";
30
29
 
31
30
  /** The different methods for device and user verification */
32
31
  export enum VerificationMethod {