@unwanted/matrix-sdk-mini 34.12.0 → 34.13.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 (698) hide show
  1. package/git-revision.txt +1 -1
  2. package/lib/@types/event.d.ts +0 -19
  3. package/lib/@types/event.d.ts.map +1 -1
  4. package/lib/@types/event.js.map +1 -1
  5. package/lib/@types/global.d.js +0 -2
  6. package/lib/@types/global.d.js.map +1 -1
  7. package/lib/autodiscovery.d.ts +1 -1
  8. package/lib/autodiscovery.d.ts.map +1 -1
  9. package/lib/autodiscovery.js.map +1 -1
  10. package/lib/base64.d.ts +3 -6
  11. package/lib/base64.d.ts.map +1 -1
  12. package/lib/base64.js +43 -36
  13. package/lib/base64.js.map +1 -1
  14. package/lib/browser-index.d.ts.map +1 -1
  15. package/lib/browser-index.js +0 -11
  16. package/lib/browser-index.js.map +1 -1
  17. package/lib/client.d.ts +2 -1298
  18. package/lib/client.d.ts.map +1 -1
  19. package/lib/client.js +348 -2967
  20. package/lib/client.js.map +1 -1
  21. package/lib/digest.d.ts +2 -2
  22. package/lib/digest.d.ts.map +1 -1
  23. package/lib/digest.js +2 -2
  24. package/lib/digest.js.map +1 -1
  25. package/lib/embedded.d.ts +0 -22
  26. package/lib/embedded.d.ts.map +1 -1
  27. package/lib/embedded.js +58 -168
  28. package/lib/embedded.js.map +1 -1
  29. package/lib/event-mapper.d.ts.map +1 -1
  30. package/lib/event-mapper.js +0 -4
  31. package/lib/event-mapper.js.map +1 -1
  32. package/lib/matrix.d.ts +0 -25
  33. package/lib/matrix.d.ts.map +1 -1
  34. package/lib/matrix.js +1 -30
  35. package/lib/matrix.js.map +1 -1
  36. package/lib/models/MSC3089Branch.d.ts.map +1 -1
  37. package/lib/models/MSC3089Branch.js +0 -3
  38. package/lib/models/MSC3089Branch.js.map +1 -1
  39. package/lib/models/event-timeline-set.d.ts +6 -10
  40. package/lib/models/event-timeline-set.d.ts.map +1 -1
  41. package/lib/models/event-timeline-set.js +28 -36
  42. package/lib/models/event-timeline-set.js.map +1 -1
  43. package/lib/models/event-timeline.d.ts +7 -2
  44. package/lib/models/event-timeline.d.ts.map +1 -1
  45. package/lib/models/event-timeline.js +8 -9
  46. package/lib/models/event-timeline.js.map +1 -1
  47. package/lib/models/event.d.ts +1 -95
  48. package/lib/models/event.d.ts.map +1 -1
  49. package/lib/models/event.js +11 -281
  50. package/lib/models/event.js.map +1 -1
  51. package/lib/models/poll.d.ts.map +1 -1
  52. package/lib/models/poll.js +1 -5
  53. package/lib/models/poll.js.map +1 -1
  54. package/lib/models/relations-container.d.ts.map +1 -1
  55. package/lib/models/relations-container.js +1 -7
  56. package/lib/models/relations-container.js.map +1 -1
  57. package/lib/models/relations.d.ts +0 -1
  58. package/lib/models/relations.d.ts.map +1 -1
  59. package/lib/models/relations.js +0 -8
  60. package/lib/models/relations.js.map +1 -1
  61. package/lib/models/room-state.d.ts +2 -13
  62. package/lib/models/room-state.d.ts.map +1 -1
  63. package/lib/models/room-state.js +12 -56
  64. package/lib/models/room-state.js.map +1 -1
  65. package/lib/models/room.d.ts +2 -20
  66. package/lib/models/room.d.ts.map +1 -1
  67. package/lib/models/room.js +121 -162
  68. package/lib/models/room.js.map +1 -1
  69. package/lib/models/thread.d.ts.map +1 -1
  70. package/lib/models/thread.js +5 -4
  71. package/lib/models/thread.js.map +1 -1
  72. package/lib/sliding-sync-sdk.d.ts +3 -4
  73. package/lib/sliding-sync-sdk.d.ts.map +1 -1
  74. package/lib/sliding-sync-sdk.js +55 -102
  75. package/lib/sliding-sync-sdk.js.map +1 -1
  76. package/lib/sliding-sync.js +9 -6
  77. package/lib/sliding-sync.js.map +1 -1
  78. package/lib/store/indexeddb.d.ts +1 -1
  79. package/lib/store/indexeddb.d.ts.map +1 -1
  80. package/lib/store/indexeddb.js.map +1 -1
  81. package/lib/sync-accumulator.d.ts +6 -4
  82. package/lib/sync-accumulator.d.ts.map +1 -1
  83. package/lib/sync-accumulator.js +23 -12
  84. package/lib/sync-accumulator.js.map +1 -1
  85. package/lib/sync.d.ts +10 -13
  86. package/lib/sync.d.ts.map +1 -1
  87. package/lib/sync.js +94 -115
  88. package/lib/sync.js.map +1 -1
  89. package/lib/testing.d.ts +0 -48
  90. package/lib/testing.d.ts.map +1 -1
  91. package/lib/testing.js +0 -105
  92. package/lib/testing.js.map +1 -1
  93. package/lib/types.d.ts +0 -1
  94. package/lib/types.d.ts.map +1 -1
  95. package/lib/types.js.map +1 -1
  96. package/package.json +10 -11
  97. package/src/@types/event.ts +2 -36
  98. package/src/@types/global.d.ts +21 -4
  99. package/src/autodiscovery.ts +1 -1
  100. package/src/base64.ts +38 -40
  101. package/src/browser-index.ts +0 -11
  102. package/src/client.ts +68 -3087
  103. package/src/digest.ts +3 -3
  104. package/src/embedded.ts +38 -134
  105. package/src/event-mapper.ts +0 -4
  106. package/src/matrix.ts +0 -41
  107. package/src/models/MSC3089Branch.ts +0 -3
  108. package/src/models/event-timeline-set.ts +17 -38
  109. package/src/models/event-timeline.ts +10 -5
  110. package/src/models/event.ts +8 -295
  111. package/src/models/poll.ts +0 -6
  112. package/src/models/relations-container.ts +1 -8
  113. package/src/models/relations.ts +0 -8
  114. package/src/models/room-state.ts +4 -37
  115. package/src/models/room.ts +18 -68
  116. package/src/models/thread.ts +4 -3
  117. package/src/sliding-sync-sdk.ts +10 -83
  118. package/src/sliding-sync.ts +6 -6
  119. package/src/store/indexeddb.ts +1 -1
  120. package/src/sync-accumulator.ts +33 -16
  121. package/src/sync.ts +112 -143
  122. package/src/testing.ts +0 -108
  123. package/src/types.ts +0 -1
  124. package/CHANGELOG.md +0 -5910
  125. package/lib/@types/AESEncryptedSecretStoragePayload.d.ts +0 -14
  126. package/lib/@types/AESEncryptedSecretStoragePayload.d.ts.map +0 -1
  127. package/lib/@types/AESEncryptedSecretStoragePayload.js +0 -1
  128. package/lib/@types/AESEncryptedSecretStoragePayload.js.map +0 -1
  129. package/lib/@types/crypto.d.ts +0 -47
  130. package/lib/@types/crypto.d.ts.map +0 -1
  131. package/lib/@types/crypto.js +0 -1
  132. package/lib/@types/crypto.js.map +0 -1
  133. package/lib/@types/matrix-sdk-crypto-wasm.d.js +0 -1
  134. package/lib/@types/matrix-sdk-crypto-wasm.d.js.map +0 -1
  135. package/lib/common-crypto/CryptoBackend.d.ts +0 -240
  136. package/lib/common-crypto/CryptoBackend.d.ts.map +0 -1
  137. package/lib/common-crypto/CryptoBackend.js +0 -73
  138. package/lib/common-crypto/CryptoBackend.js.map +0 -1
  139. package/lib/common-crypto/key-passphrase.d.ts +0 -14
  140. package/lib/common-crypto/key-passphrase.d.ts.map +0 -1
  141. package/lib/common-crypto/key-passphrase.js +0 -33
  142. package/lib/common-crypto/key-passphrase.js.map +0 -1
  143. package/lib/crypto/CrossSigning.d.ts +0 -184
  144. package/lib/crypto/CrossSigning.d.ts.map +0 -1
  145. package/lib/crypto/CrossSigning.js +0 -718
  146. package/lib/crypto/CrossSigning.js.map +0 -1
  147. package/lib/crypto/DeviceList.d.ts +0 -216
  148. package/lib/crypto/DeviceList.d.ts.map +0 -1
  149. package/lib/crypto/DeviceList.js +0 -892
  150. package/lib/crypto/DeviceList.js.map +0 -1
  151. package/lib/crypto/EncryptionSetup.d.ts +0 -152
  152. package/lib/crypto/EncryptionSetup.d.ts.map +0 -1
  153. package/lib/crypto/EncryptionSetup.js +0 -356
  154. package/lib/crypto/EncryptionSetup.js.map +0 -1
  155. package/lib/crypto/OlmDevice.d.ts +0 -457
  156. package/lib/crypto/OlmDevice.d.ts.map +0 -1
  157. package/lib/crypto/OlmDevice.js +0 -1241
  158. package/lib/crypto/OlmDevice.js.map +0 -1
  159. package/lib/crypto/OutgoingRoomKeyRequestManager.d.ts +0 -109
  160. package/lib/crypto/OutgoingRoomKeyRequestManager.d.ts.map +0 -1
  161. package/lib/crypto/OutgoingRoomKeyRequestManager.js +0 -415
  162. package/lib/crypto/OutgoingRoomKeyRequestManager.js.map +0 -1
  163. package/lib/crypto/RoomList.d.ts +0 -26
  164. package/lib/crypto/RoomList.d.ts.map +0 -1
  165. package/lib/crypto/RoomList.js +0 -71
  166. package/lib/crypto/RoomList.js.map +0 -1
  167. package/lib/crypto/SecretSharing.d.ts +0 -24
  168. package/lib/crypto/SecretSharing.d.ts.map +0 -1
  169. package/lib/crypto/SecretSharing.js +0 -194
  170. package/lib/crypto/SecretSharing.js.map +0 -1
  171. package/lib/crypto/SecretStorage.d.ts +0 -55
  172. package/lib/crypto/SecretStorage.d.ts.map +0 -1
  173. package/lib/crypto/SecretStorage.js +0 -118
  174. package/lib/crypto/SecretStorage.js.map +0 -1
  175. package/lib/crypto/aes.d.ts +0 -6
  176. package/lib/crypto/aes.d.ts.map +0 -1
  177. package/lib/crypto/aes.js +0 -24
  178. package/lib/crypto/aes.js.map +0 -1
  179. package/lib/crypto/algorithms/base.d.ts +0 -156
  180. package/lib/crypto/algorithms/base.d.ts.map +0 -1
  181. package/lib/crypto/algorithms/base.js +0 -187
  182. package/lib/crypto/algorithms/base.js.map +0 -1
  183. package/lib/crypto/algorithms/index.d.ts +0 -4
  184. package/lib/crypto/algorithms/index.d.ts.map +0 -1
  185. package/lib/crypto/algorithms/index.js +0 -20
  186. package/lib/crypto/algorithms/index.js.map +0 -1
  187. package/lib/crypto/algorithms/megolm.d.ts +0 -385
  188. package/lib/crypto/algorithms/megolm.d.ts.map +0 -1
  189. package/lib/crypto/algorithms/megolm.js +0 -1822
  190. package/lib/crypto/algorithms/megolm.js.map +0 -1
  191. package/lib/crypto/algorithms/olm.d.ts +0 -5
  192. package/lib/crypto/algorithms/olm.d.ts.map +0 -1
  193. package/lib/crypto/algorithms/olm.js +0 -299
  194. package/lib/crypto/algorithms/olm.js.map +0 -1
  195. package/lib/crypto/api.d.ts +0 -32
  196. package/lib/crypto/api.d.ts.map +0 -1
  197. package/lib/crypto/api.js +0 -22
  198. package/lib/crypto/api.js.map +0 -1
  199. package/lib/crypto/backup.d.ts +0 -227
  200. package/lib/crypto/backup.d.ts.map +0 -1
  201. package/lib/crypto/backup.js +0 -824
  202. package/lib/crypto/backup.js.map +0 -1
  203. package/lib/crypto/crypto.d.ts +0 -3
  204. package/lib/crypto/crypto.d.ts.map +0 -1
  205. package/lib/crypto/crypto.js +0 -19
  206. package/lib/crypto/crypto.js.map +0 -1
  207. package/lib/crypto/dehydration.d.ts +0 -34
  208. package/lib/crypto/dehydration.d.ts.map +0 -1
  209. package/lib/crypto/dehydration.js +0 -252
  210. package/lib/crypto/dehydration.js.map +0 -1
  211. package/lib/crypto/device-converter.d.ts +0 -9
  212. package/lib/crypto/device-converter.d.ts.map +0 -1
  213. package/lib/crypto/device-converter.js +0 -42
  214. package/lib/crypto/device-converter.js.map +0 -1
  215. package/lib/crypto/deviceinfo.d.ts +0 -99
  216. package/lib/crypto/deviceinfo.d.ts.map +0 -1
  217. package/lib/crypto/deviceinfo.js +0 -148
  218. package/lib/crypto/deviceinfo.js.map +0 -1
  219. package/lib/crypto/index.d.ts +0 -1210
  220. package/lib/crypto/index.d.ts.map +0 -1
  221. package/lib/crypto/index.js +0 -4101
  222. package/lib/crypto/index.js.map +0 -1
  223. package/lib/crypto/key_passphrase.d.ts +0 -14
  224. package/lib/crypto/key_passphrase.d.ts.map +0 -1
  225. package/lib/crypto/key_passphrase.js +0 -44
  226. package/lib/crypto/key_passphrase.js.map +0 -1
  227. package/lib/crypto/keybackup.d.ts +0 -18
  228. package/lib/crypto/keybackup.d.ts.map +0 -1
  229. package/lib/crypto/keybackup.js +0 -1
  230. package/lib/crypto/keybackup.js.map +0 -1
  231. package/lib/crypto/olmlib.d.ts +0 -129
  232. package/lib/crypto/olmlib.d.ts.map +0 -1
  233. package/lib/crypto/olmlib.js +0 -492
  234. package/lib/crypto/olmlib.js.map +0 -1
  235. package/lib/crypto/recoverykey.d.ts +0 -2
  236. package/lib/crypto/recoverykey.d.ts.map +0 -1
  237. package/lib/crypto/recoverykey.js +0 -19
  238. package/lib/crypto/recoverykey.js.map +0 -1
  239. package/lib/crypto/store/base.d.ts +0 -252
  240. package/lib/crypto/store/base.d.ts.map +0 -1
  241. package/lib/crypto/store/base.js +0 -64
  242. package/lib/crypto/store/base.js.map +0 -1
  243. package/lib/crypto/store/indexeddb-crypto-store-backend.d.ts +0 -187
  244. package/lib/crypto/store/indexeddb-crypto-store-backend.d.ts.map +0 -1
  245. package/lib/crypto/store/indexeddb-crypto-store-backend.js +0 -1145
  246. package/lib/crypto/store/indexeddb-crypto-store-backend.js.map +0 -1
  247. package/lib/crypto/store/indexeddb-crypto-store.d.ts +0 -432
  248. package/lib/crypto/store/indexeddb-crypto-store.d.ts.map +0 -1
  249. package/lib/crypto/store/indexeddb-crypto-store.js +0 -728
  250. package/lib/crypto/store/indexeddb-crypto-store.js.map +0 -1
  251. package/lib/crypto/store/localStorage-crypto-store.d.ts +0 -119
  252. package/lib/crypto/store/localStorage-crypto-store.d.ts.map +0 -1
  253. package/lib/crypto/store/localStorage-crypto-store.js +0 -531
  254. package/lib/crypto/store/localStorage-crypto-store.js.map +0 -1
  255. package/lib/crypto/store/memory-crypto-store.d.ts +0 -215
  256. package/lib/crypto/store/memory-crypto-store.d.ts.map +0 -1
  257. package/lib/crypto/store/memory-crypto-store.js +0 -622
  258. package/lib/crypto/store/memory-crypto-store.js.map +0 -1
  259. package/lib/crypto/verification/Base.d.ts +0 -105
  260. package/lib/crypto/verification/Base.d.ts.map +0 -1
  261. package/lib/crypto/verification/Base.js +0 -372
  262. package/lib/crypto/verification/Base.js.map +0 -1
  263. package/lib/crypto/verification/Error.d.ts +0 -35
  264. package/lib/crypto/verification/Error.d.ts.map +0 -1
  265. package/lib/crypto/verification/Error.js +0 -86
  266. package/lib/crypto/verification/Error.js.map +0 -1
  267. package/lib/crypto/verification/IllegalMethod.d.ts +0 -15
  268. package/lib/crypto/verification/IllegalMethod.d.ts.map +0 -1
  269. package/lib/crypto/verification/IllegalMethod.js +0 -43
  270. package/lib/crypto/verification/IllegalMethod.js.map +0 -1
  271. package/lib/crypto/verification/QRCode.d.ts +0 -51
  272. package/lib/crypto/verification/QRCode.d.ts.map +0 -1
  273. package/lib/crypto/verification/QRCode.js +0 -277
  274. package/lib/crypto/verification/QRCode.js.map +0 -1
  275. package/lib/crypto/verification/SAS.d.ts +0 -27
  276. package/lib/crypto/verification/SAS.d.ts.map +0 -1
  277. package/lib/crypto/verification/SAS.js +0 -485
  278. package/lib/crypto/verification/SAS.js.map +0 -1
  279. package/lib/crypto/verification/SASDecimal.d.ts +0 -8
  280. package/lib/crypto/verification/SASDecimal.d.ts.map +0 -1
  281. package/lib/crypto/verification/SASDecimal.js +0 -34
  282. package/lib/crypto/verification/SASDecimal.js.map +0 -1
  283. package/lib/crypto/verification/request/Channel.d.ts +0 -18
  284. package/lib/crypto/verification/request/Channel.d.ts.map +0 -1
  285. package/lib/crypto/verification/request/Channel.js +0 -1
  286. package/lib/crypto/verification/request/Channel.js.map +0 -1
  287. package/lib/crypto/verification/request/InRoomChannel.d.ts +0 -113
  288. package/lib/crypto/verification/request/InRoomChannel.d.ts.map +0 -1
  289. package/lib/crypto/verification/request/InRoomChannel.js +0 -351
  290. package/lib/crypto/verification/request/InRoomChannel.js.map +0 -1
  291. package/lib/crypto/verification/request/ToDeviceChannel.d.ts +0 -105
  292. package/lib/crypto/verification/request/ToDeviceChannel.d.ts.map +0 -1
  293. package/lib/crypto/verification/request/ToDeviceChannel.js +0 -328
  294. package/lib/crypto/verification/request/ToDeviceChannel.js.map +0 -1
  295. package/lib/crypto/verification/request/VerificationRequest.d.ts +0 -227
  296. package/lib/crypto/verification/request/VerificationRequest.d.ts.map +0 -1
  297. package/lib/crypto/verification/request/VerificationRequest.js +0 -937
  298. package/lib/crypto/verification/request/VerificationRequest.js.map +0 -1
  299. package/lib/crypto-api/CryptoEvent.d.ts +0 -69
  300. package/lib/crypto-api/CryptoEvent.d.ts.map +0 -1
  301. package/lib/crypto-api/CryptoEvent.js +0 -33
  302. package/lib/crypto-api/CryptoEvent.js.map +0 -1
  303. package/lib/crypto-api/CryptoEventHandlerMap.d.ts +0 -16
  304. package/lib/crypto-api/CryptoEventHandlerMap.d.ts.map +0 -1
  305. package/lib/crypto-api/CryptoEventHandlerMap.js +0 -22
  306. package/lib/crypto-api/CryptoEventHandlerMap.js.map +0 -1
  307. package/lib/crypto-api/index.d.ts +0 -978
  308. package/lib/crypto-api/index.d.ts.map +0 -1
  309. package/lib/crypto-api/index.js +0 -304
  310. package/lib/crypto-api/index.js.map +0 -1
  311. package/lib/crypto-api/key-passphrase.d.ts +0 -11
  312. package/lib/crypto-api/key-passphrase.d.ts.map +0 -1
  313. package/lib/crypto-api/key-passphrase.js +0 -51
  314. package/lib/crypto-api/key-passphrase.js.map +0 -1
  315. package/lib/crypto-api/keybackup.d.ts +0 -88
  316. package/lib/crypto-api/keybackup.d.ts.map +0 -1
  317. package/lib/crypto-api/keybackup.js +0 -1
  318. package/lib/crypto-api/keybackup.js.map +0 -1
  319. package/lib/crypto-api/recovery-key.d.ts +0 -11
  320. package/lib/crypto-api/recovery-key.d.ts.map +0 -1
  321. package/lib/crypto-api/recovery-key.js +0 -65
  322. package/lib/crypto-api/recovery-key.js.map +0 -1
  323. package/lib/crypto-api/verification.d.ts +0 -344
  324. package/lib/crypto-api/verification.d.ts.map +0 -1
  325. package/lib/crypto-api/verification.js +0 -91
  326. package/lib/crypto-api/verification.js.map +0 -1
  327. package/lib/matrixrtc/CallMembership.d.ts +0 -66
  328. package/lib/matrixrtc/CallMembership.d.ts.map +0 -1
  329. package/lib/matrixrtc/CallMembership.js +0 -197
  330. package/lib/matrixrtc/CallMembership.js.map +0 -1
  331. package/lib/matrixrtc/LivekitFocus.d.ts +0 -16
  332. package/lib/matrixrtc/LivekitFocus.d.ts.map +0 -1
  333. package/lib/matrixrtc/LivekitFocus.js +0 -20
  334. package/lib/matrixrtc/LivekitFocus.js.map +0 -1
  335. package/lib/matrixrtc/MatrixRTCSession.d.ts +0 -295
  336. package/lib/matrixrtc/MatrixRTCSession.d.ts.map +0 -1
  337. package/lib/matrixrtc/MatrixRTCSession.js +0 -1043
  338. package/lib/matrixrtc/MatrixRTCSession.js.map +0 -1
  339. package/lib/matrixrtc/MatrixRTCSessionManager.d.ts +0 -40
  340. package/lib/matrixrtc/MatrixRTCSessionManager.d.ts.map +0 -1
  341. package/lib/matrixrtc/MatrixRTCSessionManager.js +0 -146
  342. package/lib/matrixrtc/MatrixRTCSessionManager.js.map +0 -1
  343. package/lib/matrixrtc/focus.d.ts +0 -10
  344. package/lib/matrixrtc/focus.d.ts.map +0 -1
  345. package/lib/matrixrtc/focus.js +0 -1
  346. package/lib/matrixrtc/focus.js.map +0 -1
  347. package/lib/matrixrtc/index.d.ts +0 -7
  348. package/lib/matrixrtc/index.d.ts.map +0 -1
  349. package/lib/matrixrtc/index.js +0 -21
  350. package/lib/matrixrtc/index.js.map +0 -1
  351. package/lib/matrixrtc/types.d.ts +0 -19
  352. package/lib/matrixrtc/types.d.ts.map +0 -1
  353. package/lib/matrixrtc/types.js +0 -1
  354. package/lib/matrixrtc/types.js.map +0 -1
  355. package/lib/rendezvous/MSC4108SignInWithQR.d.ts +0 -112
  356. package/lib/rendezvous/MSC4108SignInWithQR.d.ts.map +0 -1
  357. package/lib/rendezvous/MSC4108SignInWithQR.js +0 -392
  358. package/lib/rendezvous/MSC4108SignInWithQR.js.map +0 -1
  359. package/lib/rendezvous/RendezvousChannel.d.ts +0 -27
  360. package/lib/rendezvous/RendezvousChannel.d.ts.map +0 -1
  361. package/lib/rendezvous/RendezvousChannel.js +0 -1
  362. package/lib/rendezvous/RendezvousChannel.js.map +0 -1
  363. package/lib/rendezvous/RendezvousCode.d.ts +0 -9
  364. package/lib/rendezvous/RendezvousCode.d.ts.map +0 -1
  365. package/lib/rendezvous/RendezvousCode.js +0 -1
  366. package/lib/rendezvous/RendezvousCode.js.map +0 -1
  367. package/lib/rendezvous/RendezvousError.d.ts +0 -6
  368. package/lib/rendezvous/RendezvousError.d.ts.map +0 -1
  369. package/lib/rendezvous/RendezvousError.js +0 -23
  370. package/lib/rendezvous/RendezvousError.js.map +0 -1
  371. package/lib/rendezvous/RendezvousFailureReason.d.ts +0 -31
  372. package/lib/rendezvous/RendezvousFailureReason.d.ts.map +0 -1
  373. package/lib/rendezvous/RendezvousFailureReason.js +0 -38
  374. package/lib/rendezvous/RendezvousFailureReason.js.map +0 -1
  375. package/lib/rendezvous/RendezvousIntent.d.ts +0 -5
  376. package/lib/rendezvous/RendezvousIntent.d.ts.map +0 -1
  377. package/lib/rendezvous/RendezvousIntent.js +0 -22
  378. package/lib/rendezvous/RendezvousIntent.js.map +0 -1
  379. package/lib/rendezvous/RendezvousTransport.d.ts +0 -36
  380. package/lib/rendezvous/RendezvousTransport.d.ts.map +0 -1
  381. package/lib/rendezvous/RendezvousTransport.js +0 -1
  382. package/lib/rendezvous/RendezvousTransport.js.map +0 -1
  383. package/lib/rendezvous/channels/MSC4108SecureChannel.d.ts +0 -58
  384. package/lib/rendezvous/channels/MSC4108SecureChannel.d.ts.map +0 -1
  385. package/lib/rendezvous/channels/MSC4108SecureChannel.js +0 -246
  386. package/lib/rendezvous/channels/MSC4108SecureChannel.js.map +0 -1
  387. package/lib/rendezvous/channels/index.d.ts +0 -2
  388. package/lib/rendezvous/channels/index.d.ts.map +0 -1
  389. package/lib/rendezvous/channels/index.js +0 -18
  390. package/lib/rendezvous/channels/index.js.map +0 -1
  391. package/lib/rendezvous/index.d.ts +0 -10
  392. package/lib/rendezvous/index.d.ts.map +0 -1
  393. package/lib/rendezvous/index.js +0 -23
  394. package/lib/rendezvous/index.js.map +0 -1
  395. package/lib/rendezvous/transports/MSC4108RendezvousSession.d.ts +0 -61
  396. package/lib/rendezvous/transports/MSC4108RendezvousSession.d.ts.map +0 -1
  397. package/lib/rendezvous/transports/MSC4108RendezvousSession.js +0 -253
  398. package/lib/rendezvous/transports/MSC4108RendezvousSession.js.map +0 -1
  399. package/lib/rendezvous/transports/index.d.ts +0 -2
  400. package/lib/rendezvous/transports/index.d.ts.map +0 -1
  401. package/lib/rendezvous/transports/index.js +0 -18
  402. package/lib/rendezvous/transports/index.js.map +0 -1
  403. package/lib/rust-crypto/CrossSigningIdentity.d.ts +0 -33
  404. package/lib/rust-crypto/CrossSigningIdentity.d.ts.map +0 -1
  405. package/lib/rust-crypto/CrossSigningIdentity.js +0 -157
  406. package/lib/rust-crypto/CrossSigningIdentity.js.map +0 -1
  407. package/lib/rust-crypto/DehydratedDeviceManager.d.ts +0 -98
  408. package/lib/rust-crypto/DehydratedDeviceManager.d.ts.map +0 -1
  409. package/lib/rust-crypto/DehydratedDeviceManager.js +0 -285
  410. package/lib/rust-crypto/DehydratedDeviceManager.js.map +0 -1
  411. package/lib/rust-crypto/KeyClaimManager.d.ts +0 -33
  412. package/lib/rust-crypto/KeyClaimManager.d.ts.map +0 -1
  413. package/lib/rust-crypto/KeyClaimManager.js +0 -82
  414. package/lib/rust-crypto/KeyClaimManager.js.map +0 -1
  415. package/lib/rust-crypto/OutgoingRequestProcessor.d.ts +0 -43
  416. package/lib/rust-crypto/OutgoingRequestProcessor.d.ts.map +0 -1
  417. package/lib/rust-crypto/OutgoingRequestProcessor.js +0 -195
  418. package/lib/rust-crypto/OutgoingRequestProcessor.js.map +0 -1
  419. package/lib/rust-crypto/OutgoingRequestsManager.d.ts +0 -47
  420. package/lib/rust-crypto/OutgoingRequestsManager.d.ts.map +0 -1
  421. package/lib/rust-crypto/OutgoingRequestsManager.js +0 -148
  422. package/lib/rust-crypto/OutgoingRequestsManager.js.map +0 -1
  423. package/lib/rust-crypto/PerSessionKeyBackupDownloader.d.ts +0 -120
  424. package/lib/rust-crypto/PerSessionKeyBackupDownloader.d.ts.map +0 -1
  425. package/lib/rust-crypto/PerSessionKeyBackupDownloader.js +0 -467
  426. package/lib/rust-crypto/PerSessionKeyBackupDownloader.js.map +0 -1
  427. package/lib/rust-crypto/RoomEncryptor.d.ts +0 -98
  428. package/lib/rust-crypto/RoomEncryptor.d.ts.map +0 -1
  429. package/lib/rust-crypto/RoomEncryptor.js +0 -299
  430. package/lib/rust-crypto/RoomEncryptor.js.map +0 -1
  431. package/lib/rust-crypto/backup.d.ts +0 -254
  432. package/lib/rust-crypto/backup.d.ts.map +0 -1
  433. package/lib/rust-crypto/backup.js +0 -837
  434. package/lib/rust-crypto/backup.js.map +0 -1
  435. package/lib/rust-crypto/constants.d.ts +0 -3
  436. package/lib/rust-crypto/constants.d.ts.map +0 -1
  437. package/lib/rust-crypto/constants.js +0 -19
  438. package/lib/rust-crypto/constants.js.map +0 -1
  439. package/lib/rust-crypto/device-converter.d.ts +0 -28
  440. package/lib/rust-crypto/device-converter.d.ts.map +0 -1
  441. package/lib/rust-crypto/device-converter.js +0 -123
  442. package/lib/rust-crypto/device-converter.js.map +0 -1
  443. package/lib/rust-crypto/index.d.ts +0 -61
  444. package/lib/rust-crypto/index.d.ts.map +0 -1
  445. package/lib/rust-crypto/index.js +0 -152
  446. package/lib/rust-crypto/index.js.map +0 -1
  447. package/lib/rust-crypto/libolm_migration.d.ts +0 -81
  448. package/lib/rust-crypto/libolm_migration.d.ts.map +0 -1
  449. package/lib/rust-crypto/libolm_migration.js +0 -459
  450. package/lib/rust-crypto/libolm_migration.js.map +0 -1
  451. package/lib/rust-crypto/rust-crypto.d.ts +0 -556
  452. package/lib/rust-crypto/rust-crypto.d.ts.map +0 -1
  453. package/lib/rust-crypto/rust-crypto.js +0 -2016
  454. package/lib/rust-crypto/rust-crypto.js.map +0 -1
  455. package/lib/rust-crypto/secret-storage.d.ts +0 -22
  456. package/lib/rust-crypto/secret-storage.d.ts.map +0 -1
  457. package/lib/rust-crypto/secret-storage.js +0 -63
  458. package/lib/rust-crypto/secret-storage.js.map +0 -1
  459. package/lib/rust-crypto/verification.d.ts +0 -319
  460. package/lib/rust-crypto/verification.d.ts.map +0 -1
  461. package/lib/rust-crypto/verification.js +0 -816
  462. package/lib/rust-crypto/verification.js.map +0 -1
  463. package/lib/secret-storage.d.ts +0 -370
  464. package/lib/secret-storage.d.ts.map +0 -1
  465. package/lib/secret-storage.js +0 -466
  466. package/lib/secret-storage.js.map +0 -1
  467. package/lib/utils/decryptAESSecretStorageItem.d.ts +0 -12
  468. package/lib/utils/decryptAESSecretStorageItem.d.ts.map +0 -1
  469. package/lib/utils/decryptAESSecretStorageItem.js +0 -50
  470. package/lib/utils/decryptAESSecretStorageItem.js.map +0 -1
  471. package/lib/utils/encryptAESSecretStorageItem.d.ts +0 -16
  472. package/lib/utils/encryptAESSecretStorageItem.d.ts.map +0 -1
  473. package/lib/utils/encryptAESSecretStorageItem.js +0 -68
  474. package/lib/utils/encryptAESSecretStorageItem.js.map +0 -1
  475. package/lib/utils/internal/deriveKeys.d.ts +0 -10
  476. package/lib/utils/internal/deriveKeys.d.ts.map +0 -1
  477. package/lib/utils/internal/deriveKeys.js +0 -60
  478. package/lib/utils/internal/deriveKeys.js.map +0 -1
  479. package/lib/webrtc/audioContext.d.ts +0 -15
  480. package/lib/webrtc/audioContext.d.ts.map +0 -1
  481. package/lib/webrtc/audioContext.js +0 -46
  482. package/lib/webrtc/audioContext.js.map +0 -1
  483. package/lib/webrtc/call.d.ts +0 -560
  484. package/lib/webrtc/call.d.ts.map +0 -1
  485. package/lib/webrtc/call.js +0 -2541
  486. package/lib/webrtc/call.js.map +0 -1
  487. package/lib/webrtc/callEventHandler.d.ts +0 -37
  488. package/lib/webrtc/callEventHandler.d.ts.map +0 -1
  489. package/lib/webrtc/callEventHandler.js +0 -344
  490. package/lib/webrtc/callEventHandler.js.map +0 -1
  491. package/lib/webrtc/callEventTypes.d.ts +0 -73
  492. package/lib/webrtc/callEventTypes.d.ts.map +0 -1
  493. package/lib/webrtc/callEventTypes.js +0 -13
  494. package/lib/webrtc/callEventTypes.js.map +0 -1
  495. package/lib/webrtc/callFeed.d.ts +0 -128
  496. package/lib/webrtc/callFeed.d.ts.map +0 -1
  497. package/lib/webrtc/callFeed.js +0 -289
  498. package/lib/webrtc/callFeed.js.map +0 -1
  499. package/lib/webrtc/groupCall.d.ts +0 -323
  500. package/lib/webrtc/groupCall.d.ts.map +0 -1
  501. package/lib/webrtc/groupCall.js +0 -1337
  502. package/lib/webrtc/groupCall.js.map +0 -1
  503. package/lib/webrtc/groupCallEventHandler.d.ts +0 -31
  504. package/lib/webrtc/groupCallEventHandler.d.ts.map +0 -1
  505. package/lib/webrtc/groupCallEventHandler.js +0 -178
  506. package/lib/webrtc/groupCallEventHandler.js.map +0 -1
  507. package/lib/webrtc/mediaHandler.d.ts +0 -89
  508. package/lib/webrtc/mediaHandler.d.ts.map +0 -1
  509. package/lib/webrtc/mediaHandler.js +0 -437
  510. package/lib/webrtc/mediaHandler.js.map +0 -1
  511. package/lib/webrtc/stats/callFeedStatsReporter.d.ts +0 -8
  512. package/lib/webrtc/stats/callFeedStatsReporter.d.ts.map +0 -1
  513. package/lib/webrtc/stats/callFeedStatsReporter.js +0 -82
  514. package/lib/webrtc/stats/callFeedStatsReporter.js.map +0 -1
  515. package/lib/webrtc/stats/callStatsReportGatherer.d.ts +0 -25
  516. package/lib/webrtc/stats/callStatsReportGatherer.d.ts.map +0 -1
  517. package/lib/webrtc/stats/callStatsReportGatherer.js +0 -199
  518. package/lib/webrtc/stats/callStatsReportGatherer.js.map +0 -1
  519. package/lib/webrtc/stats/callStatsReportSummary.d.ts +0 -17
  520. package/lib/webrtc/stats/callStatsReportSummary.d.ts.map +0 -1
  521. package/lib/webrtc/stats/callStatsReportSummary.js +0 -1
  522. package/lib/webrtc/stats/callStatsReportSummary.js.map +0 -1
  523. package/lib/webrtc/stats/connectionStats.d.ts +0 -28
  524. package/lib/webrtc/stats/connectionStats.d.ts.map +0 -1
  525. package/lib/webrtc/stats/connectionStats.js +0 -26
  526. package/lib/webrtc/stats/connectionStats.js.map +0 -1
  527. package/lib/webrtc/stats/connectionStatsBuilder.d.ts +0 -5
  528. package/lib/webrtc/stats/connectionStatsBuilder.d.ts.map +0 -1
  529. package/lib/webrtc/stats/connectionStatsBuilder.js +0 -27
  530. package/lib/webrtc/stats/connectionStatsBuilder.js.map +0 -1
  531. package/lib/webrtc/stats/connectionStatsReportBuilder.d.ts +0 -7
  532. package/lib/webrtc/stats/connectionStatsReportBuilder.d.ts.map +0 -1
  533. package/lib/webrtc/stats/connectionStatsReportBuilder.js +0 -121
  534. package/lib/webrtc/stats/connectionStatsReportBuilder.js.map +0 -1
  535. package/lib/webrtc/stats/groupCallStats.d.ts +0 -22
  536. package/lib/webrtc/stats/groupCallStats.d.ts.map +0 -1
  537. package/lib/webrtc/stats/groupCallStats.js +0 -78
  538. package/lib/webrtc/stats/groupCallStats.js.map +0 -1
  539. package/lib/webrtc/stats/media/mediaSsrcHandler.d.ts +0 -10
  540. package/lib/webrtc/stats/media/mediaSsrcHandler.d.ts.map +0 -1
  541. package/lib/webrtc/stats/media/mediaSsrcHandler.js +0 -57
  542. package/lib/webrtc/stats/media/mediaSsrcHandler.js.map +0 -1
  543. package/lib/webrtc/stats/media/mediaTrackHandler.d.ts +0 -12
  544. package/lib/webrtc/stats/media/mediaTrackHandler.d.ts.map +0 -1
  545. package/lib/webrtc/stats/media/mediaTrackHandler.js +0 -62
  546. package/lib/webrtc/stats/media/mediaTrackHandler.js.map +0 -1
  547. package/lib/webrtc/stats/media/mediaTrackStats.d.ts +0 -86
  548. package/lib/webrtc/stats/media/mediaTrackStats.d.ts.map +0 -1
  549. package/lib/webrtc/stats/media/mediaTrackStats.js +0 -142
  550. package/lib/webrtc/stats/media/mediaTrackStats.js.map +0 -1
  551. package/lib/webrtc/stats/media/mediaTrackStatsHandler.d.ts +0 -22
  552. package/lib/webrtc/stats/media/mediaTrackStatsHandler.d.ts.map +0 -1
  553. package/lib/webrtc/stats/media/mediaTrackStatsHandler.js +0 -76
  554. package/lib/webrtc/stats/media/mediaTrackStatsHandler.js.map +0 -1
  555. package/lib/webrtc/stats/statsReport.d.ts +0 -99
  556. package/lib/webrtc/stats/statsReport.d.ts.map +0 -1
  557. package/lib/webrtc/stats/statsReport.js +0 -32
  558. package/lib/webrtc/stats/statsReport.js.map +0 -1
  559. package/lib/webrtc/stats/statsReportEmitter.d.ts +0 -15
  560. package/lib/webrtc/stats/statsReportEmitter.d.ts.map +0 -1
  561. package/lib/webrtc/stats/statsReportEmitter.js +0 -33
  562. package/lib/webrtc/stats/statsReportEmitter.js.map +0 -1
  563. package/lib/webrtc/stats/summaryStatsReportGatherer.d.ts +0 -16
  564. package/lib/webrtc/stats/summaryStatsReportGatherer.d.ts.map +0 -1
  565. package/lib/webrtc/stats/summaryStatsReportGatherer.js +0 -116
  566. package/lib/webrtc/stats/summaryStatsReportGatherer.js.map +0 -1
  567. package/lib/webrtc/stats/trackStatsBuilder.d.ts +0 -19
  568. package/lib/webrtc/stats/trackStatsBuilder.d.ts.map +0 -1
  569. package/lib/webrtc/stats/trackStatsBuilder.js +0 -168
  570. package/lib/webrtc/stats/trackStatsBuilder.js.map +0 -1
  571. package/lib/webrtc/stats/transportStats.d.ts +0 -11
  572. package/lib/webrtc/stats/transportStats.d.ts.map +0 -1
  573. package/lib/webrtc/stats/transportStats.js +0 -1
  574. package/lib/webrtc/stats/transportStats.js.map +0 -1
  575. package/lib/webrtc/stats/transportStatsBuilder.d.ts +0 -5
  576. package/lib/webrtc/stats/transportStatsBuilder.d.ts.map +0 -1
  577. package/lib/webrtc/stats/transportStatsBuilder.js +0 -34
  578. package/lib/webrtc/stats/transportStatsBuilder.js.map +0 -1
  579. package/lib/webrtc/stats/valueFormatter.d.ts +0 -4
  580. package/lib/webrtc/stats/valueFormatter.d.ts.map +0 -1
  581. package/lib/webrtc/stats/valueFormatter.js +0 -25
  582. package/lib/webrtc/stats/valueFormatter.js.map +0 -1
  583. package/src/@types/AESEncryptedSecretStoragePayload.ts +0 -29
  584. package/src/@types/crypto.ts +0 -73
  585. package/src/@types/matrix-sdk-crypto-wasm.d.ts +0 -44
  586. package/src/common-crypto/CryptoBackend.ts +0 -302
  587. package/src/common-crypto/README.md +0 -4
  588. package/src/common-crypto/key-passphrase.ts +0 -43
  589. package/src/crypto/CrossSigning.ts +0 -773
  590. package/src/crypto/DeviceList.ts +0 -989
  591. package/src/crypto/EncryptionSetup.ts +0 -351
  592. package/src/crypto/OlmDevice.ts +0 -1500
  593. package/src/crypto/OutgoingRoomKeyRequestManager.ts +0 -485
  594. package/src/crypto/RoomList.ts +0 -70
  595. package/src/crypto/SecretSharing.ts +0 -240
  596. package/src/crypto/SecretStorage.ts +0 -136
  597. package/src/crypto/aes.ts +0 -23
  598. package/src/crypto/algorithms/base.ts +0 -236
  599. package/src/crypto/algorithms/index.ts +0 -20
  600. package/src/crypto/algorithms/megolm.ts +0 -2216
  601. package/src/crypto/algorithms/olm.ts +0 -381
  602. package/src/crypto/api.ts +0 -70
  603. package/src/crypto/backup.ts +0 -922
  604. package/src/crypto/crypto.ts +0 -18
  605. package/src/crypto/dehydration.ts +0 -272
  606. package/src/crypto/device-converter.ts +0 -45
  607. package/src/crypto/deviceinfo.ts +0 -158
  608. package/src/crypto/index.ts +0 -4418
  609. package/src/crypto/key_passphrase.ts +0 -42
  610. package/src/crypto/keybackup.ts +0 -47
  611. package/src/crypto/olmlib.ts +0 -539
  612. package/src/crypto/recoverykey.ts +0 -18
  613. package/src/crypto/store/base.ts +0 -348
  614. package/src/crypto/store/indexeddb-crypto-store-backend.ts +0 -1250
  615. package/src/crypto/store/indexeddb-crypto-store.ts +0 -845
  616. package/src/crypto/store/localStorage-crypto-store.ts +0 -579
  617. package/src/crypto/store/memory-crypto-store.ts +0 -680
  618. package/src/crypto/verification/Base.ts +0 -409
  619. package/src/crypto/verification/Error.ts +0 -76
  620. package/src/crypto/verification/IllegalMethod.ts +0 -50
  621. package/src/crypto/verification/QRCode.ts +0 -310
  622. package/src/crypto/verification/SAS.ts +0 -494
  623. package/src/crypto/verification/SASDecimal.ts +0 -37
  624. package/src/crypto/verification/request/Channel.ts +0 -34
  625. package/src/crypto/verification/request/InRoomChannel.ts +0 -371
  626. package/src/crypto/verification/request/ToDeviceChannel.ts +0 -354
  627. package/src/crypto/verification/request/VerificationRequest.ts +0 -976
  628. package/src/crypto-api/CryptoEvent.ts +0 -93
  629. package/src/crypto-api/CryptoEventHandlerMap.ts +0 -32
  630. package/src/crypto-api/index.ts +0 -1175
  631. package/src/crypto-api/key-passphrase.ts +0 -58
  632. package/src/crypto-api/keybackup.ts +0 -115
  633. package/src/crypto-api/recovery-key.ts +0 -69
  634. package/src/crypto-api/verification.ts +0 -408
  635. package/src/matrixrtc/CallMembership.ts +0 -247
  636. package/src/matrixrtc/LivekitFocus.ts +0 -39
  637. package/src/matrixrtc/MatrixRTCSession.ts +0 -1319
  638. package/src/matrixrtc/MatrixRTCSessionManager.ts +0 -166
  639. package/src/matrixrtc/focus.ts +0 -25
  640. package/src/matrixrtc/index.ts +0 -22
  641. package/src/matrixrtc/types.ts +0 -36
  642. package/src/rendezvous/MSC4108SignInWithQR.ts +0 -444
  643. package/src/rendezvous/RendezvousChannel.ts +0 -48
  644. package/src/rendezvous/RendezvousCode.ts +0 -25
  645. package/src/rendezvous/RendezvousError.ts +0 -26
  646. package/src/rendezvous/RendezvousFailureReason.ts +0 -49
  647. package/src/rendezvous/RendezvousIntent.ts +0 -20
  648. package/src/rendezvous/RendezvousTransport.ts +0 -58
  649. package/src/rendezvous/channels/MSC4108SecureChannel.ts +0 -270
  650. package/src/rendezvous/channels/index.ts +0 -17
  651. package/src/rendezvous/index.ts +0 -25
  652. package/src/rendezvous/transports/MSC4108RendezvousSession.ts +0 -270
  653. package/src/rendezvous/transports/index.ts +0 -17
  654. package/src/rust-crypto/CrossSigningIdentity.ts +0 -183
  655. package/src/rust-crypto/DehydratedDeviceManager.ts +0 -306
  656. package/src/rust-crypto/KeyClaimManager.ts +0 -86
  657. package/src/rust-crypto/OutgoingRequestProcessor.ts +0 -236
  658. package/src/rust-crypto/OutgoingRequestsManager.ts +0 -143
  659. package/src/rust-crypto/PerSessionKeyBackupDownloader.ts +0 -501
  660. package/src/rust-crypto/RoomEncryptor.ts +0 -352
  661. package/src/rust-crypto/backup.ts +0 -881
  662. package/src/rust-crypto/constants.ts +0 -18
  663. package/src/rust-crypto/device-converter.ts +0 -128
  664. package/src/rust-crypto/index.ts +0 -237
  665. package/src/rust-crypto/libolm_migration.ts +0 -530
  666. package/src/rust-crypto/rust-crypto.ts +0 -2205
  667. package/src/rust-crypto/secret-storage.ts +0 -60
  668. package/src/rust-crypto/verification.ts +0 -830
  669. package/src/secret-storage.ts +0 -693
  670. package/src/utils/decryptAESSecretStorageItem.ts +0 -54
  671. package/src/utils/encryptAESSecretStorageItem.ts +0 -73
  672. package/src/utils/internal/deriveKeys.ts +0 -63
  673. package/src/webrtc/audioContext.ts +0 -44
  674. package/src/webrtc/call.ts +0 -3074
  675. package/src/webrtc/callEventHandler.ts +0 -425
  676. package/src/webrtc/callEventTypes.ts +0 -93
  677. package/src/webrtc/callFeed.ts +0 -364
  678. package/src/webrtc/groupCall.ts +0 -1735
  679. package/src/webrtc/groupCallEventHandler.ts +0 -234
  680. package/src/webrtc/mediaHandler.ts +0 -484
  681. package/src/webrtc/stats/callFeedStatsReporter.ts +0 -94
  682. package/src/webrtc/stats/callStatsReportGatherer.ts +0 -219
  683. package/src/webrtc/stats/callStatsReportSummary.ts +0 -30
  684. package/src/webrtc/stats/connectionStats.ts +0 -47
  685. package/src/webrtc/stats/connectionStatsBuilder.ts +0 -28
  686. package/src/webrtc/stats/connectionStatsReportBuilder.ts +0 -140
  687. package/src/webrtc/stats/groupCallStats.ts +0 -93
  688. package/src/webrtc/stats/media/mediaSsrcHandler.ts +0 -57
  689. package/src/webrtc/stats/media/mediaTrackHandler.ts +0 -76
  690. package/src/webrtc/stats/media/mediaTrackStats.ts +0 -176
  691. package/src/webrtc/stats/media/mediaTrackStatsHandler.ts +0 -90
  692. package/src/webrtc/stats/statsReport.ts +0 -133
  693. package/src/webrtc/stats/statsReportEmitter.ts +0 -49
  694. package/src/webrtc/stats/summaryStatsReportGatherer.ts +0 -148
  695. package/src/webrtc/stats/trackStatsBuilder.ts +0 -207
  696. package/src/webrtc/stats/transportStats.ts +0 -26
  697. package/src/webrtc/stats/transportStatsBuilder.ts +0 -48
  698. 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