@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,718 +0,0 @@
1
- import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
2
- import _defineProperty from "@babel/runtime/helpers/defineProperty";
3
- /*
4
- Copyright 2019 - 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
- /**
20
- * Cross signing methods
21
- */
22
-
23
- import { pkSign, pkVerify } from "./olmlib.js";
24
- import { logger } from "../logger.js";
25
- import { IndexedDBCryptoStore } from "../crypto/store/indexeddb-crypto-store.js";
26
- import { DeviceVerificationStatus, UserVerificationStatus as UserTrustLevel } from "../crypto-api/index.js";
27
- import { decodeBase64, encodeBase64 } from "../base64.js";
28
- import encryptAESSecretStorageItem from "../utils/encryptAESSecretStorageItem.js";
29
- import decryptAESSecretStorageItem from "../utils/decryptAESSecretStorageItem.js";
30
-
31
- // backwards-compatibility re-exports
32
- export { UserTrustLevel };
33
- var KEY_REQUEST_TIMEOUT_MS = 1000 * 60;
34
- function publicKeyFromKeyInfo(keyInfo) {
35
- // `keys` is an object with { [`ed25519:${pubKey}`]: pubKey }
36
- // We assume only a single key, and we want the bare form without type
37
- // prefix, so we select the values.
38
- return Object.values(keyInfo.keys)[0];
39
- }
40
- export class CrossSigningInfo {
41
- /**
42
- * Information about a user's cross-signing keys
43
- *
44
- * @param userId - the user that the information is about
45
- * @param callbacks - Callbacks used to interact with the app
46
- * Requires getCrossSigningKey and saveCrossSigningKeys
47
- * @param cacheCallbacks - Callbacks used to interact with the cache
48
- */
49
- constructor(userId) {
50
- var callbacks = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
51
- var cacheCallbacks = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
52
- this.userId = userId;
53
- this.callbacks = callbacks;
54
- this.cacheCallbacks = cacheCallbacks;
55
- _defineProperty(this, "keys", {});
56
- _defineProperty(this, "firstUse", true);
57
- // This tracks whether we've ever verified this user with any identity.
58
- // When you verify a user, any devices online at the time that receive
59
- // the verifying signature via the homeserver will latch this to true
60
- // and can use it in the future to detect cases where the user has
61
- // become unverified later for any reason.
62
- _defineProperty(this, "crossSigningVerifiedBefore", false);
63
- }
64
- static fromStorage(obj, userId) {
65
- var res = new CrossSigningInfo(userId);
66
- for (var prop in obj) {
67
- if (obj.hasOwnProperty(prop)) {
68
- // @ts-ignore - ts doesn't like this and nor should we
69
- res[prop] = obj[prop];
70
- }
71
- }
72
- return res;
73
- }
74
- toStorage() {
75
- return {
76
- keys: this.keys,
77
- firstUse: this.firstUse,
78
- crossSigningVerifiedBefore: this.crossSigningVerifiedBefore
79
- };
80
- }
81
-
82
- /**
83
- * Calls the app callback to ask for a private key
84
- *
85
- * @param type - The key type ("master", "self_signing", or "user_signing")
86
- * @param expectedPubkey - The matching public key or undefined to use
87
- * the stored public key for the given key type.
88
- * @returns An array with [ public key, Olm.PkSigning ]
89
- */
90
- getCrossSigningKey(type, expectedPubkey) {
91
- var _this = this;
92
- return _asyncToGenerator(function* () {
93
- var shouldCache = ["master", "self_signing", "user_signing"].indexOf(type) >= 0;
94
- if (!_this.callbacks.getCrossSigningKey) {
95
- throw new Error("No getCrossSigningKey callback supplied");
96
- }
97
- if (expectedPubkey === undefined) {
98
- expectedPubkey = _this.getId(type);
99
- }
100
- function validateKey(key) {
101
- if (!key) return;
102
- var signing = new globalThis.Olm.PkSigning();
103
- var gotPubkey = signing.init_with_seed(key);
104
- if (gotPubkey === expectedPubkey) {
105
- return [gotPubkey, signing];
106
- }
107
- signing.free();
108
- }
109
- var privkey = null;
110
- if (_this.cacheCallbacks.getCrossSigningKeyCache && shouldCache) {
111
- privkey = yield _this.cacheCallbacks.getCrossSigningKeyCache(type, expectedPubkey);
112
- }
113
- var cacheresult = validateKey(privkey);
114
- if (cacheresult) {
115
- return cacheresult;
116
- }
117
- privkey = yield _this.callbacks.getCrossSigningKey(type, expectedPubkey);
118
- var result = validateKey(privkey);
119
- if (result) {
120
- if (_this.cacheCallbacks.storeCrossSigningKeyCache && shouldCache) {
121
- yield _this.cacheCallbacks.storeCrossSigningKeyCache(type, privkey);
122
- }
123
- return result;
124
- }
125
-
126
- /* No keysource even returned a key */
127
- if (!privkey) {
128
- throw new Error("getCrossSigningKey callback for " + type + " returned falsey");
129
- }
130
-
131
- /* We got some keys from the keysource, but none of them were valid */
132
- throw new Error("Key type " + type + " from getCrossSigningKey callback did not match");
133
- })();
134
- }
135
-
136
- /**
137
- * Check whether the private keys exist in secret storage.
138
- * XXX: This could be static, be we often seem to have an instance when we
139
- * want to know this anyway...
140
- *
141
- * @param secretStorage - The secret store using account data
142
- * @returns map of key name to key info the secret is encrypted
143
- * with, or null if it is not present or not encrypted with a trusted
144
- * key
145
- */
146
- isStoredInSecretStorage(secretStorage) {
147
- return _asyncToGenerator(function* () {
148
- // check what SSSS keys have encrypted the master key (if any)
149
- var stored = (yield secretStorage.isStored("m.cross_signing.master")) || {};
150
- // then check which of those SSSS keys have also encrypted the SSK and USK
151
- function intersect(s) {
152
- for (var k of Object.keys(stored)) {
153
- if (!s[k]) {
154
- delete stored[k];
155
- }
156
- }
157
- }
158
- for (var _type of ["self_signing", "user_signing"]) {
159
- intersect((yield secretStorage.isStored("m.cross_signing.".concat(_type))) || {});
160
- }
161
- return Object.keys(stored).length ? stored : null;
162
- })();
163
- }
164
-
165
- /**
166
- * Store private keys in secret storage for use by other devices. This is
167
- * typically called in conjunction with the creation of new cross-signing
168
- * keys.
169
- *
170
- * @param keys - The keys to store
171
- * @param secretStorage - The secret store using account data
172
- */
173
- static storeInSecretStorage(keys, secretStorage) {
174
- return _asyncToGenerator(function* () {
175
- for (var [_type2, privateKey] of keys) {
176
- var encodedKey = encodeBase64(privateKey);
177
- yield secretStorage.store("m.cross_signing.".concat(_type2), encodedKey);
178
- }
179
- })();
180
- }
181
-
182
- /**
183
- * Get private keys from secret storage created by some other device. This
184
- * also passes the private keys to the app-specific callback.
185
- *
186
- * @param type - The type of key to get. One of "master",
187
- * "self_signing", or "user_signing".
188
- * @param secretStorage - The secret store using account data
189
- * @returns The private key
190
- */
191
- static getFromSecretStorage(type, secretStorage) {
192
- return _asyncToGenerator(function* () {
193
- var encodedKey = yield secretStorage.get("m.cross_signing.".concat(type));
194
- if (!encodedKey) {
195
- return null;
196
- }
197
- return decodeBase64(encodedKey);
198
- })();
199
- }
200
-
201
- /**
202
- * Check whether the private keys exist in the local key cache.
203
- *
204
- * @param type - The type of key to get. One of "master",
205
- * "self_signing", or "user_signing". Optional, will check all by default.
206
- * @returns True if all keys are stored in the local cache.
207
- */
208
- isStoredInKeyCache(type) {
209
- var _this2 = this;
210
- return _asyncToGenerator(function* () {
211
- var cacheCallbacks = _this2.cacheCallbacks;
212
- if (!cacheCallbacks) return false;
213
- var types = type ? [type] : ["master", "self_signing", "user_signing"];
214
- for (var t of types) {
215
- var _cacheCallbacks$getCr;
216
- if (!(yield (_cacheCallbacks$getCr = cacheCallbacks.getCrossSigningKeyCache) === null || _cacheCallbacks$getCr === void 0 ? void 0 : _cacheCallbacks$getCr.call(cacheCallbacks, t))) {
217
- return false;
218
- }
219
- }
220
- return true;
221
- })();
222
- }
223
-
224
- /**
225
- * Get cross-signing private keys from the local cache.
226
- *
227
- * @returns A map from key type (string) to private key (Uint8Array)
228
- */
229
- getCrossSigningKeysFromCache() {
230
- var _this3 = this;
231
- return _asyncToGenerator(function* () {
232
- var keys = new Map();
233
- var cacheCallbacks = _this3.cacheCallbacks;
234
- if (!cacheCallbacks) return keys;
235
- for (var _type3 of ["master", "self_signing", "user_signing"]) {
236
- var _cacheCallbacks$getCr2;
237
- var privKey = yield (_cacheCallbacks$getCr2 = cacheCallbacks.getCrossSigningKeyCache) === null || _cacheCallbacks$getCr2 === void 0 ? void 0 : _cacheCallbacks$getCr2.call(cacheCallbacks, _type3);
238
- if (!privKey) {
239
- continue;
240
- }
241
- keys.set(_type3, privKey);
242
- }
243
- return keys;
244
- })();
245
- }
246
-
247
- /**
248
- * Get the ID used to identify the user. This can also be used to test for
249
- * the existence of a given key type.
250
- *
251
- * @param type - The type of key to get the ID of. One of "master",
252
- * "self_signing", or "user_signing". Defaults to "master".
253
- *
254
- * @returns the ID
255
- */
256
- getId() {
257
- var type = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : "master";
258
- if (!this.keys[type]) return null;
259
- var keyInfo = this.keys[type];
260
- return publicKeyFromKeyInfo(keyInfo);
261
- }
262
-
263
- /**
264
- * Create new cross-signing keys for the given key types. The public keys
265
- * will be held in this class, while the private keys are passed off to the
266
- * `saveCrossSigningKeys` application callback.
267
- *
268
- * @param level - The key types to reset
269
- */
270
- resetKeys(level) {
271
- var _this4 = this;
272
- return _asyncToGenerator(function* () {
273
- if (!_this4.callbacks.saveCrossSigningKeys) {
274
- throw new Error("No saveCrossSigningKeys callback supplied");
275
- }
276
-
277
- // If we're resetting the master key, we reset all keys
278
- if (level === undefined || level & CrossSigningLevel.MASTER || !_this4.keys.master) {
279
- level = CrossSigningLevel.MASTER | CrossSigningLevel.USER_SIGNING | CrossSigningLevel.SELF_SIGNING;
280
- } else if (level === 0) {
281
- return;
282
- }
283
- var privateKeys = {};
284
- var keys = {};
285
- var masterSigning;
286
- var masterPub;
287
- try {
288
- if (level & CrossSigningLevel.MASTER) {
289
- masterSigning = new globalThis.Olm.PkSigning();
290
- privateKeys.master = masterSigning.generate_seed();
291
- masterPub = masterSigning.init_with_seed(privateKeys.master);
292
- keys.master = {
293
- user_id: _this4.userId,
294
- usage: ["master"],
295
- keys: {
296
- ["ed25519:" + masterPub]: masterPub
297
- }
298
- };
299
- } else {
300
- [masterPub, masterSigning] = yield _this4.getCrossSigningKey("master");
301
- }
302
- if (level & CrossSigningLevel.SELF_SIGNING) {
303
- var sskSigning = new globalThis.Olm.PkSigning();
304
- try {
305
- privateKeys.self_signing = sskSigning.generate_seed();
306
- var sskPub = sskSigning.init_with_seed(privateKeys.self_signing);
307
- keys.self_signing = {
308
- user_id: _this4.userId,
309
- usage: ["self_signing"],
310
- keys: {
311
- ["ed25519:" + sskPub]: sskPub
312
- }
313
- };
314
- pkSign(keys.self_signing, masterSigning, _this4.userId, masterPub);
315
- } finally {
316
- sskSigning.free();
317
- }
318
- }
319
- if (level & CrossSigningLevel.USER_SIGNING) {
320
- var uskSigning = new globalThis.Olm.PkSigning();
321
- try {
322
- privateKeys.user_signing = uskSigning.generate_seed();
323
- var uskPub = uskSigning.init_with_seed(privateKeys.user_signing);
324
- keys.user_signing = {
325
- user_id: _this4.userId,
326
- usage: ["user_signing"],
327
- keys: {
328
- ["ed25519:" + uskPub]: uskPub
329
- }
330
- };
331
- pkSign(keys.user_signing, masterSigning, _this4.userId, masterPub);
332
- } finally {
333
- uskSigning.free();
334
- }
335
- }
336
- Object.assign(_this4.keys, keys);
337
- _this4.callbacks.saveCrossSigningKeys(privateKeys);
338
- } finally {
339
- if (masterSigning) {
340
- masterSigning.free();
341
- }
342
- }
343
- })();
344
- }
345
-
346
- /**
347
- * unsets the keys, used when another session has reset the keys, to disable cross-signing
348
- */
349
- clearKeys() {
350
- this.keys = {};
351
- }
352
- setKeys(keys) {
353
- var signingKeys = {};
354
- if (keys.master) {
355
- if (keys.master.user_id !== this.userId) {
356
- var error = "Mismatched user ID " + keys.master.user_id + " in master key from " + this.userId;
357
- logger.error(error);
358
- throw new Error(error);
359
- }
360
- if (!this.keys.master) {
361
- // this is the first key we've seen, so first-use is true
362
- this.firstUse = true;
363
- } else if (publicKeyFromKeyInfo(keys.master) !== this.getId()) {
364
- // this is a different key, so first-use is false
365
- this.firstUse = false;
366
- } // otherwise, same key, so no change
367
- signingKeys.master = keys.master;
368
- } else if (this.keys.master) {
369
- signingKeys.master = this.keys.master;
370
- } else {
371
- throw new Error("Tried to set cross-signing keys without a master key");
372
- }
373
- var masterKey = publicKeyFromKeyInfo(signingKeys.master);
374
-
375
- // verify signatures
376
- if (keys.user_signing) {
377
- if (keys.user_signing.user_id !== this.userId) {
378
- var _error = "Mismatched user ID " + keys.master.user_id + " in user_signing key from " + this.userId;
379
- logger.error(_error);
380
- throw new Error(_error);
381
- }
382
- try {
383
- pkVerify(keys.user_signing, masterKey, this.userId);
384
- } catch (e) {
385
- logger.error("invalid signature on user-signing key");
386
- // FIXME: what do we want to do here?
387
- throw e;
388
- }
389
- }
390
- if (keys.self_signing) {
391
- if (keys.self_signing.user_id !== this.userId) {
392
- var _error2 = "Mismatched user ID " + keys.master.user_id + " in self_signing key from " + this.userId;
393
- logger.error(_error2);
394
- throw new Error(_error2);
395
- }
396
- try {
397
- pkVerify(keys.self_signing, masterKey, this.userId);
398
- } catch (e) {
399
- logger.error("invalid signature on self-signing key");
400
- // FIXME: what do we want to do here?
401
- throw e;
402
- }
403
- }
404
-
405
- // if everything checks out, then save the keys
406
- if (keys.master) {
407
- this.keys.master = keys.master;
408
- // if the master key is set, then the old self-signing and user-signing keys are obsolete
409
- delete this.keys["self_signing"];
410
- delete this.keys["user_signing"];
411
- }
412
- if (keys.self_signing) {
413
- this.keys.self_signing = keys.self_signing;
414
- }
415
- if (keys.user_signing) {
416
- this.keys.user_signing = keys.user_signing;
417
- }
418
- }
419
- updateCrossSigningVerifiedBefore(isCrossSigningVerified) {
420
- // It is critical that this value latches forward from false to true but
421
- // never back to false to avoid a downgrade attack.
422
- if (!this.crossSigningVerifiedBefore && isCrossSigningVerified) {
423
- this.crossSigningVerifiedBefore = true;
424
- }
425
- }
426
- signObject(data, type) {
427
- var _this5 = this;
428
- return _asyncToGenerator(function* () {
429
- if (!_this5.keys[type]) {
430
- throw new Error("Attempted to sign with " + type + " key but no such key present");
431
- }
432
- var [pubkey, signing] = yield _this5.getCrossSigningKey(type);
433
- try {
434
- pkSign(data, signing, _this5.userId, pubkey);
435
- return data;
436
- } finally {
437
- signing.free();
438
- }
439
- })();
440
- }
441
- signUser(key) {
442
- var _this6 = this;
443
- return _asyncToGenerator(function* () {
444
- if (!_this6.keys.user_signing) {
445
- logger.info("No user signing key: not signing user");
446
- return;
447
- }
448
- return _this6.signObject(key.keys.master, "user_signing");
449
- })();
450
- }
451
- signDevice(userId, device) {
452
- var _this7 = this;
453
- return _asyncToGenerator(function* () {
454
- if (userId !== _this7.userId) {
455
- throw new Error("Trying to sign ".concat(userId, "'s device; can only sign our own device"));
456
- }
457
- if (!_this7.keys.self_signing) {
458
- logger.info("No self signing key: not signing device");
459
- return;
460
- }
461
- return _this7.signObject({
462
- algorithms: device.algorithms,
463
- keys: device.keys,
464
- device_id: device.deviceId,
465
- user_id: userId
466
- }, "self_signing");
467
- })();
468
- }
469
-
470
- /**
471
- * Check whether a given user is trusted.
472
- *
473
- * @param userCrossSigning - Cross signing info for user
474
- *
475
- * @returns
476
- */
477
- checkUserTrust(userCrossSigning) {
478
- // if we're checking our own key, then it's trusted if the master key
479
- // and self-signing key match
480
- if (this.userId === userCrossSigning.userId && this.getId() && this.getId() === userCrossSigning.getId() && this.getId("self_signing") && this.getId("self_signing") === userCrossSigning.getId("self_signing")) {
481
- return new UserTrustLevel(true, true, this.firstUse);
482
- }
483
- if (!this.keys.user_signing) {
484
- // If there's no user signing key, they can't possibly be verified.
485
- // They may be TOFU trusted though.
486
- return new UserTrustLevel(false, false, userCrossSigning.firstUse);
487
- }
488
- var userTrusted;
489
- var userMaster = userCrossSigning.keys.master;
490
- var uskId = this.getId("user_signing");
491
- try {
492
- pkVerify(userMaster, uskId, this.userId);
493
- userTrusted = true;
494
- } catch (_unused) {
495
- userTrusted = false;
496
- }
497
- return new UserTrustLevel(userTrusted, userCrossSigning.crossSigningVerifiedBefore, userCrossSigning.firstUse);
498
- }
499
-
500
- /**
501
- * Check whether a given device is trusted.
502
- *
503
- * @param userCrossSigning - Cross signing info for user
504
- * @param device - The device to check
505
- * @param localTrust - Whether the device is trusted locally
506
- * @param trustCrossSignedDevices - Whether we trust cross signed devices
507
- *
508
- * @returns
509
- */
510
- checkDeviceTrust(userCrossSigning, device, localTrust, trustCrossSignedDevices) {
511
- var userTrust = this.checkUserTrust(userCrossSigning);
512
- var userSSK = userCrossSigning.keys.self_signing;
513
- if (!userSSK) {
514
- // if the user has no self-signing key then we cannot make any
515
- // trust assertions about this device from cross-signing
516
- return new DeviceTrustLevel(false, false, localTrust, trustCrossSignedDevices);
517
- }
518
- var deviceObj = deviceToObject(device, userCrossSigning.userId);
519
- try {
520
- // if we can verify the user's SSK from their master key...
521
- pkVerify(userSSK, userCrossSigning.getId(), userCrossSigning.userId);
522
- // ...and this device's key from their SSK...
523
- pkVerify(deviceObj, publicKeyFromKeyInfo(userSSK), userCrossSigning.userId);
524
- // ...then we trust this device as much as far as we trust the user
525
- return DeviceTrustLevel.fromUserTrustLevel(userTrust, localTrust, trustCrossSignedDevices);
526
- } catch (_unused2) {
527
- return new DeviceTrustLevel(false, false, localTrust, trustCrossSignedDevices);
528
- }
529
- }
530
-
531
- /**
532
- * @returns Cache callbacks
533
- */
534
- getCacheCallbacks() {
535
- return this.cacheCallbacks;
536
- }
537
- }
538
- function deviceToObject(device, userId) {
539
- return {
540
- algorithms: device.algorithms,
541
- keys: device.keys,
542
- device_id: device.deviceId,
543
- user_id: userId,
544
- signatures: device.signatures
545
- };
546
- }
547
- export var CrossSigningLevel = /*#__PURE__*/function (CrossSigningLevel) {
548
- CrossSigningLevel[CrossSigningLevel["MASTER"] = 4] = "MASTER";
549
- CrossSigningLevel[CrossSigningLevel["USER_SIGNING"] = 2] = "USER_SIGNING";
550
- CrossSigningLevel[CrossSigningLevel["SELF_SIGNING"] = 1] = "SELF_SIGNING";
551
- return CrossSigningLevel;
552
- }({});
553
-
554
- /**
555
- * Represents the ways in which we trust a device.
556
- *
557
- * @deprecated Use {@link DeviceVerificationStatus}.
558
- */
559
- export class DeviceTrustLevel extends DeviceVerificationStatus {
560
- constructor(crossSigningVerified, tofu, localVerified, trustCrossSignedDevices) {
561
- var signedByOwner = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;
562
- super({
563
- crossSigningVerified,
564
- tofu,
565
- localVerified,
566
- trustCrossSignedDevices,
567
- signedByOwner
568
- });
569
- }
570
- static fromUserTrustLevel(userTrustLevel, localVerified, trustCrossSignedDevices) {
571
- return new DeviceTrustLevel(userTrustLevel.isCrossSigningVerified(), userTrustLevel.isTofu(), localVerified, trustCrossSignedDevices, true);
572
- }
573
-
574
- /**
575
- * @returns true if this device is verified via cross signing
576
- */
577
- isCrossSigningVerified() {
578
- return this.crossSigningVerified;
579
- }
580
-
581
- /**
582
- * @returns true if this device is verified locally
583
- */
584
- isLocallyVerified() {
585
- return this.localVerified;
586
- }
587
-
588
- /**
589
- * @returns true if this device is trusted from a user's key
590
- * that is trusted on first use
591
- */
592
- isTofu() {
593
- return this.tofu;
594
- }
595
- }
596
- export function createCryptoStoreCacheCallbacks(store, olmDevice) {
597
- return {
598
- getCrossSigningKeyCache: function () {
599
- var _getCrossSigningKeyCache = _asyncToGenerator(function* (type, _expectedPublicKey) {
600
- var key = yield new Promise(resolve => {
601
- store.doTxn("readonly", [IndexedDBCryptoStore.STORE_ACCOUNT], txn => {
602
- store.getSecretStorePrivateKey(txn, resolve, type);
603
- });
604
- });
605
- if (key && key.ciphertext) {
606
- var pickleKey = Buffer.from(olmDevice.pickleKey);
607
- var decrypted = yield decryptAESSecretStorageItem(key, pickleKey, type);
608
- return decodeBase64(decrypted);
609
- } else {
610
- return key;
611
- }
612
- });
613
- function getCrossSigningKeyCache(_x, _x2) {
614
- return _getCrossSigningKeyCache.apply(this, arguments);
615
- }
616
- return getCrossSigningKeyCache;
617
- }(),
618
- storeCrossSigningKeyCache: function () {
619
- var _storeCrossSigningKeyCache = _asyncToGenerator(function* (type, key) {
620
- if (!(key instanceof Uint8Array)) {
621
- throw new Error("storeCrossSigningKeyCache expects Uint8Array, got ".concat(key));
622
- }
623
- var pickleKey = Buffer.from(olmDevice.pickleKey);
624
- var encryptedKey = yield encryptAESSecretStorageItem(encodeBase64(key), pickleKey, type);
625
- return store.doTxn("readwrite", [IndexedDBCryptoStore.STORE_ACCOUNT], txn => {
626
- store.storeSecretStorePrivateKey(txn, type, encryptedKey);
627
- });
628
- });
629
- function storeCrossSigningKeyCache(_x3, _x4) {
630
- return _storeCrossSigningKeyCache.apply(this, arguments);
631
- }
632
- return storeCrossSigningKeyCache;
633
- }()
634
- };
635
- }
636
- /**
637
- * Request cross-signing keys from another device during verification.
638
- *
639
- * @param baseApis - base Matrix API interface
640
- * @param userId - The user ID being verified
641
- * @param deviceId - The device ID being verified
642
- */
643
- export function requestKeysDuringVerification(_x5, _x6, _x7) {
644
- return _requestKeysDuringVerification.apply(this, arguments);
645
- }
646
- function _requestKeysDuringVerification() {
647
- _requestKeysDuringVerification = _asyncToGenerator(function* (baseApis, userId, deviceId) {
648
- // If this is a self-verification, ask the other party for keys
649
- if (baseApis.getUserId() !== userId) {
650
- return;
651
- }
652
- logger.log("Cross-signing: Self-verification done; requesting keys");
653
- // This happens asynchronously, and we're not concerned about waiting for
654
- // it. We return here in order to test.
655
- return new Promise((resolve, reject) => {
656
- var client = baseApis;
657
- var original = client.crypto.crossSigningInfo;
658
-
659
- // We already have all of the infrastructure we need to validate and
660
- // cache cross-signing keys, so instead of replicating that, here we set
661
- // up callbacks that request them from the other device and call
662
- // CrossSigningInfo.getCrossSigningKey() to validate/cache
663
- var crossSigning = new CrossSigningInfo(original.userId, {
664
- getCrossSigningKey: function () {
665
- var _getCrossSigningKey = _asyncToGenerator(function* (type) {
666
- logger.debug("Cross-signing: requesting secret", type, deviceId);
667
- var {
668
- promise
669
- } = client.requestSecret("m.cross_signing.".concat(type), [deviceId]);
670
- var result = yield promise;
671
- var decoded = decodeBase64(result);
672
- return Uint8Array.from(decoded);
673
- });
674
- function getCrossSigningKey(_x8) {
675
- return _getCrossSigningKey.apply(this, arguments);
676
- }
677
- return getCrossSigningKey;
678
- }()
679
- }, original.getCacheCallbacks());
680
- crossSigning.keys = original.keys;
681
-
682
- // XXX: get all keys out if we get one key out
683
- // https://github.com/vector-im/element-web/issues/12604
684
- // then change here to reject on the timeout
685
- // Requests can be ignored, so don't wait around forever
686
- var timeout = new Promise(resolve => {
687
- setTimeout(resolve, KEY_REQUEST_TIMEOUT_MS, new Error("Timeout"));
688
- });
689
-
690
- // also request and cache the key backup key
691
- var backupKeyPromise = _asyncToGenerator(function* () {
692
- var cachedKey = yield client.crypto.getSessionBackupPrivateKey();
693
- if (!cachedKey) {
694
- logger.info("No cached backup key found. Requesting...");
695
- var secretReq = client.requestSecret("m.megolm_backup.v1", [deviceId]);
696
- var base64Key = yield secretReq.promise;
697
- logger.info("Got key backup key, decoding...");
698
- var decodedKey = decodeBase64(base64Key);
699
- logger.info("Decoded backup key, storing...");
700
- yield client.crypto.storeSessionBackupPrivateKey(Uint8Array.from(decodedKey));
701
- logger.info("Backup key stored. Starting backup restore...");
702
- var backupInfo = yield client.getKeyBackupVersion();
703
- // no need to await for this - just let it go in the bg
704
- client.restoreKeyBackupWithCache(undefined, undefined, backupInfo).then(() => {
705
- logger.info("Backup restored.");
706
- });
707
- }
708
- })();
709
-
710
- // We call getCrossSigningKey() for its side-effects
711
- Promise.race([Promise.all([crossSigning.getCrossSigningKey("master"), crossSigning.getCrossSigningKey("self_signing"), crossSigning.getCrossSigningKey("user_signing"), backupKeyPromise]), timeout]).then(resolve, reject);
712
- }).catch(e => {
713
- logger.warn("Cross-signing: failure while requesting keys:", e);
714
- });
715
- });
716
- return _requestKeysDuringVerification.apply(this, arguments);
717
- }
718
- //# sourceMappingURL=CrossSigning.js.map