@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
@@ -1,1145 +0,0 @@
1
- import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
2
- import _defineProperty from "@babel/runtime/helpers/defineProperty";
3
- /*
4
- Copyright 2017 - 2021 The Matrix.org Foundation C.I.C.
5
-
6
- Licensed under the Apache License, Version 2.0 (the "License");
7
- you may not use this file except in compliance with the License.
8
- You may obtain a copy of the License at
9
-
10
- http://www.apache.org/licenses/LICENSE-2.0
11
-
12
- Unless required by applicable law or agreed to in writing, software
13
- distributed under the License is distributed on an "AS IS" BASIS,
14
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
- See the License for the specific language governing permissions and
16
- limitations under the License.
17
- */
18
-
19
- import { logger } from "../../logger.js";
20
- import { deepCompare } from "../../utils.js";
21
- import { MigrationState, SESSION_BATCH_SIZE, ACCOUNT_OBJECT_KEY_MIGRATION_STATE } from "./base.js";
22
- import { IndexedDBCryptoStore } from "./indexeddb-crypto-store.js";
23
- var PROFILE_TRANSACTIONS = false;
24
-
25
- /**
26
- * Implementation of a CryptoStore which is backed by an existing
27
- * IndexedDB connection. Generally you want IndexedDBCryptoStore
28
- * which connects to the database and defers to one of these.
29
- *
30
- * @internal
31
- */
32
- export class Backend {
33
- /**
34
- */
35
- constructor(db) {
36
- this.db = db;
37
- _defineProperty(this, "nextTxnId", 0);
38
- // make sure we close the db on `onversionchange` - otherwise
39
- // attempts to delete the database will block (and subsequent
40
- // attempts to re-create it will also block).
41
- db.onversionchange = () => {
42
- logger.log("versionchange for indexeddb ".concat(this.db.name, ": closing"));
43
- db.close();
44
- };
45
- }
46
- containsData() {
47
- return _asyncToGenerator(function* () {
48
- throw Error("Not implemented for Backend");
49
- })();
50
- }
51
- startup() {
52
- var _this = this;
53
- return _asyncToGenerator(function* () {
54
- // No work to do, as the startup is done by the caller (e.g IndexedDBCryptoStore)
55
- // by passing us a ready IDBDatabase instance
56
- return _this;
57
- })();
58
- }
59
- deleteAllData() {
60
- return _asyncToGenerator(function* () {
61
- throw Error("This is not implemented, call IDBFactory::deleteDatabase(dbName) instead.");
62
- })();
63
- }
64
-
65
- /**
66
- * Get data on how much of the libolm to Rust Crypto migration has been done.
67
- *
68
- * Implementation of {@link CryptoStore.getMigrationState}.
69
- */
70
- getMigrationState() {
71
- var _this2 = this;
72
- return _asyncToGenerator(function* () {
73
- var migrationState = MigrationState.NOT_STARTED;
74
- yield _this2.doTxn("readonly", [IndexedDBCryptoStore.STORE_ACCOUNT], txn => {
75
- var objectStore = txn.objectStore(IndexedDBCryptoStore.STORE_ACCOUNT);
76
- var getReq = objectStore.get(ACCOUNT_OBJECT_KEY_MIGRATION_STATE);
77
- getReq.onsuccess = () => {
78
- var _getReq$result;
79
- migrationState = (_getReq$result = getReq.result) !== null && _getReq$result !== void 0 ? _getReq$result : MigrationState.NOT_STARTED;
80
- };
81
- });
82
- return migrationState;
83
- })();
84
- }
85
-
86
- /**
87
- * Set data on how much of the libolm to Rust Crypto migration has been done.
88
- *
89
- * Implementation of {@link CryptoStore.setMigrationState}.
90
- */
91
- setMigrationState(migrationState) {
92
- var _this3 = this;
93
- return _asyncToGenerator(function* () {
94
- yield _this3.doTxn("readwrite", [IndexedDBCryptoStore.STORE_ACCOUNT], txn => {
95
- var objectStore = txn.objectStore(IndexedDBCryptoStore.STORE_ACCOUNT);
96
- objectStore.put(migrationState, ACCOUNT_OBJECT_KEY_MIGRATION_STATE);
97
- });
98
- })();
99
- }
100
-
101
- /**
102
- * Look for an existing outgoing room key request, and if none is found,
103
- * add a new one
104
- *
105
- *
106
- * @returns resolves to
107
- * {@link OutgoingRoomKeyRequest}: either the
108
- * same instance as passed in, or the existing one.
109
- */
110
- getOrAddOutgoingRoomKeyRequest(request) {
111
- var requestBody = request.requestBody;
112
- return new Promise((resolve, reject) => {
113
- var txn = this.db.transaction("outgoingRoomKeyRequests", "readwrite");
114
- txn.onerror = reject;
115
-
116
- // first see if we already have an entry for this request.
117
- this._getOutgoingRoomKeyRequest(txn, requestBody, existing => {
118
- if (existing) {
119
- // this entry matches the request - return it.
120
- logger.log("already have key request outstanding for " + "".concat(requestBody.room_id, " / ").concat(requestBody.session_id, ": ") + "not sending another");
121
- resolve(existing);
122
- return;
123
- }
124
-
125
- // we got to the end of the list without finding a match
126
- // - add the new request.
127
- logger.log("enqueueing key request for ".concat(requestBody.room_id, " / ") + requestBody.session_id);
128
- txn.oncomplete = () => {
129
- resolve(request);
130
- };
131
- var store = txn.objectStore("outgoingRoomKeyRequests");
132
- store.add(request);
133
- });
134
- });
135
- }
136
-
137
- /**
138
- * Look for an existing room key request
139
- *
140
- * @param requestBody - existing request to look for
141
- *
142
- * @returns resolves to the matching
143
- * {@link OutgoingRoomKeyRequest}, or null if
144
- * not found
145
- */
146
- getOutgoingRoomKeyRequest(requestBody) {
147
- return new Promise((resolve, reject) => {
148
- var txn = this.db.transaction("outgoingRoomKeyRequests", "readonly");
149
- txn.onerror = reject;
150
- this._getOutgoingRoomKeyRequest(txn, requestBody, existing => {
151
- resolve(existing);
152
- });
153
- });
154
- }
155
-
156
- /**
157
- * look for an existing room key request in the db
158
- *
159
- * @internal
160
- * @param txn - database transaction
161
- * @param requestBody - existing request to look for
162
- * @param callback - function to call with the results of the
163
- * search. Either passed a matching
164
- * {@link OutgoingRoomKeyRequest}, or null if
165
- * not found.
166
- */
167
- // eslint-disable-next-line @typescript-eslint/naming-convention
168
- _getOutgoingRoomKeyRequest(txn, requestBody, callback) {
169
- var store = txn.objectStore("outgoingRoomKeyRequests");
170
- var idx = store.index("session");
171
- var cursorReq = idx.openCursor([requestBody.room_id, requestBody.session_id]);
172
- cursorReq.onsuccess = () => {
173
- var cursor = cursorReq.result;
174
- if (!cursor) {
175
- // no match found
176
- callback(null);
177
- return;
178
- }
179
- var existing = cursor.value;
180
- if (deepCompare(existing.requestBody, requestBody)) {
181
- // got a match
182
- callback(existing);
183
- return;
184
- }
185
-
186
- // look at the next entry in the index
187
- cursor.continue();
188
- };
189
- }
190
-
191
- /**
192
- * Look for room key requests by state
193
- *
194
- * @param wantedStates - list of acceptable states
195
- *
196
- * @returns resolves to the a
197
- * {@link OutgoingRoomKeyRequest}, or null if
198
- * there are no pending requests in those states. If there are multiple
199
- * requests in those states, an arbitrary one is chosen.
200
- */
201
- getOutgoingRoomKeyRequestByState(wantedStates) {
202
- if (wantedStates.length === 0) {
203
- return Promise.resolve(null);
204
- }
205
-
206
- // this is a bit tortuous because we need to make sure we do the lookup
207
- // in a single transaction, to avoid having a race with the insertion
208
- // code.
209
-
210
- // index into the wantedStates array
211
- var stateIndex = 0;
212
- var result;
213
- function onsuccess() {
214
- var cursor = this.result;
215
- if (cursor) {
216
- // got a match
217
- result = cursor.value;
218
- return;
219
- }
220
-
221
- // try the next state in the list
222
- stateIndex++;
223
- if (stateIndex >= wantedStates.length) {
224
- // no matches
225
- return;
226
- }
227
- var wantedState = wantedStates[stateIndex];
228
- var cursorReq = this.source.openCursor(wantedState);
229
- cursorReq.onsuccess = onsuccess;
230
- }
231
- var txn = this.db.transaction("outgoingRoomKeyRequests", "readonly");
232
- var store = txn.objectStore("outgoingRoomKeyRequests");
233
- var wantedState = wantedStates[stateIndex];
234
- var cursorReq = store.index("state").openCursor(wantedState);
235
- cursorReq.onsuccess = onsuccess;
236
- return promiseifyTxn(txn).then(() => result);
237
- }
238
-
239
- /**
240
- *
241
- * @returns All elements in a given state
242
- */
243
- getAllOutgoingRoomKeyRequestsByState(wantedState) {
244
- return new Promise((resolve, reject) => {
245
- var txn = this.db.transaction("outgoingRoomKeyRequests", "readonly");
246
- var store = txn.objectStore("outgoingRoomKeyRequests");
247
- var index = store.index("state");
248
- var request = index.getAll(wantedState);
249
- request.onsuccess = () => resolve(request.result);
250
- request.onerror = () => reject(request.error);
251
- });
252
- }
253
- getOutgoingRoomKeyRequestsByTarget(userId, deviceId, wantedStates) {
254
- var stateIndex = 0;
255
- var results = [];
256
- function onsuccess() {
257
- var cursor = this.result;
258
- if (cursor) {
259
- var keyReq = cursor.value;
260
- if (keyReq.recipients.some(recipient => recipient.userId === userId && recipient.deviceId === deviceId)) {
261
- results.push(keyReq);
262
- }
263
- cursor.continue();
264
- } else {
265
- // try the next state in the list
266
- stateIndex++;
267
- if (stateIndex >= wantedStates.length) {
268
- // no matches
269
- return;
270
- }
271
- var _wantedState = wantedStates[stateIndex];
272
- var _cursorReq = this.source.openCursor(_wantedState);
273
- _cursorReq.onsuccess = onsuccess;
274
- }
275
- }
276
- var txn = this.db.transaction("outgoingRoomKeyRequests", "readonly");
277
- var store = txn.objectStore("outgoingRoomKeyRequests");
278
- var wantedState = wantedStates[stateIndex];
279
- var cursorReq = store.index("state").openCursor(wantedState);
280
- cursorReq.onsuccess = onsuccess;
281
- return promiseifyTxn(txn).then(() => results);
282
- }
283
-
284
- /**
285
- * Look for an existing room key request by id and state, and update it if
286
- * found
287
- *
288
- * @param requestId - ID of request to update
289
- * @param expectedState - state we expect to find the request in
290
- * @param updates - name/value map of updates to apply
291
- *
292
- * @returns resolves to
293
- * {@link OutgoingRoomKeyRequest}
294
- * updated request, or null if no matching row was found
295
- */
296
- updateOutgoingRoomKeyRequest(requestId, expectedState, updates) {
297
- var result = null;
298
- function onsuccess() {
299
- var cursor = this.result;
300
- if (!cursor) {
301
- return;
302
- }
303
- var data = cursor.value;
304
- if (data.state != expectedState) {
305
- logger.warn("Cannot update room key request from ".concat(expectedState, " ") + "as it was already updated to ".concat(data.state));
306
- return;
307
- }
308
- Object.assign(data, updates);
309
- cursor.update(data);
310
- result = data;
311
- }
312
- var txn = this.db.transaction("outgoingRoomKeyRequests", "readwrite");
313
- var cursorReq = txn.objectStore("outgoingRoomKeyRequests").openCursor(requestId);
314
- cursorReq.onsuccess = onsuccess;
315
- return promiseifyTxn(txn).then(() => result);
316
- }
317
-
318
- /**
319
- * Look for an existing room key request by id and state, and delete it if
320
- * found
321
- *
322
- * @param requestId - ID of request to update
323
- * @param expectedState - state we expect to find the request in
324
- *
325
- * @returns resolves once the operation is completed
326
- */
327
- deleteOutgoingRoomKeyRequest(requestId, expectedState) {
328
- var txn = this.db.transaction("outgoingRoomKeyRequests", "readwrite");
329
- var cursorReq = txn.objectStore("outgoingRoomKeyRequests").openCursor(requestId);
330
- cursorReq.onsuccess = () => {
331
- var cursor = cursorReq.result;
332
- if (!cursor) {
333
- return;
334
- }
335
- var data = cursor.value;
336
- if (data.state != expectedState) {
337
- logger.warn("Cannot delete room key request in state ".concat(data.state, " ") + "(expected ".concat(expectedState, ")"));
338
- return;
339
- }
340
- cursor.delete();
341
- };
342
- return promiseifyTxn(txn);
343
- }
344
-
345
- // Olm Account
346
-
347
- getAccount(txn, func) {
348
- var objectStore = txn.objectStore("account");
349
- var getReq = objectStore.get("-");
350
- getReq.onsuccess = function () {
351
- try {
352
- func(getReq.result || null);
353
- } catch (e) {
354
- abortWithException(txn, e);
355
- }
356
- };
357
- }
358
- storeAccount(txn, accountPickle) {
359
- var objectStore = txn.objectStore("account");
360
- objectStore.put(accountPickle, "-");
361
- }
362
- getCrossSigningKeys(txn, func) {
363
- var objectStore = txn.objectStore("account");
364
- var getReq = objectStore.get("crossSigningKeys");
365
- getReq.onsuccess = function () {
366
- try {
367
- func(getReq.result || null);
368
- } catch (e) {
369
- abortWithException(txn, e);
370
- }
371
- };
372
- }
373
- getSecretStorePrivateKey(txn, func, type) {
374
- var objectStore = txn.objectStore("account");
375
- var getReq = objectStore.get("ssss_cache:".concat(type));
376
- getReq.onsuccess = function () {
377
- try {
378
- func(getReq.result || null);
379
- } catch (e) {
380
- abortWithException(txn, e);
381
- }
382
- };
383
- }
384
- storeCrossSigningKeys(txn, keys) {
385
- var objectStore = txn.objectStore("account");
386
- objectStore.put(keys, "crossSigningKeys");
387
- }
388
- storeSecretStorePrivateKey(txn, type, key) {
389
- var objectStore = txn.objectStore("account");
390
- objectStore.put(key, "ssss_cache:".concat(type));
391
- }
392
-
393
- // Olm Sessions
394
-
395
- countEndToEndSessions(txn, func) {
396
- var objectStore = txn.objectStore("sessions");
397
- var countReq = objectStore.count();
398
- countReq.onsuccess = function () {
399
- try {
400
- func(countReq.result);
401
- } catch (e) {
402
- abortWithException(txn, e);
403
- }
404
- };
405
- }
406
- getEndToEndSessions(deviceKey, txn, func) {
407
- var objectStore = txn.objectStore("sessions");
408
- var idx = objectStore.index("deviceKey");
409
- var getReq = idx.openCursor(deviceKey);
410
- var results = {};
411
- getReq.onsuccess = function () {
412
- var cursor = getReq.result;
413
- if (cursor) {
414
- results[cursor.value.sessionId] = {
415
- session: cursor.value.session,
416
- lastReceivedMessageTs: cursor.value.lastReceivedMessageTs
417
- };
418
- cursor.continue();
419
- } else {
420
- try {
421
- func(results);
422
- } catch (e) {
423
- abortWithException(txn, e);
424
- }
425
- }
426
- };
427
- }
428
- getEndToEndSession(deviceKey, sessionId, txn, func) {
429
- var objectStore = txn.objectStore("sessions");
430
- var getReq = objectStore.get([deviceKey, sessionId]);
431
- getReq.onsuccess = function () {
432
- try {
433
- if (getReq.result) {
434
- func({
435
- session: getReq.result.session,
436
- lastReceivedMessageTs: getReq.result.lastReceivedMessageTs
437
- });
438
- } else {
439
- func(null);
440
- }
441
- } catch (e) {
442
- abortWithException(txn, e);
443
- }
444
- };
445
- }
446
- getAllEndToEndSessions(txn, func) {
447
- var objectStore = txn.objectStore("sessions");
448
- var getReq = objectStore.openCursor();
449
- getReq.onsuccess = function () {
450
- try {
451
- var cursor = getReq.result;
452
- if (cursor) {
453
- func(cursor.value);
454
- cursor.continue();
455
- } else {
456
- func(null);
457
- }
458
- } catch (e) {
459
- abortWithException(txn, e);
460
- }
461
- };
462
- }
463
- storeEndToEndSession(deviceKey, sessionId, sessionInfo, txn) {
464
- var objectStore = txn.objectStore("sessions");
465
- objectStore.put({
466
- deviceKey,
467
- sessionId,
468
- session: sessionInfo.session,
469
- lastReceivedMessageTs: sessionInfo.lastReceivedMessageTs
470
- });
471
- }
472
- storeEndToEndSessionProblem(deviceKey, type, fixed) {
473
- var _this4 = this;
474
- return _asyncToGenerator(function* () {
475
- var txn = _this4.db.transaction("session_problems", "readwrite");
476
- var objectStore = txn.objectStore("session_problems");
477
- objectStore.put({
478
- deviceKey,
479
- type,
480
- fixed,
481
- time: Date.now()
482
- });
483
- yield promiseifyTxn(txn);
484
- })();
485
- }
486
- getEndToEndSessionProblem(deviceKey, timestamp) {
487
- var _this5 = this;
488
- return _asyncToGenerator(function* () {
489
- var result = null;
490
- var txn = _this5.db.transaction("session_problems", "readwrite");
491
- var objectStore = txn.objectStore("session_problems");
492
- var index = objectStore.index("deviceKey");
493
- var req = index.getAll(deviceKey);
494
- req.onsuccess = () => {
495
- var problems = req.result;
496
- if (!problems.length) {
497
- result = null;
498
- return;
499
- }
500
- problems.sort((a, b) => {
501
- return a.time - b.time;
502
- });
503
- var lastProblem = problems[problems.length - 1];
504
- for (var problem of problems) {
505
- if (problem.time > timestamp) {
506
- result = Object.assign({}, problem, {
507
- fixed: lastProblem.fixed
508
- });
509
- return;
510
- }
511
- }
512
- if (lastProblem.fixed) {
513
- result = null;
514
- } else {
515
- result = lastProblem;
516
- }
517
- };
518
- yield promiseifyTxn(txn);
519
- return result;
520
- })();
521
- }
522
-
523
- // FIXME: we should probably prune this when devices get deleted
524
- filterOutNotifiedErrorDevices(devices) {
525
- var _this6 = this;
526
- return _asyncToGenerator(function* () {
527
- var txn = _this6.db.transaction("notified_error_devices", "readwrite");
528
- var objectStore = txn.objectStore("notified_error_devices");
529
- var ret = [];
530
- yield Promise.all(devices.map(device => {
531
- return new Promise(resolve => {
532
- var {
533
- userId,
534
- deviceInfo
535
- } = device;
536
- var getReq = objectStore.get([userId, deviceInfo.deviceId]);
537
- getReq.onsuccess = function () {
538
- if (!getReq.result) {
539
- objectStore.put({
540
- userId,
541
- deviceId: deviceInfo.deviceId
542
- });
543
- ret.push(device);
544
- }
545
- resolve();
546
- };
547
- });
548
- }));
549
- return ret;
550
- })();
551
- }
552
-
553
- /**
554
- * Fetch a batch of Olm sessions from the database.
555
- *
556
- * Implementation of {@link CryptoStore.getEndToEndSessionsBatch}.
557
- */
558
- getEndToEndSessionsBatch() {
559
- var _this7 = this;
560
- return _asyncToGenerator(function* () {
561
- var result = [];
562
- yield _this7.doTxn("readonly", [IndexedDBCryptoStore.STORE_SESSIONS], txn => {
563
- var objectStore = txn.objectStore(IndexedDBCryptoStore.STORE_SESSIONS);
564
- var getReq = objectStore.openCursor();
565
- getReq.onsuccess = function () {
566
- try {
567
- var cursor = getReq.result;
568
- if (cursor) {
569
- result.push(cursor.value);
570
- if (result.length < SESSION_BATCH_SIZE) {
571
- cursor.continue();
572
- }
573
- }
574
- } catch (e) {
575
- abortWithException(txn, e);
576
- }
577
- };
578
- });
579
- if (result.length === 0) {
580
- // No sessions left.
581
- return null;
582
- }
583
- return result;
584
- })();
585
- }
586
-
587
- /**
588
- * Delete a batch of Olm sessions from the database.
589
- *
590
- * Implementation of {@link CryptoStore.deleteEndToEndSessionsBatch}.
591
- *
592
- * @internal
593
- */
594
- deleteEndToEndSessionsBatch(sessions) {
595
- var _this8 = this;
596
- return _asyncToGenerator(function* () {
597
- yield _this8.doTxn("readwrite", [IndexedDBCryptoStore.STORE_SESSIONS], /*#__PURE__*/function () {
598
- var _ref = _asyncToGenerator(function* (txn) {
599
- try {
600
- var objectStore = txn.objectStore(IndexedDBCryptoStore.STORE_SESSIONS);
601
- var _loop = function* _loop() {
602
- var req = objectStore.delete([deviceKey, sessionId]);
603
- yield new Promise(resolve => {
604
- req.onsuccess = resolve;
605
- });
606
- };
607
- for (var {
608
- deviceKey,
609
- sessionId
610
- } of sessions) {
611
- yield* _loop();
612
- }
613
- } catch (e) {
614
- abortWithException(txn, e);
615
- }
616
- });
617
- return function (_x) {
618
- return _ref.apply(this, arguments);
619
- };
620
- }());
621
- })();
622
- }
623
-
624
- // Inbound group sessions
625
-
626
- getEndToEndInboundGroupSession(senderCurve25519Key, sessionId, txn, func) {
627
- var session = false;
628
- var withheld = false;
629
- var objectStore = txn.objectStore("inbound_group_sessions");
630
- var getReq = objectStore.get([senderCurve25519Key, sessionId]);
631
- getReq.onsuccess = function () {
632
- try {
633
- if (getReq.result) {
634
- session = getReq.result.session;
635
- } else {
636
- session = null;
637
- }
638
- if (withheld !== false) {
639
- func(session, withheld);
640
- }
641
- } catch (e) {
642
- abortWithException(txn, e);
643
- }
644
- };
645
- var withheldObjectStore = txn.objectStore("inbound_group_sessions_withheld");
646
- var withheldGetReq = withheldObjectStore.get([senderCurve25519Key, sessionId]);
647
- withheldGetReq.onsuccess = function () {
648
- try {
649
- if (withheldGetReq.result) {
650
- withheld = withheldGetReq.result.session;
651
- } else {
652
- withheld = null;
653
- }
654
- if (session !== false) {
655
- func(session, withheld);
656
- }
657
- } catch (e) {
658
- abortWithException(txn, e);
659
- }
660
- };
661
- }
662
- getAllEndToEndInboundGroupSessions(txn, func) {
663
- var objectStore = txn.objectStore("inbound_group_sessions");
664
- var getReq = objectStore.openCursor();
665
- getReq.onsuccess = function () {
666
- var cursor = getReq.result;
667
- if (cursor) {
668
- try {
669
- func({
670
- senderKey: cursor.value.senderCurve25519Key,
671
- sessionId: cursor.value.sessionId,
672
- sessionData: cursor.value.session
673
- });
674
- } catch (e) {
675
- abortWithException(txn, e);
676
- }
677
- cursor.continue();
678
- } else {
679
- try {
680
- func(null);
681
- } catch (e) {
682
- abortWithException(txn, e);
683
- }
684
- }
685
- };
686
- }
687
- addEndToEndInboundGroupSession(senderCurve25519Key, sessionId, sessionData, txn) {
688
- var objectStore = txn.objectStore("inbound_group_sessions");
689
- var addReq = objectStore.add({
690
- senderCurve25519Key,
691
- sessionId,
692
- session: sessionData
693
- });
694
- addReq.onerror = ev => {
695
- var _addReq$error;
696
- if (((_addReq$error = addReq.error) === null || _addReq$error === void 0 ? void 0 : _addReq$error.name) === "ConstraintError") {
697
- // This stops the error from triggering the txn's onerror
698
- ev.stopPropagation();
699
- // ...and this stops it from aborting the transaction
700
- ev.preventDefault();
701
- logger.log("Ignoring duplicate inbound group session: " + senderCurve25519Key + " / " + sessionId);
702
- } else {
703
- abortWithException(txn, new Error("Failed to add inbound group session: " + addReq.error));
704
- }
705
- };
706
- }
707
- storeEndToEndInboundGroupSession(senderCurve25519Key, sessionId, sessionData, txn) {
708
- var objectStore = txn.objectStore("inbound_group_sessions");
709
- objectStore.put({
710
- senderCurve25519Key,
711
- sessionId,
712
- session: sessionData
713
- });
714
- }
715
- storeEndToEndInboundGroupSessionWithheld(senderCurve25519Key, sessionId, sessionData, txn) {
716
- var objectStore = txn.objectStore("inbound_group_sessions_withheld");
717
- objectStore.put({
718
- senderCurve25519Key,
719
- sessionId,
720
- session: sessionData
721
- });
722
- }
723
-
724
- /**
725
- * Count the number of Megolm sessions in the database.
726
- *
727
- * Implementation of {@link CryptoStore.countEndToEndInboundGroupSessions}.
728
- *
729
- * @internal
730
- */
731
- countEndToEndInboundGroupSessions() {
732
- var _this9 = this;
733
- return _asyncToGenerator(function* () {
734
- var result = 0;
735
- yield _this9.doTxn("readonly", [IndexedDBCryptoStore.STORE_INBOUND_GROUP_SESSIONS], txn => {
736
- var sessionStore = txn.objectStore(IndexedDBCryptoStore.STORE_INBOUND_GROUP_SESSIONS);
737
- var countReq = sessionStore.count();
738
- countReq.onsuccess = () => {
739
- result = countReq.result;
740
- };
741
- });
742
- return result;
743
- })();
744
- }
745
-
746
- /**
747
- * Fetch a batch of Megolm sessions from the database.
748
- *
749
- * Implementation of {@link CryptoStore.getEndToEndInboundGroupSessionsBatch}.
750
- */
751
- getEndToEndInboundGroupSessionsBatch() {
752
- var _this10 = this;
753
- return _asyncToGenerator(function* () {
754
- var result = [];
755
- yield _this10.doTxn("readonly", [IndexedDBCryptoStore.STORE_INBOUND_GROUP_SESSIONS, IndexedDBCryptoStore.STORE_BACKUP], txn => {
756
- var sessionStore = txn.objectStore(IndexedDBCryptoStore.STORE_INBOUND_GROUP_SESSIONS);
757
- var backupStore = txn.objectStore(IndexedDBCryptoStore.STORE_BACKUP);
758
- var getReq = sessionStore.openCursor();
759
- getReq.onsuccess = function () {
760
- try {
761
- var cursor = getReq.result;
762
- if (cursor) {
763
- var backupGetReq = backupStore.get(cursor.key);
764
- backupGetReq.onsuccess = () => {
765
- result.push({
766
- senderKey: cursor.value.senderCurve25519Key,
767
- sessionId: cursor.value.sessionId,
768
- sessionData: cursor.value.session,
769
- needsBackup: backupGetReq.result !== undefined
770
- });
771
- if (result.length < SESSION_BATCH_SIZE) {
772
- cursor.continue();
773
- }
774
- };
775
- }
776
- } catch (e) {
777
- abortWithException(txn, e);
778
- }
779
- };
780
- });
781
- if (result.length === 0) {
782
- // No sessions left.
783
- return null;
784
- }
785
- return result;
786
- })();
787
- }
788
-
789
- /**
790
- * Delete a batch of Megolm sessions from the database.
791
- *
792
- * Implementation of {@link CryptoStore.deleteEndToEndInboundGroupSessionsBatch}.
793
- *
794
- * @internal
795
- */
796
- deleteEndToEndInboundGroupSessionsBatch(sessions) {
797
- var _this11 = this;
798
- return _asyncToGenerator(function* () {
799
- yield _this11.doTxn("readwrite", [IndexedDBCryptoStore.STORE_INBOUND_GROUP_SESSIONS], /*#__PURE__*/function () {
800
- var _ref2 = _asyncToGenerator(function* (txn) {
801
- try {
802
- var objectStore = txn.objectStore(IndexedDBCryptoStore.STORE_INBOUND_GROUP_SESSIONS);
803
- var _loop2 = function* _loop2() {
804
- var req = objectStore.delete([senderKey, sessionId]);
805
- yield new Promise(resolve => {
806
- req.onsuccess = resolve;
807
- });
808
- };
809
- for (var {
810
- senderKey,
811
- sessionId
812
- } of sessions) {
813
- yield* _loop2();
814
- }
815
- } catch (e) {
816
- abortWithException(txn, e);
817
- }
818
- });
819
- return function (_x2) {
820
- return _ref2.apply(this, arguments);
821
- };
822
- }());
823
- })();
824
- }
825
- getEndToEndDeviceData(txn, func) {
826
- var objectStore = txn.objectStore("device_data");
827
- var getReq = objectStore.get("-");
828
- getReq.onsuccess = function () {
829
- try {
830
- func(getReq.result || null);
831
- } catch (e) {
832
- abortWithException(txn, e);
833
- }
834
- };
835
- }
836
- storeEndToEndDeviceData(deviceData, txn) {
837
- var objectStore = txn.objectStore("device_data");
838
- objectStore.put(deviceData, "-");
839
- }
840
- storeEndToEndRoom(roomId, roomInfo, txn) {
841
- var objectStore = txn.objectStore("rooms");
842
- objectStore.put(roomInfo, roomId);
843
- }
844
- getEndToEndRooms(txn, func) {
845
- var rooms = {};
846
- var objectStore = txn.objectStore("rooms");
847
- var getReq = objectStore.openCursor();
848
- getReq.onsuccess = function () {
849
- var cursor = getReq.result;
850
- if (cursor) {
851
- rooms[cursor.key] = cursor.value;
852
- cursor.continue();
853
- } else {
854
- try {
855
- func(rooms);
856
- } catch (e) {
857
- abortWithException(txn, e);
858
- }
859
- }
860
- };
861
- }
862
-
863
- // session backups
864
-
865
- getSessionsNeedingBackup(limit) {
866
- return new Promise((resolve, reject) => {
867
- var sessions = [];
868
- var txn = this.db.transaction(["sessions_needing_backup", "inbound_group_sessions"], "readonly");
869
- txn.onerror = reject;
870
- txn.oncomplete = function () {
871
- resolve(sessions);
872
- };
873
- var objectStore = txn.objectStore("sessions_needing_backup");
874
- var sessionStore = txn.objectStore("inbound_group_sessions");
875
- var getReq = objectStore.openCursor();
876
- getReq.onsuccess = function () {
877
- var cursor = getReq.result;
878
- if (cursor) {
879
- var sessionGetReq = sessionStore.get(cursor.key);
880
- sessionGetReq.onsuccess = function () {
881
- sessions.push({
882
- senderKey: sessionGetReq.result.senderCurve25519Key,
883
- sessionId: sessionGetReq.result.sessionId,
884
- sessionData: sessionGetReq.result.session
885
- });
886
- };
887
- if (!limit || sessions.length < limit) {
888
- cursor.continue();
889
- }
890
- }
891
- };
892
- });
893
- }
894
- countSessionsNeedingBackup(txn) {
895
- if (!txn) {
896
- txn = this.db.transaction("sessions_needing_backup", "readonly");
897
- }
898
- var objectStore = txn.objectStore("sessions_needing_backup");
899
- return new Promise((resolve, reject) => {
900
- var req = objectStore.count();
901
- req.onerror = reject;
902
- req.onsuccess = () => resolve(req.result);
903
- });
904
- }
905
- unmarkSessionsNeedingBackup(sessions, txn) {
906
- var _this12 = this;
907
- return _asyncToGenerator(function* () {
908
- if (!txn) {
909
- txn = _this12.db.transaction("sessions_needing_backup", "readwrite");
910
- }
911
- var objectStore = txn.objectStore("sessions_needing_backup");
912
- yield Promise.all(sessions.map(session => {
913
- return new Promise((resolve, reject) => {
914
- var req = objectStore.delete([session.senderKey, session.sessionId]);
915
- req.onsuccess = resolve;
916
- req.onerror = reject;
917
- });
918
- }));
919
- })();
920
- }
921
- markSessionsNeedingBackup(sessions, txn) {
922
- var _this13 = this;
923
- return _asyncToGenerator(function* () {
924
- if (!txn) {
925
- txn = _this13.db.transaction("sessions_needing_backup", "readwrite");
926
- }
927
- var objectStore = txn.objectStore("sessions_needing_backup");
928
- yield Promise.all(sessions.map(session => {
929
- return new Promise((resolve, reject) => {
930
- var req = objectStore.put({
931
- senderCurve25519Key: session.senderKey,
932
- sessionId: session.sessionId
933
- });
934
- req.onsuccess = resolve;
935
- req.onerror = reject;
936
- });
937
- }));
938
- })();
939
- }
940
- addSharedHistoryInboundGroupSession(roomId, senderKey, sessionId, txn) {
941
- if (!txn) {
942
- txn = this.db.transaction("shared_history_inbound_group_sessions", "readwrite");
943
- }
944
- var objectStore = txn.objectStore("shared_history_inbound_group_sessions");
945
- var req = objectStore.get([roomId]);
946
- req.onsuccess = () => {
947
- var {
948
- sessions
949
- } = req.result || {
950
- sessions: []
951
- };
952
- sessions.push([senderKey, sessionId]);
953
- objectStore.put({
954
- roomId,
955
- sessions
956
- });
957
- };
958
- }
959
- getSharedHistoryInboundGroupSessions(roomId, txn) {
960
- if (!txn) {
961
- txn = this.db.transaction("shared_history_inbound_group_sessions", "readonly");
962
- }
963
- var objectStore = txn.objectStore("shared_history_inbound_group_sessions");
964
- var req = objectStore.get([roomId]);
965
- return new Promise((resolve, reject) => {
966
- req.onsuccess = () => {
967
- var {
968
- sessions
969
- } = req.result || {
970
- sessions: []
971
- };
972
- resolve(sessions);
973
- };
974
- req.onerror = reject;
975
- });
976
- }
977
- addParkedSharedHistory(roomId, parkedData, txn) {
978
- if (!txn) {
979
- txn = this.db.transaction("parked_shared_history", "readwrite");
980
- }
981
- var objectStore = txn.objectStore("parked_shared_history");
982
- var req = objectStore.get([roomId]);
983
- req.onsuccess = () => {
984
- var {
985
- parked
986
- } = req.result || {
987
- parked: []
988
- };
989
- parked.push(parkedData);
990
- objectStore.put({
991
- roomId,
992
- parked
993
- });
994
- };
995
- }
996
- takeParkedSharedHistory(roomId, txn) {
997
- if (!txn) {
998
- txn = this.db.transaction("parked_shared_history", "readwrite");
999
- }
1000
- var cursorReq = txn.objectStore("parked_shared_history").openCursor(roomId);
1001
- return new Promise((resolve, reject) => {
1002
- cursorReq.onsuccess = () => {
1003
- var cursor = cursorReq.result;
1004
- if (!cursor) {
1005
- resolve([]);
1006
- return;
1007
- }
1008
- var data = cursor.value;
1009
- cursor.delete();
1010
- resolve(data);
1011
- };
1012
- cursorReq.onerror = reject;
1013
- });
1014
- }
1015
- doTxn(mode, stores, func) {
1016
- var log = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : logger;
1017
- var startTime;
1018
- var description;
1019
- if (PROFILE_TRANSACTIONS) {
1020
- var txnId = this.nextTxnId++;
1021
- startTime = Date.now();
1022
- description = "".concat(mode, " crypto store transaction ").concat(txnId, " in ").concat(stores);
1023
- log.debug("Starting ".concat(description));
1024
- }
1025
- var txn = this.db.transaction(stores, mode);
1026
- var promise = promiseifyTxn(txn);
1027
- var result = func(txn);
1028
- if (PROFILE_TRANSACTIONS) {
1029
- promise.then(() => {
1030
- var elapsedTime = Date.now() - startTime;
1031
- log.debug("Finished ".concat(description, ", took ").concat(elapsedTime, " ms"));
1032
- }, () => {
1033
- var elapsedTime = Date.now() - startTime;
1034
- log.error("Failed ".concat(description, ", took ").concat(elapsedTime, " ms"));
1035
- });
1036
- }
1037
- return promise.then(() => {
1038
- return result;
1039
- });
1040
- }
1041
- }
1042
- var DB_MIGRATIONS = [db => {
1043
- createDatabase(db);
1044
- }, db => {
1045
- db.createObjectStore("account");
1046
- }, db => {
1047
- var sessionsStore = db.createObjectStore("sessions", {
1048
- keyPath: ["deviceKey", "sessionId"]
1049
- });
1050
- sessionsStore.createIndex("deviceKey", "deviceKey");
1051
- }, db => {
1052
- db.createObjectStore("inbound_group_sessions", {
1053
- keyPath: ["senderCurve25519Key", "sessionId"]
1054
- });
1055
- }, db => {
1056
- db.createObjectStore("device_data");
1057
- }, db => {
1058
- db.createObjectStore("rooms");
1059
- }, db => {
1060
- db.createObjectStore("sessions_needing_backup", {
1061
- keyPath: ["senderCurve25519Key", "sessionId"]
1062
- });
1063
- }, db => {
1064
- db.createObjectStore("inbound_group_sessions_withheld", {
1065
- keyPath: ["senderCurve25519Key", "sessionId"]
1066
- });
1067
- }, db => {
1068
- var problemsStore = db.createObjectStore("session_problems", {
1069
- keyPath: ["deviceKey", "time"]
1070
- });
1071
- problemsStore.createIndex("deviceKey", "deviceKey");
1072
- db.createObjectStore("notified_error_devices", {
1073
- keyPath: ["userId", "deviceId"]
1074
- });
1075
- }, db => {
1076
- db.createObjectStore("shared_history_inbound_group_sessions", {
1077
- keyPath: ["roomId"]
1078
- });
1079
- }, db => {
1080
- db.createObjectStore("parked_shared_history", {
1081
- keyPath: ["roomId"]
1082
- });
1083
- }
1084
- // Expand as needed.
1085
- ];
1086
- export var VERSION = DB_MIGRATIONS.length;
1087
- export function upgradeDatabase(db, oldVersion) {
1088
- logger.log("Upgrading IndexedDBCryptoStore from version ".concat(oldVersion) + " to ".concat(VERSION));
1089
- DB_MIGRATIONS.forEach((migration, index) => {
1090
- if (oldVersion <= index) migration(db);
1091
- });
1092
- }
1093
- function createDatabase(db) {
1094
- var outgoingRoomKeyRequestsStore = db.createObjectStore("outgoingRoomKeyRequests", {
1095
- keyPath: "requestId"
1096
- });
1097
-
1098
- // we assume that the RoomKeyRequestBody will have room_id and session_id
1099
- // properties, to make the index efficient.
1100
- outgoingRoomKeyRequestsStore.createIndex("session", ["requestBody.room_id", "requestBody.session_id"]);
1101
- outgoingRoomKeyRequestsStore.createIndex("state", "state");
1102
- }
1103
- /*
1104
- * Aborts a transaction with a given exception
1105
- * The transaction promise will be rejected with this exception.
1106
- */
1107
- function abortWithException(txn, e) {
1108
- // We cheekily stick our exception onto the transaction object here
1109
- // We could alternatively make the thing we pass back to the app
1110
- // an object containing the transaction and exception.
1111
- txn._mx_abortexception = e;
1112
- try {
1113
- txn.abort();
1114
- } catch (_unused) {
1115
- // sometimes we won't be able to abort the transaction
1116
- // (ie. if it's aborted or completed)
1117
- }
1118
- }
1119
- function promiseifyTxn(txn) {
1120
- return new Promise((resolve, reject) => {
1121
- txn.oncomplete = () => {
1122
- if (txn._mx_abortexception !== undefined) {
1123
- reject(txn._mx_abortexception);
1124
- }
1125
- resolve(null);
1126
- };
1127
- txn.onerror = event => {
1128
- if (txn._mx_abortexception !== undefined) {
1129
- reject(txn._mx_abortexception);
1130
- } else {
1131
- logger.log("Error performing indexeddb txn", event);
1132
- reject(txn.error);
1133
- }
1134
- };
1135
- txn.onabort = event => {
1136
- if (txn._mx_abortexception !== undefined) {
1137
- reject(txn._mx_abortexception);
1138
- } else {
1139
- logger.log("Error performing indexeddb txn", event);
1140
- reject(txn.error);
1141
- }
1142
- };
1143
- });
1144
- }
1145
- //# sourceMappingURL=indexeddb-crypto-store-backend.js.map