@unwanted/matrix-sdk-mini 34.12.0 → 36.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (759) hide show
  1. package/git-revision.txt +1 -1
  2. package/lib/@types/event.d.ts +25 -19
  3. package/lib/@types/event.d.ts.map +1 -1
  4. package/lib/@types/event.js +5 -0
  5. package/lib/@types/event.js.map +1 -1
  6. package/lib/@types/global.d.js +0 -2
  7. package/lib/@types/global.d.js.map +1 -1
  8. package/lib/autodiscovery.d.ts +1 -1
  9. package/lib/autodiscovery.d.ts.map +1 -1
  10. package/lib/autodiscovery.js.map +1 -1
  11. package/lib/base64.d.ts +3 -6
  12. package/lib/base64.d.ts.map +1 -1
  13. package/lib/base64.js +43 -36
  14. package/lib/base64.js.map +1 -1
  15. package/lib/browser-index.d.ts.map +1 -1
  16. package/lib/browser-index.js +0 -11
  17. package/lib/browser-index.js.map +1 -1
  18. package/lib/client.d.ts +45 -1306
  19. package/lib/client.d.ts.map +1 -1
  20. package/lib/client.js +406 -2963
  21. package/lib/client.js.map +1 -1
  22. package/lib/digest.d.ts +2 -2
  23. package/lib/digest.d.ts.map +1 -1
  24. package/lib/digest.js +2 -2
  25. package/lib/digest.js.map +1 -1
  26. package/lib/embedded.d.ts +2 -23
  27. package/lib/embedded.d.ts.map +1 -1
  28. package/lib/embedded.js +82 -209
  29. package/lib/embedded.js.map +1 -1
  30. package/lib/event-mapper.d.ts.map +1 -1
  31. package/lib/event-mapper.js +0 -4
  32. package/lib/event-mapper.js.map +1 -1
  33. package/lib/feature.d.ts.map +1 -1
  34. package/lib/feature.js +2 -1
  35. package/lib/feature.js.map +1 -1
  36. package/lib/http-api/errors.d.ts +3 -3
  37. package/lib/http-api/errors.js +3 -3
  38. package/lib/http-api/errors.js.map +1 -1
  39. package/lib/http-api/utils.js +2 -2
  40. package/lib/http-api/utils.js.map +1 -1
  41. package/lib/matrix.d.ts +0 -25
  42. package/lib/matrix.d.ts.map +1 -1
  43. package/lib/matrix.js +1 -30
  44. package/lib/matrix.js.map +1 -1
  45. package/lib/models/MSC3089Branch.d.ts.map +1 -1
  46. package/lib/models/MSC3089Branch.js +0 -3
  47. package/lib/models/MSC3089Branch.js.map +1 -1
  48. package/lib/models/event-timeline-set.d.ts +6 -10
  49. package/lib/models/event-timeline-set.d.ts.map +1 -1
  50. package/lib/models/event-timeline-set.js +28 -36
  51. package/lib/models/event-timeline-set.js.map +1 -1
  52. package/lib/models/event-timeline.d.ts +7 -2
  53. package/lib/models/event-timeline.d.ts.map +1 -1
  54. package/lib/models/event-timeline.js +9 -30
  55. package/lib/models/event-timeline.js.map +1 -1
  56. package/lib/models/event.d.ts +12 -96
  57. package/lib/models/event.d.ts.map +1 -1
  58. package/lib/models/event.js +59 -286
  59. package/lib/models/event.js.map +1 -1
  60. package/lib/models/invites-ignorer-types.d.ts +27 -0
  61. package/lib/models/invites-ignorer-types.d.ts.map +1 -0
  62. package/lib/models/invites-ignorer-types.js +36 -0
  63. package/lib/models/invites-ignorer-types.js.map +1 -0
  64. package/lib/models/invites-ignorer.d.ts +2 -26
  65. package/lib/models/invites-ignorer.d.ts.map +1 -1
  66. package/lib/models/invites-ignorer.js +2 -27
  67. package/lib/models/invites-ignorer.js.map +1 -1
  68. package/lib/models/poll.d.ts.map +1 -1
  69. package/lib/models/poll.js +1 -5
  70. package/lib/models/poll.js.map +1 -1
  71. package/lib/models/relations-container.d.ts.map +1 -1
  72. package/lib/models/relations-container.js +1 -7
  73. package/lib/models/relations-container.js.map +1 -1
  74. package/lib/models/relations.d.ts +0 -1
  75. package/lib/models/relations.d.ts.map +1 -1
  76. package/lib/models/relations.js +0 -8
  77. package/lib/models/relations.js.map +1 -1
  78. package/lib/models/room-member.d.ts +6 -1
  79. package/lib/models/room-member.d.ts.map +1 -1
  80. package/lib/models/room-member.js +7 -1
  81. package/lib/models/room-member.js.map +1 -1
  82. package/lib/models/room-state.d.ts +2 -13
  83. package/lib/models/room-state.d.ts.map +1 -1
  84. package/lib/models/room-state.js +12 -56
  85. package/lib/models/room-state.js.map +1 -1
  86. package/lib/models/room.d.ts +8 -21
  87. package/lib/models/room.d.ts.map +1 -1
  88. package/lib/models/room.js +128 -163
  89. package/lib/models/room.js.map +1 -1
  90. package/lib/models/thread.d.ts.map +1 -1
  91. package/lib/models/thread.js +5 -4
  92. package/lib/models/thread.js.map +1 -1
  93. package/lib/oidc/authorize.d.ts +2 -2
  94. package/lib/oidc/authorize.d.ts.map +1 -1
  95. package/lib/oidc/authorize.js +5 -5
  96. package/lib/oidc/authorize.js.map +1 -1
  97. package/lib/oidc/discovery.d.ts +8 -0
  98. package/lib/oidc/discovery.d.ts.map +1 -1
  99. package/lib/oidc/discovery.js +22 -11
  100. package/lib/oidc/discovery.js.map +1 -1
  101. package/lib/oidc/index.d.ts +3 -4
  102. package/lib/oidc/index.d.ts.map +1 -1
  103. package/lib/oidc/index.js.map +1 -1
  104. package/lib/oidc/register.js +3 -3
  105. package/lib/oidc/register.js.map +1 -1
  106. package/lib/oidc/tokenRefresher.d.ts.map +1 -1
  107. package/lib/oidc/tokenRefresher.js +6 -5
  108. package/lib/oidc/tokenRefresher.js.map +1 -1
  109. package/lib/oidc/validate.d.ts +9 -23
  110. package/lib/oidc/validate.d.ts.map +1 -1
  111. package/lib/oidc/validate.js +13 -28
  112. package/lib/oidc/validate.js.map +1 -1
  113. package/lib/randomstring.d.ts +30 -3
  114. package/lib/randomstring.d.ts.map +1 -1
  115. package/lib/randomstring.js +68 -16
  116. package/lib/randomstring.js.map +1 -1
  117. package/lib/sliding-sync-sdk.d.ts +3 -4
  118. package/lib/sliding-sync-sdk.d.ts.map +1 -1
  119. package/lib/sliding-sync-sdk.js +55 -102
  120. package/lib/sliding-sync-sdk.js.map +1 -1
  121. package/lib/sliding-sync.js +9 -6
  122. package/lib/sliding-sync.js.map +1 -1
  123. package/lib/store/indexeddb-local-backend.js +4 -2
  124. package/lib/store/indexeddb-local-backend.js.map +1 -1
  125. package/lib/store/indexeddb.d.ts +1 -1
  126. package/lib/store/indexeddb.d.ts.map +1 -1
  127. package/lib/store/indexeddb.js.map +1 -1
  128. package/lib/sync-accumulator.d.ts +6 -4
  129. package/lib/sync-accumulator.d.ts.map +1 -1
  130. package/lib/sync-accumulator.js +23 -12
  131. package/lib/sync-accumulator.js.map +1 -1
  132. package/lib/sync.d.ts +10 -13
  133. package/lib/sync.d.ts.map +1 -1
  134. package/lib/sync.js +94 -115
  135. package/lib/sync.js.map +1 -1
  136. package/lib/testing.d.ts +13 -44
  137. package/lib/testing.d.ts.map +1 -1
  138. package/lib/testing.js +36 -99
  139. package/lib/testing.js.map +1 -1
  140. package/lib/types.d.ts +0 -1
  141. package/lib/types.d.ts.map +1 -1
  142. package/lib/types.js.map +1 -1
  143. package/package.json +14 -15
  144. package/src/@types/event.ts +19 -36
  145. package/src/@types/global.d.ts +21 -4
  146. package/src/autodiscovery.ts +1 -1
  147. package/src/base64.ts +38 -40
  148. package/src/browser-index.ts +0 -11
  149. package/src/client.ts +175 -3136
  150. package/src/digest.ts +3 -3
  151. package/src/embedded.ts +43 -149
  152. package/src/event-mapper.ts +0 -4
  153. package/src/feature.ts +1 -0
  154. package/src/http-api/errors.ts +3 -3
  155. package/src/http-api/utils.ts +2 -2
  156. package/src/matrix.ts +0 -41
  157. package/src/models/MSC3089Branch.ts +0 -3
  158. package/src/models/event-timeline-set.ts +17 -38
  159. package/src/models/event-timeline.ts +11 -26
  160. package/src/models/event.ts +54 -295
  161. package/src/models/invites-ignorer-types.ts +48 -0
  162. package/src/models/invites-ignorer.ts +7 -42
  163. package/src/models/poll.ts +0 -6
  164. package/src/models/relations-container.ts +1 -8
  165. package/src/models/relations.ts +0 -8
  166. package/src/models/room-member.ts +16 -1
  167. package/src/models/room-state.ts +4 -37
  168. package/src/models/room.ts +34 -69
  169. package/src/models/thread.ts +4 -3
  170. package/src/oidc/authorize.ts +7 -7
  171. package/src/oidc/discovery.ts +16 -10
  172. package/src/oidc/index.ts +3 -4
  173. package/src/oidc/register.ts +3 -3
  174. package/src/oidc/tokenRefresher.ts +3 -2
  175. package/src/oidc/validate.ts +40 -63
  176. package/src/randomstring.ts +65 -19
  177. package/src/sliding-sync-sdk.ts +10 -83
  178. package/src/sliding-sync.ts +6 -6
  179. package/src/store/indexeddb-local-backend.ts +2 -2
  180. package/src/store/indexeddb.ts +1 -1
  181. package/src/sync-accumulator.ts +33 -16
  182. package/src/sync.ts +112 -143
  183. package/src/testing.ts +36 -103
  184. package/src/types.ts +0 -1
  185. package/CHANGELOG.md +0 -5910
  186. package/lib/@types/AESEncryptedSecretStoragePayload.d.ts +0 -14
  187. package/lib/@types/AESEncryptedSecretStoragePayload.d.ts.map +0 -1
  188. package/lib/@types/AESEncryptedSecretStoragePayload.js +0 -1
  189. package/lib/@types/AESEncryptedSecretStoragePayload.js.map +0 -1
  190. package/lib/@types/crypto.d.ts +0 -47
  191. package/lib/@types/crypto.d.ts.map +0 -1
  192. package/lib/@types/crypto.js +0 -1
  193. package/lib/@types/crypto.js.map +0 -1
  194. package/lib/@types/matrix-sdk-crypto-wasm.d.js +0 -1
  195. package/lib/@types/matrix-sdk-crypto-wasm.d.js.map +0 -1
  196. package/lib/common-crypto/CryptoBackend.d.ts +0 -240
  197. package/lib/common-crypto/CryptoBackend.d.ts.map +0 -1
  198. package/lib/common-crypto/CryptoBackend.js +0 -73
  199. package/lib/common-crypto/CryptoBackend.js.map +0 -1
  200. package/lib/common-crypto/key-passphrase.d.ts +0 -14
  201. package/lib/common-crypto/key-passphrase.d.ts.map +0 -1
  202. package/lib/common-crypto/key-passphrase.js +0 -33
  203. package/lib/common-crypto/key-passphrase.js.map +0 -1
  204. package/lib/crypto/CrossSigning.d.ts +0 -184
  205. package/lib/crypto/CrossSigning.d.ts.map +0 -1
  206. package/lib/crypto/CrossSigning.js +0 -718
  207. package/lib/crypto/CrossSigning.js.map +0 -1
  208. package/lib/crypto/DeviceList.d.ts +0 -216
  209. package/lib/crypto/DeviceList.d.ts.map +0 -1
  210. package/lib/crypto/DeviceList.js +0 -892
  211. package/lib/crypto/DeviceList.js.map +0 -1
  212. package/lib/crypto/EncryptionSetup.d.ts +0 -152
  213. package/lib/crypto/EncryptionSetup.d.ts.map +0 -1
  214. package/lib/crypto/EncryptionSetup.js +0 -356
  215. package/lib/crypto/EncryptionSetup.js.map +0 -1
  216. package/lib/crypto/OlmDevice.d.ts +0 -457
  217. package/lib/crypto/OlmDevice.d.ts.map +0 -1
  218. package/lib/crypto/OlmDevice.js +0 -1241
  219. package/lib/crypto/OlmDevice.js.map +0 -1
  220. package/lib/crypto/OutgoingRoomKeyRequestManager.d.ts +0 -109
  221. package/lib/crypto/OutgoingRoomKeyRequestManager.d.ts.map +0 -1
  222. package/lib/crypto/OutgoingRoomKeyRequestManager.js +0 -415
  223. package/lib/crypto/OutgoingRoomKeyRequestManager.js.map +0 -1
  224. package/lib/crypto/RoomList.d.ts +0 -26
  225. package/lib/crypto/RoomList.d.ts.map +0 -1
  226. package/lib/crypto/RoomList.js +0 -71
  227. package/lib/crypto/RoomList.js.map +0 -1
  228. package/lib/crypto/SecretSharing.d.ts +0 -24
  229. package/lib/crypto/SecretSharing.d.ts.map +0 -1
  230. package/lib/crypto/SecretSharing.js +0 -194
  231. package/lib/crypto/SecretSharing.js.map +0 -1
  232. package/lib/crypto/SecretStorage.d.ts +0 -55
  233. package/lib/crypto/SecretStorage.d.ts.map +0 -1
  234. package/lib/crypto/SecretStorage.js +0 -118
  235. package/lib/crypto/SecretStorage.js.map +0 -1
  236. package/lib/crypto/aes.d.ts +0 -6
  237. package/lib/crypto/aes.d.ts.map +0 -1
  238. package/lib/crypto/aes.js +0 -24
  239. package/lib/crypto/aes.js.map +0 -1
  240. package/lib/crypto/algorithms/base.d.ts +0 -156
  241. package/lib/crypto/algorithms/base.d.ts.map +0 -1
  242. package/lib/crypto/algorithms/base.js +0 -187
  243. package/lib/crypto/algorithms/base.js.map +0 -1
  244. package/lib/crypto/algorithms/index.d.ts +0 -4
  245. package/lib/crypto/algorithms/index.d.ts.map +0 -1
  246. package/lib/crypto/algorithms/index.js +0 -20
  247. package/lib/crypto/algorithms/index.js.map +0 -1
  248. package/lib/crypto/algorithms/megolm.d.ts +0 -385
  249. package/lib/crypto/algorithms/megolm.d.ts.map +0 -1
  250. package/lib/crypto/algorithms/megolm.js +0 -1822
  251. package/lib/crypto/algorithms/megolm.js.map +0 -1
  252. package/lib/crypto/algorithms/olm.d.ts +0 -5
  253. package/lib/crypto/algorithms/olm.d.ts.map +0 -1
  254. package/lib/crypto/algorithms/olm.js +0 -299
  255. package/lib/crypto/algorithms/olm.js.map +0 -1
  256. package/lib/crypto/api.d.ts +0 -32
  257. package/lib/crypto/api.d.ts.map +0 -1
  258. package/lib/crypto/api.js +0 -22
  259. package/lib/crypto/api.js.map +0 -1
  260. package/lib/crypto/backup.d.ts +0 -227
  261. package/lib/crypto/backup.d.ts.map +0 -1
  262. package/lib/crypto/backup.js +0 -824
  263. package/lib/crypto/backup.js.map +0 -1
  264. package/lib/crypto/crypto.d.ts +0 -3
  265. package/lib/crypto/crypto.d.ts.map +0 -1
  266. package/lib/crypto/crypto.js +0 -19
  267. package/lib/crypto/crypto.js.map +0 -1
  268. package/lib/crypto/dehydration.d.ts +0 -34
  269. package/lib/crypto/dehydration.d.ts.map +0 -1
  270. package/lib/crypto/dehydration.js +0 -252
  271. package/lib/crypto/dehydration.js.map +0 -1
  272. package/lib/crypto/device-converter.d.ts +0 -9
  273. package/lib/crypto/device-converter.d.ts.map +0 -1
  274. package/lib/crypto/device-converter.js +0 -42
  275. package/lib/crypto/device-converter.js.map +0 -1
  276. package/lib/crypto/deviceinfo.d.ts +0 -99
  277. package/lib/crypto/deviceinfo.d.ts.map +0 -1
  278. package/lib/crypto/deviceinfo.js +0 -148
  279. package/lib/crypto/deviceinfo.js.map +0 -1
  280. package/lib/crypto/index.d.ts +0 -1210
  281. package/lib/crypto/index.d.ts.map +0 -1
  282. package/lib/crypto/index.js +0 -4101
  283. package/lib/crypto/index.js.map +0 -1
  284. package/lib/crypto/key_passphrase.d.ts +0 -14
  285. package/lib/crypto/key_passphrase.d.ts.map +0 -1
  286. package/lib/crypto/key_passphrase.js +0 -44
  287. package/lib/crypto/key_passphrase.js.map +0 -1
  288. package/lib/crypto/keybackup.d.ts +0 -18
  289. package/lib/crypto/keybackup.d.ts.map +0 -1
  290. package/lib/crypto/keybackup.js +0 -1
  291. package/lib/crypto/keybackup.js.map +0 -1
  292. package/lib/crypto/olmlib.d.ts +0 -129
  293. package/lib/crypto/olmlib.d.ts.map +0 -1
  294. package/lib/crypto/olmlib.js +0 -492
  295. package/lib/crypto/olmlib.js.map +0 -1
  296. package/lib/crypto/recoverykey.d.ts +0 -2
  297. package/lib/crypto/recoverykey.d.ts.map +0 -1
  298. package/lib/crypto/recoverykey.js +0 -19
  299. package/lib/crypto/recoverykey.js.map +0 -1
  300. package/lib/crypto/store/base.d.ts +0 -252
  301. package/lib/crypto/store/base.d.ts.map +0 -1
  302. package/lib/crypto/store/base.js +0 -64
  303. package/lib/crypto/store/base.js.map +0 -1
  304. package/lib/crypto/store/indexeddb-crypto-store-backend.d.ts +0 -187
  305. package/lib/crypto/store/indexeddb-crypto-store-backend.d.ts.map +0 -1
  306. package/lib/crypto/store/indexeddb-crypto-store-backend.js +0 -1145
  307. package/lib/crypto/store/indexeddb-crypto-store-backend.js.map +0 -1
  308. package/lib/crypto/store/indexeddb-crypto-store.d.ts +0 -432
  309. package/lib/crypto/store/indexeddb-crypto-store.d.ts.map +0 -1
  310. package/lib/crypto/store/indexeddb-crypto-store.js +0 -728
  311. package/lib/crypto/store/indexeddb-crypto-store.js.map +0 -1
  312. package/lib/crypto/store/localStorage-crypto-store.d.ts +0 -119
  313. package/lib/crypto/store/localStorage-crypto-store.d.ts.map +0 -1
  314. package/lib/crypto/store/localStorage-crypto-store.js +0 -531
  315. package/lib/crypto/store/localStorage-crypto-store.js.map +0 -1
  316. package/lib/crypto/store/memory-crypto-store.d.ts +0 -215
  317. package/lib/crypto/store/memory-crypto-store.d.ts.map +0 -1
  318. package/lib/crypto/store/memory-crypto-store.js +0 -622
  319. package/lib/crypto/store/memory-crypto-store.js.map +0 -1
  320. package/lib/crypto/verification/Base.d.ts +0 -105
  321. package/lib/crypto/verification/Base.d.ts.map +0 -1
  322. package/lib/crypto/verification/Base.js +0 -372
  323. package/lib/crypto/verification/Base.js.map +0 -1
  324. package/lib/crypto/verification/Error.d.ts +0 -35
  325. package/lib/crypto/verification/Error.d.ts.map +0 -1
  326. package/lib/crypto/verification/Error.js +0 -86
  327. package/lib/crypto/verification/Error.js.map +0 -1
  328. package/lib/crypto/verification/IllegalMethod.d.ts +0 -15
  329. package/lib/crypto/verification/IllegalMethod.d.ts.map +0 -1
  330. package/lib/crypto/verification/IllegalMethod.js +0 -43
  331. package/lib/crypto/verification/IllegalMethod.js.map +0 -1
  332. package/lib/crypto/verification/QRCode.d.ts +0 -51
  333. package/lib/crypto/verification/QRCode.d.ts.map +0 -1
  334. package/lib/crypto/verification/QRCode.js +0 -277
  335. package/lib/crypto/verification/QRCode.js.map +0 -1
  336. package/lib/crypto/verification/SAS.d.ts +0 -27
  337. package/lib/crypto/verification/SAS.d.ts.map +0 -1
  338. package/lib/crypto/verification/SAS.js +0 -485
  339. package/lib/crypto/verification/SAS.js.map +0 -1
  340. package/lib/crypto/verification/SASDecimal.d.ts +0 -8
  341. package/lib/crypto/verification/SASDecimal.d.ts.map +0 -1
  342. package/lib/crypto/verification/SASDecimal.js +0 -34
  343. package/lib/crypto/verification/SASDecimal.js.map +0 -1
  344. package/lib/crypto/verification/request/Channel.d.ts +0 -18
  345. package/lib/crypto/verification/request/Channel.d.ts.map +0 -1
  346. package/lib/crypto/verification/request/Channel.js +0 -1
  347. package/lib/crypto/verification/request/Channel.js.map +0 -1
  348. package/lib/crypto/verification/request/InRoomChannel.d.ts +0 -113
  349. package/lib/crypto/verification/request/InRoomChannel.d.ts.map +0 -1
  350. package/lib/crypto/verification/request/InRoomChannel.js +0 -351
  351. package/lib/crypto/verification/request/InRoomChannel.js.map +0 -1
  352. package/lib/crypto/verification/request/ToDeviceChannel.d.ts +0 -105
  353. package/lib/crypto/verification/request/ToDeviceChannel.d.ts.map +0 -1
  354. package/lib/crypto/verification/request/ToDeviceChannel.js +0 -328
  355. package/lib/crypto/verification/request/ToDeviceChannel.js.map +0 -1
  356. package/lib/crypto/verification/request/VerificationRequest.d.ts +0 -227
  357. package/lib/crypto/verification/request/VerificationRequest.d.ts.map +0 -1
  358. package/lib/crypto/verification/request/VerificationRequest.js +0 -937
  359. package/lib/crypto/verification/request/VerificationRequest.js.map +0 -1
  360. package/lib/crypto-api/CryptoEvent.d.ts +0 -69
  361. package/lib/crypto-api/CryptoEvent.d.ts.map +0 -1
  362. package/lib/crypto-api/CryptoEvent.js +0 -33
  363. package/lib/crypto-api/CryptoEvent.js.map +0 -1
  364. package/lib/crypto-api/CryptoEventHandlerMap.d.ts +0 -16
  365. package/lib/crypto-api/CryptoEventHandlerMap.d.ts.map +0 -1
  366. package/lib/crypto-api/CryptoEventHandlerMap.js +0 -22
  367. package/lib/crypto-api/CryptoEventHandlerMap.js.map +0 -1
  368. package/lib/crypto-api/index.d.ts +0 -978
  369. package/lib/crypto-api/index.d.ts.map +0 -1
  370. package/lib/crypto-api/index.js +0 -304
  371. package/lib/crypto-api/index.js.map +0 -1
  372. package/lib/crypto-api/key-passphrase.d.ts +0 -11
  373. package/lib/crypto-api/key-passphrase.d.ts.map +0 -1
  374. package/lib/crypto-api/key-passphrase.js +0 -51
  375. package/lib/crypto-api/key-passphrase.js.map +0 -1
  376. package/lib/crypto-api/keybackup.d.ts +0 -88
  377. package/lib/crypto-api/keybackup.d.ts.map +0 -1
  378. package/lib/crypto-api/keybackup.js +0 -1
  379. package/lib/crypto-api/keybackup.js.map +0 -1
  380. package/lib/crypto-api/recovery-key.d.ts +0 -11
  381. package/lib/crypto-api/recovery-key.d.ts.map +0 -1
  382. package/lib/crypto-api/recovery-key.js +0 -65
  383. package/lib/crypto-api/recovery-key.js.map +0 -1
  384. package/lib/crypto-api/verification.d.ts +0 -344
  385. package/lib/crypto-api/verification.d.ts.map +0 -1
  386. package/lib/crypto-api/verification.js +0 -91
  387. package/lib/crypto-api/verification.js.map +0 -1
  388. package/lib/matrixrtc/CallMembership.d.ts +0 -66
  389. package/lib/matrixrtc/CallMembership.d.ts.map +0 -1
  390. package/lib/matrixrtc/CallMembership.js +0 -197
  391. package/lib/matrixrtc/CallMembership.js.map +0 -1
  392. package/lib/matrixrtc/LivekitFocus.d.ts +0 -16
  393. package/lib/matrixrtc/LivekitFocus.d.ts.map +0 -1
  394. package/lib/matrixrtc/LivekitFocus.js +0 -20
  395. package/lib/matrixrtc/LivekitFocus.js.map +0 -1
  396. package/lib/matrixrtc/MatrixRTCSession.d.ts +0 -295
  397. package/lib/matrixrtc/MatrixRTCSession.d.ts.map +0 -1
  398. package/lib/matrixrtc/MatrixRTCSession.js +0 -1043
  399. package/lib/matrixrtc/MatrixRTCSession.js.map +0 -1
  400. package/lib/matrixrtc/MatrixRTCSessionManager.d.ts +0 -40
  401. package/lib/matrixrtc/MatrixRTCSessionManager.d.ts.map +0 -1
  402. package/lib/matrixrtc/MatrixRTCSessionManager.js +0 -146
  403. package/lib/matrixrtc/MatrixRTCSessionManager.js.map +0 -1
  404. package/lib/matrixrtc/focus.d.ts +0 -10
  405. package/lib/matrixrtc/focus.d.ts.map +0 -1
  406. package/lib/matrixrtc/focus.js +0 -1
  407. package/lib/matrixrtc/focus.js.map +0 -1
  408. package/lib/matrixrtc/index.d.ts +0 -7
  409. package/lib/matrixrtc/index.d.ts.map +0 -1
  410. package/lib/matrixrtc/index.js +0 -21
  411. package/lib/matrixrtc/index.js.map +0 -1
  412. package/lib/matrixrtc/types.d.ts +0 -19
  413. package/lib/matrixrtc/types.d.ts.map +0 -1
  414. package/lib/matrixrtc/types.js +0 -1
  415. package/lib/matrixrtc/types.js.map +0 -1
  416. package/lib/rendezvous/MSC4108SignInWithQR.d.ts +0 -112
  417. package/lib/rendezvous/MSC4108SignInWithQR.d.ts.map +0 -1
  418. package/lib/rendezvous/MSC4108SignInWithQR.js +0 -392
  419. package/lib/rendezvous/MSC4108SignInWithQR.js.map +0 -1
  420. package/lib/rendezvous/RendezvousChannel.d.ts +0 -27
  421. package/lib/rendezvous/RendezvousChannel.d.ts.map +0 -1
  422. package/lib/rendezvous/RendezvousChannel.js +0 -1
  423. package/lib/rendezvous/RendezvousChannel.js.map +0 -1
  424. package/lib/rendezvous/RendezvousCode.d.ts +0 -9
  425. package/lib/rendezvous/RendezvousCode.d.ts.map +0 -1
  426. package/lib/rendezvous/RendezvousCode.js +0 -1
  427. package/lib/rendezvous/RendezvousCode.js.map +0 -1
  428. package/lib/rendezvous/RendezvousError.d.ts +0 -6
  429. package/lib/rendezvous/RendezvousError.d.ts.map +0 -1
  430. package/lib/rendezvous/RendezvousError.js +0 -23
  431. package/lib/rendezvous/RendezvousError.js.map +0 -1
  432. package/lib/rendezvous/RendezvousFailureReason.d.ts +0 -31
  433. package/lib/rendezvous/RendezvousFailureReason.d.ts.map +0 -1
  434. package/lib/rendezvous/RendezvousFailureReason.js +0 -38
  435. package/lib/rendezvous/RendezvousFailureReason.js.map +0 -1
  436. package/lib/rendezvous/RendezvousIntent.d.ts +0 -5
  437. package/lib/rendezvous/RendezvousIntent.d.ts.map +0 -1
  438. package/lib/rendezvous/RendezvousIntent.js +0 -22
  439. package/lib/rendezvous/RendezvousIntent.js.map +0 -1
  440. package/lib/rendezvous/RendezvousTransport.d.ts +0 -36
  441. package/lib/rendezvous/RendezvousTransport.d.ts.map +0 -1
  442. package/lib/rendezvous/RendezvousTransport.js +0 -1
  443. package/lib/rendezvous/RendezvousTransport.js.map +0 -1
  444. package/lib/rendezvous/channels/MSC4108SecureChannel.d.ts +0 -58
  445. package/lib/rendezvous/channels/MSC4108SecureChannel.d.ts.map +0 -1
  446. package/lib/rendezvous/channels/MSC4108SecureChannel.js +0 -246
  447. package/lib/rendezvous/channels/MSC4108SecureChannel.js.map +0 -1
  448. package/lib/rendezvous/channels/index.d.ts +0 -2
  449. package/lib/rendezvous/channels/index.d.ts.map +0 -1
  450. package/lib/rendezvous/channels/index.js +0 -18
  451. package/lib/rendezvous/channels/index.js.map +0 -1
  452. package/lib/rendezvous/index.d.ts +0 -10
  453. package/lib/rendezvous/index.d.ts.map +0 -1
  454. package/lib/rendezvous/index.js +0 -23
  455. package/lib/rendezvous/index.js.map +0 -1
  456. package/lib/rendezvous/transports/MSC4108RendezvousSession.d.ts +0 -61
  457. package/lib/rendezvous/transports/MSC4108RendezvousSession.d.ts.map +0 -1
  458. package/lib/rendezvous/transports/MSC4108RendezvousSession.js +0 -253
  459. package/lib/rendezvous/transports/MSC4108RendezvousSession.js.map +0 -1
  460. package/lib/rendezvous/transports/index.d.ts +0 -2
  461. package/lib/rendezvous/transports/index.d.ts.map +0 -1
  462. package/lib/rendezvous/transports/index.js +0 -18
  463. package/lib/rendezvous/transports/index.js.map +0 -1
  464. package/lib/rust-crypto/CrossSigningIdentity.d.ts +0 -33
  465. package/lib/rust-crypto/CrossSigningIdentity.d.ts.map +0 -1
  466. package/lib/rust-crypto/CrossSigningIdentity.js +0 -157
  467. package/lib/rust-crypto/CrossSigningIdentity.js.map +0 -1
  468. package/lib/rust-crypto/DehydratedDeviceManager.d.ts +0 -98
  469. package/lib/rust-crypto/DehydratedDeviceManager.d.ts.map +0 -1
  470. package/lib/rust-crypto/DehydratedDeviceManager.js +0 -285
  471. package/lib/rust-crypto/DehydratedDeviceManager.js.map +0 -1
  472. package/lib/rust-crypto/KeyClaimManager.d.ts +0 -33
  473. package/lib/rust-crypto/KeyClaimManager.d.ts.map +0 -1
  474. package/lib/rust-crypto/KeyClaimManager.js +0 -82
  475. package/lib/rust-crypto/KeyClaimManager.js.map +0 -1
  476. package/lib/rust-crypto/OutgoingRequestProcessor.d.ts +0 -43
  477. package/lib/rust-crypto/OutgoingRequestProcessor.d.ts.map +0 -1
  478. package/lib/rust-crypto/OutgoingRequestProcessor.js +0 -195
  479. package/lib/rust-crypto/OutgoingRequestProcessor.js.map +0 -1
  480. package/lib/rust-crypto/OutgoingRequestsManager.d.ts +0 -47
  481. package/lib/rust-crypto/OutgoingRequestsManager.d.ts.map +0 -1
  482. package/lib/rust-crypto/OutgoingRequestsManager.js +0 -148
  483. package/lib/rust-crypto/OutgoingRequestsManager.js.map +0 -1
  484. package/lib/rust-crypto/PerSessionKeyBackupDownloader.d.ts +0 -120
  485. package/lib/rust-crypto/PerSessionKeyBackupDownloader.d.ts.map +0 -1
  486. package/lib/rust-crypto/PerSessionKeyBackupDownloader.js +0 -467
  487. package/lib/rust-crypto/PerSessionKeyBackupDownloader.js.map +0 -1
  488. package/lib/rust-crypto/RoomEncryptor.d.ts +0 -98
  489. package/lib/rust-crypto/RoomEncryptor.d.ts.map +0 -1
  490. package/lib/rust-crypto/RoomEncryptor.js +0 -299
  491. package/lib/rust-crypto/RoomEncryptor.js.map +0 -1
  492. package/lib/rust-crypto/backup.d.ts +0 -254
  493. package/lib/rust-crypto/backup.d.ts.map +0 -1
  494. package/lib/rust-crypto/backup.js +0 -837
  495. package/lib/rust-crypto/backup.js.map +0 -1
  496. package/lib/rust-crypto/constants.d.ts +0 -3
  497. package/lib/rust-crypto/constants.d.ts.map +0 -1
  498. package/lib/rust-crypto/constants.js +0 -19
  499. package/lib/rust-crypto/constants.js.map +0 -1
  500. package/lib/rust-crypto/device-converter.d.ts +0 -28
  501. package/lib/rust-crypto/device-converter.d.ts.map +0 -1
  502. package/lib/rust-crypto/device-converter.js +0 -123
  503. package/lib/rust-crypto/device-converter.js.map +0 -1
  504. package/lib/rust-crypto/index.d.ts +0 -61
  505. package/lib/rust-crypto/index.d.ts.map +0 -1
  506. package/lib/rust-crypto/index.js +0 -152
  507. package/lib/rust-crypto/index.js.map +0 -1
  508. package/lib/rust-crypto/libolm_migration.d.ts +0 -81
  509. package/lib/rust-crypto/libolm_migration.d.ts.map +0 -1
  510. package/lib/rust-crypto/libolm_migration.js +0 -459
  511. package/lib/rust-crypto/libolm_migration.js.map +0 -1
  512. package/lib/rust-crypto/rust-crypto.d.ts +0 -556
  513. package/lib/rust-crypto/rust-crypto.d.ts.map +0 -1
  514. package/lib/rust-crypto/rust-crypto.js +0 -2016
  515. package/lib/rust-crypto/rust-crypto.js.map +0 -1
  516. package/lib/rust-crypto/secret-storage.d.ts +0 -22
  517. package/lib/rust-crypto/secret-storage.d.ts.map +0 -1
  518. package/lib/rust-crypto/secret-storage.js +0 -63
  519. package/lib/rust-crypto/secret-storage.js.map +0 -1
  520. package/lib/rust-crypto/verification.d.ts +0 -319
  521. package/lib/rust-crypto/verification.d.ts.map +0 -1
  522. package/lib/rust-crypto/verification.js +0 -816
  523. package/lib/rust-crypto/verification.js.map +0 -1
  524. package/lib/secret-storage.d.ts +0 -370
  525. package/lib/secret-storage.d.ts.map +0 -1
  526. package/lib/secret-storage.js +0 -466
  527. package/lib/secret-storage.js.map +0 -1
  528. package/lib/utils/decryptAESSecretStorageItem.d.ts +0 -12
  529. package/lib/utils/decryptAESSecretStorageItem.d.ts.map +0 -1
  530. package/lib/utils/decryptAESSecretStorageItem.js +0 -50
  531. package/lib/utils/decryptAESSecretStorageItem.js.map +0 -1
  532. package/lib/utils/encryptAESSecretStorageItem.d.ts +0 -16
  533. package/lib/utils/encryptAESSecretStorageItem.d.ts.map +0 -1
  534. package/lib/utils/encryptAESSecretStorageItem.js +0 -68
  535. package/lib/utils/encryptAESSecretStorageItem.js.map +0 -1
  536. package/lib/utils/internal/deriveKeys.d.ts +0 -10
  537. package/lib/utils/internal/deriveKeys.d.ts.map +0 -1
  538. package/lib/utils/internal/deriveKeys.js +0 -60
  539. package/lib/utils/internal/deriveKeys.js.map +0 -1
  540. package/lib/webrtc/audioContext.d.ts +0 -15
  541. package/lib/webrtc/audioContext.d.ts.map +0 -1
  542. package/lib/webrtc/audioContext.js +0 -46
  543. package/lib/webrtc/audioContext.js.map +0 -1
  544. package/lib/webrtc/call.d.ts +0 -560
  545. package/lib/webrtc/call.d.ts.map +0 -1
  546. package/lib/webrtc/call.js +0 -2541
  547. package/lib/webrtc/call.js.map +0 -1
  548. package/lib/webrtc/callEventHandler.d.ts +0 -37
  549. package/lib/webrtc/callEventHandler.d.ts.map +0 -1
  550. package/lib/webrtc/callEventHandler.js +0 -344
  551. package/lib/webrtc/callEventHandler.js.map +0 -1
  552. package/lib/webrtc/callEventTypes.d.ts +0 -73
  553. package/lib/webrtc/callEventTypes.d.ts.map +0 -1
  554. package/lib/webrtc/callEventTypes.js +0 -13
  555. package/lib/webrtc/callEventTypes.js.map +0 -1
  556. package/lib/webrtc/callFeed.d.ts +0 -128
  557. package/lib/webrtc/callFeed.d.ts.map +0 -1
  558. package/lib/webrtc/callFeed.js +0 -289
  559. package/lib/webrtc/callFeed.js.map +0 -1
  560. package/lib/webrtc/groupCall.d.ts +0 -323
  561. package/lib/webrtc/groupCall.d.ts.map +0 -1
  562. package/lib/webrtc/groupCall.js +0 -1337
  563. package/lib/webrtc/groupCall.js.map +0 -1
  564. package/lib/webrtc/groupCallEventHandler.d.ts +0 -31
  565. package/lib/webrtc/groupCallEventHandler.d.ts.map +0 -1
  566. package/lib/webrtc/groupCallEventHandler.js +0 -178
  567. package/lib/webrtc/groupCallEventHandler.js.map +0 -1
  568. package/lib/webrtc/mediaHandler.d.ts +0 -89
  569. package/lib/webrtc/mediaHandler.d.ts.map +0 -1
  570. package/lib/webrtc/mediaHandler.js +0 -437
  571. package/lib/webrtc/mediaHandler.js.map +0 -1
  572. package/lib/webrtc/stats/callFeedStatsReporter.d.ts +0 -8
  573. package/lib/webrtc/stats/callFeedStatsReporter.d.ts.map +0 -1
  574. package/lib/webrtc/stats/callFeedStatsReporter.js +0 -82
  575. package/lib/webrtc/stats/callFeedStatsReporter.js.map +0 -1
  576. package/lib/webrtc/stats/callStatsReportGatherer.d.ts +0 -25
  577. package/lib/webrtc/stats/callStatsReportGatherer.d.ts.map +0 -1
  578. package/lib/webrtc/stats/callStatsReportGatherer.js +0 -199
  579. package/lib/webrtc/stats/callStatsReportGatherer.js.map +0 -1
  580. package/lib/webrtc/stats/callStatsReportSummary.d.ts +0 -17
  581. package/lib/webrtc/stats/callStatsReportSummary.d.ts.map +0 -1
  582. package/lib/webrtc/stats/callStatsReportSummary.js +0 -1
  583. package/lib/webrtc/stats/callStatsReportSummary.js.map +0 -1
  584. package/lib/webrtc/stats/connectionStats.d.ts +0 -28
  585. package/lib/webrtc/stats/connectionStats.d.ts.map +0 -1
  586. package/lib/webrtc/stats/connectionStats.js +0 -26
  587. package/lib/webrtc/stats/connectionStats.js.map +0 -1
  588. package/lib/webrtc/stats/connectionStatsBuilder.d.ts +0 -5
  589. package/lib/webrtc/stats/connectionStatsBuilder.d.ts.map +0 -1
  590. package/lib/webrtc/stats/connectionStatsBuilder.js +0 -27
  591. package/lib/webrtc/stats/connectionStatsBuilder.js.map +0 -1
  592. package/lib/webrtc/stats/connectionStatsReportBuilder.d.ts +0 -7
  593. package/lib/webrtc/stats/connectionStatsReportBuilder.d.ts.map +0 -1
  594. package/lib/webrtc/stats/connectionStatsReportBuilder.js +0 -121
  595. package/lib/webrtc/stats/connectionStatsReportBuilder.js.map +0 -1
  596. package/lib/webrtc/stats/groupCallStats.d.ts +0 -22
  597. package/lib/webrtc/stats/groupCallStats.d.ts.map +0 -1
  598. package/lib/webrtc/stats/groupCallStats.js +0 -78
  599. package/lib/webrtc/stats/groupCallStats.js.map +0 -1
  600. package/lib/webrtc/stats/media/mediaSsrcHandler.d.ts +0 -10
  601. package/lib/webrtc/stats/media/mediaSsrcHandler.d.ts.map +0 -1
  602. package/lib/webrtc/stats/media/mediaSsrcHandler.js +0 -57
  603. package/lib/webrtc/stats/media/mediaSsrcHandler.js.map +0 -1
  604. package/lib/webrtc/stats/media/mediaTrackHandler.d.ts +0 -12
  605. package/lib/webrtc/stats/media/mediaTrackHandler.d.ts.map +0 -1
  606. package/lib/webrtc/stats/media/mediaTrackHandler.js +0 -62
  607. package/lib/webrtc/stats/media/mediaTrackHandler.js.map +0 -1
  608. package/lib/webrtc/stats/media/mediaTrackStats.d.ts +0 -86
  609. package/lib/webrtc/stats/media/mediaTrackStats.d.ts.map +0 -1
  610. package/lib/webrtc/stats/media/mediaTrackStats.js +0 -142
  611. package/lib/webrtc/stats/media/mediaTrackStats.js.map +0 -1
  612. package/lib/webrtc/stats/media/mediaTrackStatsHandler.d.ts +0 -22
  613. package/lib/webrtc/stats/media/mediaTrackStatsHandler.d.ts.map +0 -1
  614. package/lib/webrtc/stats/media/mediaTrackStatsHandler.js +0 -76
  615. package/lib/webrtc/stats/media/mediaTrackStatsHandler.js.map +0 -1
  616. package/lib/webrtc/stats/statsReport.d.ts +0 -99
  617. package/lib/webrtc/stats/statsReport.d.ts.map +0 -1
  618. package/lib/webrtc/stats/statsReport.js +0 -32
  619. package/lib/webrtc/stats/statsReport.js.map +0 -1
  620. package/lib/webrtc/stats/statsReportEmitter.d.ts +0 -15
  621. package/lib/webrtc/stats/statsReportEmitter.d.ts.map +0 -1
  622. package/lib/webrtc/stats/statsReportEmitter.js +0 -33
  623. package/lib/webrtc/stats/statsReportEmitter.js.map +0 -1
  624. package/lib/webrtc/stats/summaryStatsReportGatherer.d.ts +0 -16
  625. package/lib/webrtc/stats/summaryStatsReportGatherer.d.ts.map +0 -1
  626. package/lib/webrtc/stats/summaryStatsReportGatherer.js +0 -116
  627. package/lib/webrtc/stats/summaryStatsReportGatherer.js.map +0 -1
  628. package/lib/webrtc/stats/trackStatsBuilder.d.ts +0 -19
  629. package/lib/webrtc/stats/trackStatsBuilder.d.ts.map +0 -1
  630. package/lib/webrtc/stats/trackStatsBuilder.js +0 -168
  631. package/lib/webrtc/stats/trackStatsBuilder.js.map +0 -1
  632. package/lib/webrtc/stats/transportStats.d.ts +0 -11
  633. package/lib/webrtc/stats/transportStats.d.ts.map +0 -1
  634. package/lib/webrtc/stats/transportStats.js +0 -1
  635. package/lib/webrtc/stats/transportStats.js.map +0 -1
  636. package/lib/webrtc/stats/transportStatsBuilder.d.ts +0 -5
  637. package/lib/webrtc/stats/transportStatsBuilder.d.ts.map +0 -1
  638. package/lib/webrtc/stats/transportStatsBuilder.js +0 -34
  639. package/lib/webrtc/stats/transportStatsBuilder.js.map +0 -1
  640. package/lib/webrtc/stats/valueFormatter.d.ts +0 -4
  641. package/lib/webrtc/stats/valueFormatter.d.ts.map +0 -1
  642. package/lib/webrtc/stats/valueFormatter.js +0 -25
  643. package/lib/webrtc/stats/valueFormatter.js.map +0 -1
  644. package/src/@types/AESEncryptedSecretStoragePayload.ts +0 -29
  645. package/src/@types/crypto.ts +0 -73
  646. package/src/@types/matrix-sdk-crypto-wasm.d.ts +0 -44
  647. package/src/common-crypto/CryptoBackend.ts +0 -302
  648. package/src/common-crypto/README.md +0 -4
  649. package/src/common-crypto/key-passphrase.ts +0 -43
  650. package/src/crypto/CrossSigning.ts +0 -773
  651. package/src/crypto/DeviceList.ts +0 -989
  652. package/src/crypto/EncryptionSetup.ts +0 -351
  653. package/src/crypto/OlmDevice.ts +0 -1500
  654. package/src/crypto/OutgoingRoomKeyRequestManager.ts +0 -485
  655. package/src/crypto/RoomList.ts +0 -70
  656. package/src/crypto/SecretSharing.ts +0 -240
  657. package/src/crypto/SecretStorage.ts +0 -136
  658. package/src/crypto/aes.ts +0 -23
  659. package/src/crypto/algorithms/base.ts +0 -236
  660. package/src/crypto/algorithms/index.ts +0 -20
  661. package/src/crypto/algorithms/megolm.ts +0 -2216
  662. package/src/crypto/algorithms/olm.ts +0 -381
  663. package/src/crypto/api.ts +0 -70
  664. package/src/crypto/backup.ts +0 -922
  665. package/src/crypto/crypto.ts +0 -18
  666. package/src/crypto/dehydration.ts +0 -272
  667. package/src/crypto/device-converter.ts +0 -45
  668. package/src/crypto/deviceinfo.ts +0 -158
  669. package/src/crypto/index.ts +0 -4418
  670. package/src/crypto/key_passphrase.ts +0 -42
  671. package/src/crypto/keybackup.ts +0 -47
  672. package/src/crypto/olmlib.ts +0 -539
  673. package/src/crypto/recoverykey.ts +0 -18
  674. package/src/crypto/store/base.ts +0 -348
  675. package/src/crypto/store/indexeddb-crypto-store-backend.ts +0 -1250
  676. package/src/crypto/store/indexeddb-crypto-store.ts +0 -845
  677. package/src/crypto/store/localStorage-crypto-store.ts +0 -579
  678. package/src/crypto/store/memory-crypto-store.ts +0 -680
  679. package/src/crypto/verification/Base.ts +0 -409
  680. package/src/crypto/verification/Error.ts +0 -76
  681. package/src/crypto/verification/IllegalMethod.ts +0 -50
  682. package/src/crypto/verification/QRCode.ts +0 -310
  683. package/src/crypto/verification/SAS.ts +0 -494
  684. package/src/crypto/verification/SASDecimal.ts +0 -37
  685. package/src/crypto/verification/request/Channel.ts +0 -34
  686. package/src/crypto/verification/request/InRoomChannel.ts +0 -371
  687. package/src/crypto/verification/request/ToDeviceChannel.ts +0 -354
  688. package/src/crypto/verification/request/VerificationRequest.ts +0 -976
  689. package/src/crypto-api/CryptoEvent.ts +0 -93
  690. package/src/crypto-api/CryptoEventHandlerMap.ts +0 -32
  691. package/src/crypto-api/index.ts +0 -1175
  692. package/src/crypto-api/key-passphrase.ts +0 -58
  693. package/src/crypto-api/keybackup.ts +0 -115
  694. package/src/crypto-api/recovery-key.ts +0 -69
  695. package/src/crypto-api/verification.ts +0 -408
  696. package/src/matrixrtc/CallMembership.ts +0 -247
  697. package/src/matrixrtc/LivekitFocus.ts +0 -39
  698. package/src/matrixrtc/MatrixRTCSession.ts +0 -1319
  699. package/src/matrixrtc/MatrixRTCSessionManager.ts +0 -166
  700. package/src/matrixrtc/focus.ts +0 -25
  701. package/src/matrixrtc/index.ts +0 -22
  702. package/src/matrixrtc/types.ts +0 -36
  703. package/src/rendezvous/MSC4108SignInWithQR.ts +0 -444
  704. package/src/rendezvous/RendezvousChannel.ts +0 -48
  705. package/src/rendezvous/RendezvousCode.ts +0 -25
  706. package/src/rendezvous/RendezvousError.ts +0 -26
  707. package/src/rendezvous/RendezvousFailureReason.ts +0 -49
  708. package/src/rendezvous/RendezvousIntent.ts +0 -20
  709. package/src/rendezvous/RendezvousTransport.ts +0 -58
  710. package/src/rendezvous/channels/MSC4108SecureChannel.ts +0 -270
  711. package/src/rendezvous/channels/index.ts +0 -17
  712. package/src/rendezvous/index.ts +0 -25
  713. package/src/rendezvous/transports/MSC4108RendezvousSession.ts +0 -270
  714. package/src/rendezvous/transports/index.ts +0 -17
  715. package/src/rust-crypto/CrossSigningIdentity.ts +0 -183
  716. package/src/rust-crypto/DehydratedDeviceManager.ts +0 -306
  717. package/src/rust-crypto/KeyClaimManager.ts +0 -86
  718. package/src/rust-crypto/OutgoingRequestProcessor.ts +0 -236
  719. package/src/rust-crypto/OutgoingRequestsManager.ts +0 -143
  720. package/src/rust-crypto/PerSessionKeyBackupDownloader.ts +0 -501
  721. package/src/rust-crypto/RoomEncryptor.ts +0 -352
  722. package/src/rust-crypto/backup.ts +0 -881
  723. package/src/rust-crypto/constants.ts +0 -18
  724. package/src/rust-crypto/device-converter.ts +0 -128
  725. package/src/rust-crypto/index.ts +0 -237
  726. package/src/rust-crypto/libolm_migration.ts +0 -530
  727. package/src/rust-crypto/rust-crypto.ts +0 -2205
  728. package/src/rust-crypto/secret-storage.ts +0 -60
  729. package/src/rust-crypto/verification.ts +0 -830
  730. package/src/secret-storage.ts +0 -693
  731. package/src/utils/decryptAESSecretStorageItem.ts +0 -54
  732. package/src/utils/encryptAESSecretStorageItem.ts +0 -73
  733. package/src/utils/internal/deriveKeys.ts +0 -63
  734. package/src/webrtc/audioContext.ts +0 -44
  735. package/src/webrtc/call.ts +0 -3074
  736. package/src/webrtc/callEventHandler.ts +0 -425
  737. package/src/webrtc/callEventTypes.ts +0 -93
  738. package/src/webrtc/callFeed.ts +0 -364
  739. package/src/webrtc/groupCall.ts +0 -1735
  740. package/src/webrtc/groupCallEventHandler.ts +0 -234
  741. package/src/webrtc/mediaHandler.ts +0 -484
  742. package/src/webrtc/stats/callFeedStatsReporter.ts +0 -94
  743. package/src/webrtc/stats/callStatsReportGatherer.ts +0 -219
  744. package/src/webrtc/stats/callStatsReportSummary.ts +0 -30
  745. package/src/webrtc/stats/connectionStats.ts +0 -47
  746. package/src/webrtc/stats/connectionStatsBuilder.ts +0 -28
  747. package/src/webrtc/stats/connectionStatsReportBuilder.ts +0 -140
  748. package/src/webrtc/stats/groupCallStats.ts +0 -93
  749. package/src/webrtc/stats/media/mediaSsrcHandler.ts +0 -57
  750. package/src/webrtc/stats/media/mediaTrackHandler.ts +0 -76
  751. package/src/webrtc/stats/media/mediaTrackStats.ts +0 -176
  752. package/src/webrtc/stats/media/mediaTrackStatsHandler.ts +0 -90
  753. package/src/webrtc/stats/statsReport.ts +0 -133
  754. package/src/webrtc/stats/statsReportEmitter.ts +0 -49
  755. package/src/webrtc/stats/summaryStatsReportGatherer.ts +0 -148
  756. package/src/webrtc/stats/trackStatsBuilder.ts +0 -207
  757. package/src/webrtc/stats/transportStats.ts +0 -26
  758. package/src/webrtc/stats/transportStatsBuilder.ts +0 -48
  759. package/src/webrtc/stats/valueFormatter.ts +0 -27
@@ -1,61 +0,0 @@
1
- import { ClientRendezvousFailureReason, MSC4108FailureReason, RendezvousFailureListener } from "../index.ts";
2
- import { MatrixClient } from "../../matrix.ts";
3
- /**
4
- * Prototype of the unstable [MSC4108](https://github.com/matrix-org/matrix-spec-proposals/pull/4108)
5
- * insecure rendezvous session protocol.
6
- * @experimental Note that this is UNSTABLE and may have breaking changes without notice.
7
- */
8
- export declare class MSC4108RendezvousSession {
9
- url?: string;
10
- private readonly client?;
11
- private readonly fallbackRzServer?;
12
- private readonly fetchFn?;
13
- private readonly onFailure?;
14
- private etag?;
15
- private expiresAt?;
16
- private expiresTimer?;
17
- private _cancelled;
18
- private _ready;
19
- constructor({ onFailure, url, fetchFn, }: {
20
- fetchFn?: typeof globalThis.fetch;
21
- onFailure?: RendezvousFailureListener;
22
- url: string;
23
- });
24
- constructor({ onFailure, client, fallbackRzServer, fetchFn, }: {
25
- fetchFn?: typeof globalThis.fetch;
26
- onFailure?: RendezvousFailureListener;
27
- client?: MatrixClient;
28
- fallbackRzServer?: string;
29
- });
30
- /**
31
- * Returns whether the channel is ready to be used.
32
- */
33
- get ready(): boolean;
34
- /**
35
- * Returns whether the channel has been cancelled.
36
- */
37
- get cancelled(): boolean;
38
- private fetch;
39
- private getPostEndpoint;
40
- /**
41
- * Sends data via the rendezvous channel.
42
- * @param data the payload to send
43
- */
44
- send(data: string): Promise<void>;
45
- /**
46
- * Receives data from the rendezvous channel.
47
- * @return the returned promise won't resolve until new data is acquired or the channel is closed either by the server or the other party.
48
- */
49
- receive(): Promise<string | undefined>;
50
- /**
51
- * Cancels the rendezvous channel.
52
- * If the reason is user_declined or user_cancelled then the channel will also be closed.
53
- * @param reason the reason to cancel with
54
- */
55
- cancel(reason: MSC4108FailureReason | ClientRendezvousFailureReason): Promise<void>;
56
- /**
57
- * Closes the rendezvous channel.
58
- */
59
- close(): Promise<void>;
60
- }
61
- //# sourceMappingURL=MSC4108RendezvousSession.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"MSC4108RendezvousSession.d.ts","sourceRoot":"","sources":["../../../src/rendezvous/transports/MSC4108RendezvousSession.ts"],"names":[],"mappings":"AAkBA,OAAO,EAAE,6BAA6B,EAAE,oBAAoB,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AAC7G,OAAO,EAAE,YAAY,EAAU,MAAM,iBAAiB,CAAC;AAGvD;;;;GAIG;AACH,qBAAa,wBAAwB;IAC1B,GAAG,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAe;IACvC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAS;IAC3C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAA0B;IACnD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAA4B;IACvD,OAAO,CAAC,IAAI,CAAC,CAAS;IACtB,OAAO,CAAC,SAAS,CAAC,CAAO;IACzB,OAAO,CAAC,YAAY,CAAC,CAAgC;IACrD,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,MAAM,CAAS;gBAEJ,EACf,SAAS,EACT,GAAG,EACH,OAAO,GACV,EAAE;QACC,OAAO,CAAC,EAAE,OAAO,UAAU,CAAC,KAAK,CAAC;QAClC,SAAS,CAAC,EAAE,yBAAyB,CAAC;QACtC,GAAG,EAAE,MAAM,CAAC;KACf;gBACkB,EACf,SAAS,EACT,MAAM,EACN,gBAAgB,EAChB,OAAO,GACV,EAAE;QACC,OAAO,CAAC,EAAE,OAAO,UAAU,CAAC,KAAK,CAAC;QAClC,SAAS,CAAC,EAAE,yBAAyB,CAAC;QACtC,MAAM,CAAC,EAAE,YAAY,CAAC;QACtB,gBAAgB,CAAC,EAAE,MAAM,CAAC;KAC7B;IAqBD;;OAEG;IACH,IAAW,KAAK,IAAI,OAAO,CAE1B;IAED;;OAEG;IACH,IAAW,SAAS,IAAI,OAAO,CAE9B;IAED,OAAO,CAAC,KAAK;YAOC,eAAe;IAgB7B;;;OAGG;IACU,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAuD9C;;;OAGG;IACU,OAAO,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IA6CnD;;;;OAIG;IACU,MAAM,CAAC,MAAM,EAAE,oBAAoB,GAAG,6BAA6B,GAAG,OAAO,CAAC,IAAI,CAAC;IAwBhG;;OAEG;IACU,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAatC"}
@@ -1,253 +0,0 @@
1
- import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
2
- import _defineProperty from "@babel/runtime/helpers/defineProperty";
3
- /*
4
- Copyright 2024 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 { sleep } from "../../utils.js";
21
- import { ClientRendezvousFailureReason, MSC4108FailureReason } from "../index.js";
22
- import { Method } from "../../matrix.js";
23
- import { ClientPrefix } from "../../http-api/index.js";
24
-
25
- /**
26
- * Prototype of the unstable [MSC4108](https://github.com/matrix-org/matrix-spec-proposals/pull/4108)
27
- * insecure rendezvous session protocol.
28
- * @experimental Note that this is UNSTABLE and may have breaking changes without notice.
29
- */
30
- export class MSC4108RendezvousSession {
31
- constructor(_ref) {
32
- var {
33
- fetchFn,
34
- onFailure,
35
- url,
36
- client,
37
- fallbackRzServer
38
- } = _ref;
39
- _defineProperty(this, "url", void 0);
40
- _defineProperty(this, "client", void 0);
41
- _defineProperty(this, "fallbackRzServer", void 0);
42
- _defineProperty(this, "fetchFn", void 0);
43
- _defineProperty(this, "onFailure", void 0);
44
- _defineProperty(this, "etag", void 0);
45
- _defineProperty(this, "expiresAt", void 0);
46
- _defineProperty(this, "expiresTimer", void 0);
47
- _defineProperty(this, "_cancelled", false);
48
- _defineProperty(this, "_ready", false);
49
- this.fetchFn = fetchFn;
50
- this.onFailure = onFailure;
51
- this.client = client;
52
- this.fallbackRzServer = fallbackRzServer;
53
- this.url = url;
54
- }
55
-
56
- /**
57
- * Returns whether the channel is ready to be used.
58
- */
59
- get ready() {
60
- return this._ready;
61
- }
62
-
63
- /**
64
- * Returns whether the channel has been cancelled.
65
- */
66
- get cancelled() {
67
- return this._cancelled;
68
- }
69
- fetch(resource, options) {
70
- if (this.fetchFn) {
71
- return this.fetchFn(resource, options);
72
- }
73
- return globalThis.fetch(resource, options);
74
- }
75
- getPostEndpoint() {
76
- var _this = this;
77
- return _asyncToGenerator(function* () {
78
- if (_this.client) {
79
- try {
80
- if (yield _this.client.doesServerSupportUnstableFeature("org.matrix.msc4108")) {
81
- return _this.client.http.getUrl("/org.matrix.msc4108/rendezvous", undefined, ClientPrefix.Unstable).toString();
82
- }
83
- } catch (err) {
84
- logger.warn("Failed to get unstable features", err);
85
- }
86
- }
87
- return _this.fallbackRzServer;
88
- })();
89
- }
90
-
91
- /**
92
- * Sends data via the rendezvous channel.
93
- * @param data the payload to send
94
- */
95
- send(data) {
96
- var _this2 = this;
97
- return _asyncToGenerator(function* () {
98
- var _this2$url, _res$headers$get;
99
- if (_this2._cancelled) {
100
- return;
101
- }
102
- var method = _this2.url ? Method.Put : Method.Post;
103
- var uri = (_this2$url = _this2.url) !== null && _this2$url !== void 0 ? _this2$url : yield _this2.getPostEndpoint();
104
- if (!uri) {
105
- throw new Error("Invalid rendezvous URI");
106
- }
107
- var headers = {
108
- "content-type": "text/plain"
109
- };
110
-
111
- // if we didn't create the rendezvous channel, we need to fetch the first etag if needed
112
- if (!_this2.etag && _this2.url) {
113
- yield _this2.receive();
114
- }
115
- if (_this2.etag) {
116
- headers["if-match"] = _this2.etag;
117
- }
118
- logger.info("=> ".concat(method, " ").concat(uri, " with ").concat(data, " if-match: ").concat(_this2.etag));
119
- var res = yield _this2.fetch(uri, {
120
- method,
121
- headers,
122
- body: data,
123
- redirect: "follow"
124
- });
125
- if (res.status === 404) {
126
- return _this2.cancel(ClientRendezvousFailureReason.Unknown);
127
- }
128
- _this2.etag = (_res$headers$get = res.headers.get("etag")) !== null && _res$headers$get !== void 0 ? _res$headers$get : undefined;
129
- logger.info("Received etag: ".concat(_this2.etag));
130
- if (method === Method.Post) {
131
- var expires = res.headers.get("expires");
132
- if (expires) {
133
- if (_this2.expiresTimer) {
134
- clearTimeout(_this2.expiresTimer);
135
- _this2.expiresTimer = undefined;
136
- }
137
- _this2.expiresAt = new Date(expires);
138
- _this2.expiresTimer = setTimeout(() => {
139
- _this2.expiresTimer = undefined;
140
- _this2.cancel(ClientRendezvousFailureReason.Expired);
141
- }, _this2.expiresAt.getTime() - Date.now());
142
- }
143
- // MSC4108: we expect a JSON response with a rendezvous URL
144
- var json = yield res.json();
145
- if (typeof json.url !== "string") {
146
- throw new Error("No rendezvous URL given");
147
- }
148
- _this2.url = json.url;
149
- _this2._ready = true;
150
- }
151
- })();
152
- }
153
-
154
- /**
155
- * Receives data from the rendezvous channel.
156
- * @return the returned promise won't resolve until new data is acquired or the channel is closed either by the server or the other party.
157
- */
158
- receive() {
159
- var _this3 = this;
160
- return _asyncToGenerator(function* () {
161
- if (!_this3.url) {
162
- throw new Error("Rendezvous not set up");
163
- }
164
- // eslint-disable-next-line no-constant-condition
165
- while (true) {
166
- var _poll$headers$get;
167
- if (_this3._cancelled) {
168
- return undefined;
169
- }
170
- var headers = {};
171
- if (_this3.etag) {
172
- headers["if-none-match"] = _this3.etag;
173
- }
174
- logger.info("=> GET ".concat(_this3.url, " if-none-match: ").concat(_this3.etag));
175
- var poll = yield _this3.fetch(_this3.url, {
176
- method: Method.Get,
177
- headers
178
- });
179
- if (poll.status === 404) {
180
- yield _this3.cancel(ClientRendezvousFailureReason.Unknown);
181
- return undefined;
182
- }
183
-
184
- // rely on server expiring the channel rather than checking ourselves
185
-
186
- var etag = (_poll$headers$get = poll.headers.get("etag")) !== null && _poll$headers$get !== void 0 ? _poll$headers$get : undefined;
187
- if (poll.headers.get("content-type") !== "text/plain") {
188
- _this3.etag = etag;
189
- } else if (poll.status === 200) {
190
- if (!etag) {
191
- // Some browsers & extensions block the ETag header for anti-tracking purposes
192
- // We try and detect this so the client can give the user a somewhat helpful message
193
- yield _this3.cancel(ClientRendezvousFailureReason.ETagMissing);
194
- return undefined;
195
- }
196
- _this3.etag = etag;
197
- var text = yield poll.text();
198
- logger.info("Received: ".concat(text, " with etag ").concat(_this3.etag));
199
- return text;
200
- }
201
- yield sleep(1000);
202
- }
203
- })();
204
- }
205
-
206
- /**
207
- * Cancels the rendezvous channel.
208
- * If the reason is user_declined or user_cancelled then the channel will also be closed.
209
- * @param reason the reason to cancel with
210
- */
211
- cancel(reason) {
212
- var _this4 = this;
213
- return _asyncToGenerator(function* () {
214
- var _this4$onFailure;
215
- if (_this4._cancelled) return;
216
- if (_this4.expiresTimer) {
217
- clearTimeout(_this4.expiresTimer);
218
- _this4.expiresTimer = undefined;
219
- }
220
- if (reason === ClientRendezvousFailureReason.Unknown && _this4.expiresAt && _this4.expiresAt.getTime() < Date.now()) {
221
- reason = ClientRendezvousFailureReason.Expired;
222
- }
223
- _this4._cancelled = true;
224
- _this4._ready = false;
225
- (_this4$onFailure = _this4.onFailure) === null || _this4$onFailure === void 0 || _this4$onFailure.call(_this4, reason);
226
- if (reason === ClientRendezvousFailureReason.UserDeclined || reason === MSC4108FailureReason.UserCancelled) {
227
- yield _this4.close();
228
- }
229
- })();
230
- }
231
-
232
- /**
233
- * Closes the rendezvous channel.
234
- */
235
- close() {
236
- var _this5 = this;
237
- return _asyncToGenerator(function* () {
238
- if (_this5.expiresTimer) {
239
- clearTimeout(_this5.expiresTimer);
240
- _this5.expiresTimer = undefined;
241
- }
242
- if (!_this5.url) return;
243
- try {
244
- yield _this5.fetch(_this5.url, {
245
- method: Method.Delete
246
- });
247
- } catch (e) {
248
- logger.warn(e);
249
- }
250
- })();
251
- }
252
- }
253
- //# sourceMappingURL=MSC4108RendezvousSession.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"MSC4108RendezvousSession.js","names":["logger","sleep","ClientRendezvousFailureReason","MSC4108FailureReason","Method","ClientPrefix","MSC4108RendezvousSession","constructor","_ref","fetchFn","onFailure","url","client","fallbackRzServer","_defineProperty","ready","_ready","cancelled","_cancelled","fetch","resource","options","globalThis","getPostEndpoint","_this","_asyncToGenerator","doesServerSupportUnstableFeature","http","getUrl","undefined","Unstable","toString","err","warn","send","data","_this2","_this2$url","_res$headers$get","method","Put","Post","uri","Error","headers","etag","receive","info","concat","res","body","redirect","status","cancel","Unknown","get","expires","expiresTimer","clearTimeout","expiresAt","Date","setTimeout","Expired","getTime","now","json","_this3","_poll$headers$get","poll","Get","ETagMissing","text","reason","_this4","_this4$onFailure","call","UserDeclined","UserCancelled","close","_this5","Delete","e"],"sources":["../../../src/rendezvous/transports/MSC4108RendezvousSession.ts"],"sourcesContent":["/*\nCopyright 2024 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport { logger } from \"../../logger.ts\";\nimport { sleep } from \"../../utils.ts\";\nimport { ClientRendezvousFailureReason, MSC4108FailureReason, RendezvousFailureListener } from \"../index.ts\";\nimport { MatrixClient, Method } from \"../../matrix.ts\";\nimport { ClientPrefix } from \"../../http-api/index.ts\";\n\n/**\n * Prototype of the unstable [MSC4108](https://github.com/matrix-org/matrix-spec-proposals/pull/4108)\n * insecure rendezvous session protocol.\n * @experimental Note that this is UNSTABLE and may have breaking changes without notice.\n */\nexport class MSC4108RendezvousSession {\n public url?: string;\n private readonly client?: MatrixClient;\n private readonly fallbackRzServer?: string;\n private readonly fetchFn?: typeof globalThis.fetch;\n private readonly onFailure?: RendezvousFailureListener;\n private etag?: string;\n private expiresAt?: Date;\n private expiresTimer?: ReturnType<typeof setTimeout>;\n private _cancelled = false;\n private _ready = false;\n\n public constructor({\n onFailure,\n url,\n fetchFn,\n }: {\n fetchFn?: typeof globalThis.fetch;\n onFailure?: RendezvousFailureListener;\n url: string;\n });\n public constructor({\n onFailure,\n client,\n fallbackRzServer,\n fetchFn,\n }: {\n fetchFn?: typeof globalThis.fetch;\n onFailure?: RendezvousFailureListener;\n client?: MatrixClient;\n fallbackRzServer?: string;\n });\n public constructor({\n fetchFn,\n onFailure,\n url,\n client,\n fallbackRzServer,\n }: {\n fetchFn?: typeof globalThis.fetch;\n onFailure?: RendezvousFailureListener;\n url?: string;\n client?: MatrixClient;\n fallbackRzServer?: string;\n }) {\n this.fetchFn = fetchFn;\n this.onFailure = onFailure;\n this.client = client;\n this.fallbackRzServer = fallbackRzServer;\n this.url = url;\n }\n\n /**\n * Returns whether the channel is ready to be used.\n */\n public get ready(): boolean {\n return this._ready;\n }\n\n /**\n * Returns whether the channel has been cancelled.\n */\n public get cancelled(): boolean {\n return this._cancelled;\n }\n\n private fetch(resource: URL | string, options?: RequestInit): ReturnType<typeof globalThis.fetch> {\n if (this.fetchFn) {\n return this.fetchFn(resource, options);\n }\n return globalThis.fetch(resource, options);\n }\n\n private async getPostEndpoint(): Promise<string | undefined> {\n if (this.client) {\n try {\n if (await this.client.doesServerSupportUnstableFeature(\"org.matrix.msc4108\")) {\n return this.client.http\n .getUrl(\"/org.matrix.msc4108/rendezvous\", undefined, ClientPrefix.Unstable)\n .toString();\n }\n } catch (err) {\n logger.warn(\"Failed to get unstable features\", err);\n }\n }\n\n return this.fallbackRzServer;\n }\n\n /**\n * Sends data via the rendezvous channel.\n * @param data the payload to send\n */\n public async send(data: string): Promise<void> {\n if (this._cancelled) {\n return;\n }\n const method = this.url ? Method.Put : Method.Post;\n const uri = this.url ?? (await this.getPostEndpoint());\n\n if (!uri) {\n throw new Error(\"Invalid rendezvous URI\");\n }\n\n const headers: Record<string, string> = { \"content-type\": \"text/plain\" };\n\n // if we didn't create the rendezvous channel, we need to fetch the first etag if needed\n if (!this.etag && this.url) {\n await this.receive();\n }\n\n if (this.etag) {\n headers[\"if-match\"] = this.etag;\n }\n\n logger.info(`=> ${method} ${uri} with ${data} if-match: ${this.etag}`);\n\n const res = await this.fetch(uri, { method, headers, body: data, redirect: \"follow\" });\n if (res.status === 404) {\n return this.cancel(ClientRendezvousFailureReason.Unknown);\n }\n this.etag = res.headers.get(\"etag\") ?? undefined;\n\n logger.info(`Received etag: ${this.etag}`);\n\n if (method === Method.Post) {\n const expires = res.headers.get(\"expires\");\n if (expires) {\n if (this.expiresTimer) {\n clearTimeout(this.expiresTimer);\n this.expiresTimer = undefined;\n }\n this.expiresAt = new Date(expires);\n this.expiresTimer = setTimeout(() => {\n this.expiresTimer = undefined;\n this.cancel(ClientRendezvousFailureReason.Expired);\n }, this.expiresAt.getTime() - Date.now());\n }\n // MSC4108: we expect a JSON response with a rendezvous URL\n const json = await res.json();\n if (typeof json.url !== \"string\") {\n throw new Error(\"No rendezvous URL given\");\n }\n this.url = json.url;\n this._ready = true;\n }\n }\n\n /**\n * Receives data from the rendezvous channel.\n * @return the returned promise won't resolve until new data is acquired or the channel is closed either by the server or the other party.\n */\n public async receive(): Promise<string | undefined> {\n if (!this.url) {\n throw new Error(\"Rendezvous not set up\");\n }\n // eslint-disable-next-line no-constant-condition\n while (true) {\n if (this._cancelled) {\n return undefined;\n }\n\n const headers: Record<string, string> = {};\n if (this.etag) {\n headers[\"if-none-match\"] = this.etag;\n }\n\n logger.info(`=> GET ${this.url} if-none-match: ${this.etag}`);\n const poll = await this.fetch(this.url, { method: Method.Get, headers });\n\n if (poll.status === 404) {\n await this.cancel(ClientRendezvousFailureReason.Unknown);\n return undefined;\n }\n\n // rely on server expiring the channel rather than checking ourselves\n\n const etag = poll.headers.get(\"etag\") ?? undefined;\n if (poll.headers.get(\"content-type\") !== \"text/plain\") {\n this.etag = etag;\n } else if (poll.status === 200) {\n if (!etag) {\n // Some browsers & extensions block the ETag header for anti-tracking purposes\n // We try and detect this so the client can give the user a somewhat helpful message\n await this.cancel(ClientRendezvousFailureReason.ETagMissing);\n return undefined;\n }\n\n this.etag = etag;\n const text = await poll.text();\n logger.info(`Received: ${text} with etag ${this.etag}`);\n return text;\n }\n await sleep(1000);\n }\n }\n\n /**\n * Cancels the rendezvous channel.\n * If the reason is user_declined or user_cancelled then the channel will also be closed.\n * @param reason the reason to cancel with\n */\n public async cancel(reason: MSC4108FailureReason | ClientRendezvousFailureReason): Promise<void> {\n if (this._cancelled) return;\n if (this.expiresTimer) {\n clearTimeout(this.expiresTimer);\n this.expiresTimer = undefined;\n }\n\n if (\n reason === ClientRendezvousFailureReason.Unknown &&\n this.expiresAt &&\n this.expiresAt.getTime() < Date.now()\n ) {\n reason = ClientRendezvousFailureReason.Expired;\n }\n\n this._cancelled = true;\n this._ready = false;\n this.onFailure?.(reason);\n\n if (reason === ClientRendezvousFailureReason.UserDeclined || reason === MSC4108FailureReason.UserCancelled) {\n await this.close();\n }\n }\n\n /**\n * Closes the rendezvous channel.\n */\n public async close(): Promise<void> {\n if (this.expiresTimer) {\n clearTimeout(this.expiresTimer);\n this.expiresTimer = undefined;\n }\n\n if (!this.url) return;\n try {\n await this.fetch(this.url, { method: Method.Delete });\n } catch (e) {\n logger.warn(e);\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,2 +0,0 @@
1
- export * from "./MSC4108RendezvousSession.ts";
2
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/rendezvous/transports/index.ts"],"names":[],"mappings":"AAgBA,cAAc,+BAA+B,CAAC"}
@@ -1,18 +0,0 @@
1
- /*
2
- Copyright 2022 The Matrix.org Foundation C.I.C.
3
-
4
- Licensed under the Apache License, Version 2.0 (the "License");
5
- you may not use this file except in compliance with the License.
6
- You may obtain a copy of the License at
7
-
8
- http://www.apache.org/licenses/LICENSE-2.0
9
-
10
- Unless required by applicable law or agreed to in writing, software
11
- distributed under the License is distributed on an "AS IS" BASIS,
12
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
- See the License for the specific language governing permissions and
14
- limitations under the License.
15
- */
16
-
17
- export * from "./MSC4108RendezvousSession.js";
18
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","names":[],"sources":["../../../src/rendezvous/transports/index.ts"],"sourcesContent":["/*\nCopyright 2022 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nexport * from \"./MSC4108RendezvousSession.ts\";\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,cAAc,+BAA+B","ignoreList":[]}
@@ -1,33 +0,0 @@
1
- import { OlmMachine } from "@matrix-org/matrix-sdk-crypto-wasm";
2
- import { BootstrapCrossSigningOpts } from "../crypto-api/index.ts";
3
- import { OutgoingRequestProcessor } from "./OutgoingRequestProcessor.ts";
4
- import { ServerSideSecretStorage } from "../secret-storage.ts";
5
- /** Manages the cross-signing keys for our own user.
6
- *
7
- * @internal
8
- */
9
- export declare class CrossSigningIdentity {
10
- private readonly olmMachine;
11
- private readonly outgoingRequestProcessor;
12
- private readonly secretStorage;
13
- constructor(olmMachine: OlmMachine, outgoingRequestProcessor: OutgoingRequestProcessor, secretStorage: ServerSideSecretStorage);
14
- /**
15
- * Initialise our cross-signing keys by creating new keys if they do not exist, and uploading to the server
16
- */
17
- bootstrapCrossSigning(opts: BootstrapCrossSigningOpts): Promise<void>;
18
- /** Reset our cross-signing keys
19
- *
20
- * This method will:
21
- * * Tell the OlmMachine to create new keys
22
- * * Upload the new public keys and the device signature to the server
23
- * * Upload the private keys to SSSS, if it is set up
24
- */
25
- private resetCrossSigning;
26
- /**
27
- * Extract the cross-signing keys from the olm machine and save them to secret storage, if it is configured
28
- *
29
- * (If secret storage is *not* configured, we assume that the export will happen when it is set up)
30
- */
31
- private exportCrossSigningKeysToStorage;
32
- }
33
- //# sourceMappingURL=CrossSigningIdentity.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"CrossSigningIdentity.d.ts","sourceRoot":"","sources":["../../src/rust-crypto/CrossSigningIdentity.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,UAAU,EAAqD,MAAM,oCAAoC,CAAC;AAGnH,OAAO,EAAE,yBAAyB,EAAE,MAAM,wBAAwB,CAAC;AAEnE,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AAEzE,OAAO,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAE/D;;;GAGG;AACH,qBAAa,oBAAoB;IAEzB,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,wBAAwB;IACzC,OAAO,CAAC,QAAQ,CAAC,aAAa;gBAFb,UAAU,EAAE,UAAU,EACtB,wBAAwB,EAAE,wBAAwB,EAClD,aAAa,EAAE,uBAAuB;IAG3D;;OAEG;IACU,qBAAqB,CAAC,IAAI,EAAE,yBAAyB,GAAG,OAAO,CAAC,IAAI,CAAC;IAiFlF;;;;;;OAMG;YACW,iBAAiB;IA+B/B;;;;OAIG;YACW,+BAA+B;CAmBhD"}
@@ -1,157 +0,0 @@
1
- import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
2
- /*
3
- Copyright 2023 The Matrix.org Foundation C.I.C.
4
-
5
- Licensed under the Apache License, Version 2.0 (the "License");
6
- you may not use this file except in compliance with the License.
7
- You may obtain a copy of the License at
8
-
9
- http://www.apache.org/licenses/LICENSE-2.0
10
-
11
- Unless required by applicable law or agreed to in writing, software
12
- distributed under the License is distributed on an "AS IS" BASIS,
13
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
- See the License for the specific language governing permissions and
15
- limitations under the License.
16
- */
17
-
18
- import { logger } from "../logger.js";
19
- /** Manages the cross-signing keys for our own user.
20
- *
21
- * @internal
22
- */
23
- export class CrossSigningIdentity {
24
- constructor(olmMachine, outgoingRequestProcessor, secretStorage) {
25
- this.olmMachine = olmMachine;
26
- this.outgoingRequestProcessor = outgoingRequestProcessor;
27
- this.secretStorage = secretStorage;
28
- }
29
-
30
- /**
31
- * Initialise our cross-signing keys by creating new keys if they do not exist, and uploading to the server
32
- */
33
- bootstrapCrossSigning(opts) {
34
- var _this = this;
35
- return _asyncToGenerator(function* () {
36
- if (opts.setupNewCrossSigning) {
37
- yield _this.resetCrossSigning(opts.authUploadDeviceSigningKeys);
38
- return;
39
- }
40
- var olmDeviceStatus = yield _this.olmMachine.crossSigningStatus();
41
-
42
- // Try to fetch cross signing keys from the secret storage
43
- var masterKeyFromSecretStorage = yield _this.secretStorage.get("m.cross_signing.master");
44
- var selfSigningKeyFromSecretStorage = yield _this.secretStorage.get("m.cross_signing.self_signing");
45
- var userSigningKeyFromSecretStorage = yield _this.secretStorage.get("m.cross_signing.user_signing");
46
- var privateKeysInSecretStorage = Boolean(masterKeyFromSecretStorage && selfSigningKeyFromSecretStorage && userSigningKeyFromSecretStorage);
47
- var olmDeviceHasKeys = olmDeviceStatus.hasMaster && olmDeviceStatus.hasUserSigning && olmDeviceStatus.hasSelfSigning;
48
-
49
- // Log all relevant state for easier parsing of debug logs.
50
- logger.log("bootstrapCrossSigning: starting", {
51
- setupNewCrossSigning: opts.setupNewCrossSigning,
52
- olmDeviceHasMaster: olmDeviceStatus.hasMaster,
53
- olmDeviceHasUserSigning: olmDeviceStatus.hasUserSigning,
54
- olmDeviceHasSelfSigning: olmDeviceStatus.hasSelfSigning,
55
- privateKeysInSecretStorage
56
- });
57
- if (olmDeviceHasKeys) {
58
- if (!(yield _this.secretStorage.hasKey())) {
59
- logger.warn("bootstrapCrossSigning: Olm device has private keys, but secret storage is not yet set up; doing nothing for now.");
60
- // the keys should get uploaded to 4S once that is set up.
61
- } else if (!privateKeysInSecretStorage) {
62
- // the device has the keys but they are not in 4S, so update it
63
- logger.log("bootstrapCrossSigning: Olm device has private keys: exporting to secret storage");
64
- yield _this.exportCrossSigningKeysToStorage();
65
- } else {
66
- logger.log("bootstrapCrossSigning: Olm device has private keys and they are saved in secret storage; doing nothing");
67
- }
68
- } /* (!olmDeviceHasKeys) */else {
69
- if (privateKeysInSecretStorage) {
70
- // they are in 4S, so import from there
71
- logger.log("bootstrapCrossSigning: Cross-signing private keys not found locally, but they are available " + "in secret storage, reading storage and caching locally");
72
- yield _this.olmMachine.importCrossSigningKeys(masterKeyFromSecretStorage, selfSigningKeyFromSecretStorage, userSigningKeyFromSecretStorage);
73
-
74
- // Get the current device
75
- var device = yield _this.olmMachine.getDevice(_this.olmMachine.userId, _this.olmMachine.deviceId);
76
- try {
77
- // Sign the device with our cross-signing key and upload the signature
78
- var request = yield device.verify();
79
- yield _this.outgoingRequestProcessor.makeOutgoingRequest(request);
80
- } finally {
81
- device.free();
82
- }
83
- } else {
84
- logger.log("bootstrapCrossSigning: Cross-signing private keys not found locally or in secret storage, creating new keys");
85
- yield _this.resetCrossSigning(opts.authUploadDeviceSigningKeys);
86
- }
87
- }
88
-
89
- // TODO: we might previously have bootstrapped cross-signing but not completed uploading the keys to the
90
- // server -- in which case we should call OlmDevice.bootstrap_cross_signing. How do we know?
91
- logger.log("bootstrapCrossSigning: complete");
92
- })();
93
- }
94
-
95
- /** Reset our cross-signing keys
96
- *
97
- * This method will:
98
- * * Tell the OlmMachine to create new keys
99
- * * Upload the new public keys and the device signature to the server
100
- * * Upload the private keys to SSSS, if it is set up
101
- */
102
- resetCrossSigning(authUploadDeviceSigningKeys) {
103
- var _this2 = this;
104
- return _asyncToGenerator(function* () {
105
- // XXX: We must find a way to make this atomic, currently if the user does not remember his account password
106
- // or 4S passphrase/key the process will fail in a bad state, with keys rotated but not uploaded or saved in 4S.
107
- var outgoingRequests = yield _this2.olmMachine.bootstrapCrossSigning(true);
108
-
109
- // If 4S is configured we need to update it.
110
- if (!(yield _this2.secretStorage.hasKey())) {
111
- logger.warn("resetCrossSigning: Secret storage is not yet set up; not exporting keys to secret storage yet.");
112
- // the keys should get uploaded to 4S once that is set up.
113
- } else {
114
- // Update 4S before uploading cross-signing keys, to stay consistent with legacy that asks
115
- // 4S passphrase before asking for account password.
116
- // Ultimately should be made atomic and resistant to forgotten password/passphrase.
117
- logger.log("resetCrossSigning: exporting private keys to secret storage");
118
- yield _this2.exportCrossSigningKeysToStorage();
119
- }
120
- logger.log("resetCrossSigning: publishing public keys to server");
121
- for (var req of [outgoingRequests.uploadKeysRequest, outgoingRequests.uploadSigningKeysRequest, outgoingRequests.uploadSignaturesRequest]) {
122
- if (req) {
123
- yield _this2.outgoingRequestProcessor.makeOutgoingRequest(req, authUploadDeviceSigningKeys);
124
- }
125
- }
126
- })();
127
- }
128
-
129
- /**
130
- * Extract the cross-signing keys from the olm machine and save them to secret storage, if it is configured
131
- *
132
- * (If secret storage is *not* configured, we assume that the export will happen when it is set up)
133
- */
134
- exportCrossSigningKeysToStorage() {
135
- var _this3 = this;
136
- return _asyncToGenerator(function* () {
137
- var exported = yield _this3.olmMachine.exportCrossSigningKeys();
138
- /* istanbul ignore else (this function is only called when we know the olm machine has keys) */
139
- if (exported !== null && exported !== void 0 && exported.masterKey) {
140
- yield _this3.secretStorage.store("m.cross_signing.master", exported.masterKey);
141
- } else {
142
- logger.error("Cannot export MSK to secret storage, private key unknown");
143
- }
144
- if (exported !== null && exported !== void 0 && exported.self_signing_key) {
145
- yield _this3.secretStorage.store("m.cross_signing.self_signing", exported.self_signing_key);
146
- } else {
147
- logger.error("Cannot export SSK to secret storage, private key unknown");
148
- }
149
- if (exported !== null && exported !== void 0 && exported.userSigningKey) {
150
- yield _this3.secretStorage.store("m.cross_signing.user_signing", exported.userSigningKey);
151
- } else {
152
- logger.error("Cannot export USK to secret storage, private key unknown");
153
- }
154
- })();
155
- }
156
- }
157
- //# sourceMappingURL=CrossSigningIdentity.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"CrossSigningIdentity.js","names":["logger","CrossSigningIdentity","constructor","olmMachine","outgoingRequestProcessor","secretStorage","bootstrapCrossSigning","opts","_this","_asyncToGenerator","setupNewCrossSigning","resetCrossSigning","authUploadDeviceSigningKeys","olmDeviceStatus","crossSigningStatus","masterKeyFromSecretStorage","get","selfSigningKeyFromSecretStorage","userSigningKeyFromSecretStorage","privateKeysInSecretStorage","Boolean","olmDeviceHasKeys","hasMaster","hasUserSigning","hasSelfSigning","log","olmDeviceHasMaster","olmDeviceHasUserSigning","olmDeviceHasSelfSigning","hasKey","warn","exportCrossSigningKeysToStorage","importCrossSigningKeys","device","getDevice","userId","deviceId","request","verify","makeOutgoingRequest","free","_this2","outgoingRequests","req","uploadKeysRequest","uploadSigningKeysRequest","uploadSignaturesRequest","_this3","exported","exportCrossSigningKeys","masterKey","store","error","self_signing_key","userSigningKey"],"sources":["../../src/rust-crypto/CrossSigningIdentity.ts"],"sourcesContent":["/*\nCopyright 2023 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport { OlmMachine, CrossSigningStatus, CrossSigningBootstrapRequests } from \"@matrix-org/matrix-sdk-crypto-wasm\";\nimport * as RustSdkCryptoJs from \"@matrix-org/matrix-sdk-crypto-wasm\";\n\nimport { BootstrapCrossSigningOpts } from \"../crypto-api/index.ts\";\nimport { logger } from \"../logger.ts\";\nimport { OutgoingRequestProcessor } from \"./OutgoingRequestProcessor.ts\";\nimport { UIAuthCallback } from \"../interactive-auth.ts\";\nimport { ServerSideSecretStorage } from \"../secret-storage.ts\";\n\n/** Manages the cross-signing keys for our own user.\n *\n * @internal\n */\nexport class CrossSigningIdentity {\n public constructor(\n private readonly olmMachine: OlmMachine,\n private readonly outgoingRequestProcessor: OutgoingRequestProcessor,\n private readonly secretStorage: ServerSideSecretStorage,\n ) {}\n\n /**\n * Initialise our cross-signing keys by creating new keys if they do not exist, and uploading to the server\n */\n public async bootstrapCrossSigning(opts: BootstrapCrossSigningOpts): Promise<void> {\n if (opts.setupNewCrossSigning) {\n await this.resetCrossSigning(opts.authUploadDeviceSigningKeys);\n return;\n }\n\n const olmDeviceStatus: CrossSigningStatus = await this.olmMachine.crossSigningStatus();\n\n // Try to fetch cross signing keys from the secret storage\n const masterKeyFromSecretStorage = await this.secretStorage.get(\"m.cross_signing.master\");\n const selfSigningKeyFromSecretStorage = await this.secretStorage.get(\"m.cross_signing.self_signing\");\n const userSigningKeyFromSecretStorage = await this.secretStorage.get(\"m.cross_signing.user_signing\");\n const privateKeysInSecretStorage = Boolean(\n masterKeyFromSecretStorage && selfSigningKeyFromSecretStorage && userSigningKeyFromSecretStorage,\n );\n\n const olmDeviceHasKeys =\n olmDeviceStatus.hasMaster && olmDeviceStatus.hasUserSigning && olmDeviceStatus.hasSelfSigning;\n\n // Log all relevant state for easier parsing of debug logs.\n logger.log(\"bootstrapCrossSigning: starting\", {\n setupNewCrossSigning: opts.setupNewCrossSigning,\n olmDeviceHasMaster: olmDeviceStatus.hasMaster,\n olmDeviceHasUserSigning: olmDeviceStatus.hasUserSigning,\n olmDeviceHasSelfSigning: olmDeviceStatus.hasSelfSigning,\n privateKeysInSecretStorage,\n });\n\n if (olmDeviceHasKeys) {\n if (!(await this.secretStorage.hasKey())) {\n logger.warn(\n \"bootstrapCrossSigning: Olm device has private keys, but secret storage is not yet set up; doing nothing for now.\",\n );\n // the keys should get uploaded to 4S once that is set up.\n } else if (!privateKeysInSecretStorage) {\n // the device has the keys but they are not in 4S, so update it\n logger.log(\"bootstrapCrossSigning: Olm device has private keys: exporting to secret storage\");\n await this.exportCrossSigningKeysToStorage();\n } else {\n logger.log(\n \"bootstrapCrossSigning: Olm device has private keys and they are saved in secret storage; doing nothing\",\n );\n }\n } /* (!olmDeviceHasKeys) */ else {\n if (privateKeysInSecretStorage) {\n // they are in 4S, so import from there\n logger.log(\n \"bootstrapCrossSigning: Cross-signing private keys not found locally, but they are available \" +\n \"in secret storage, reading storage and caching locally\",\n );\n await this.olmMachine.importCrossSigningKeys(\n masterKeyFromSecretStorage,\n selfSigningKeyFromSecretStorage,\n userSigningKeyFromSecretStorage,\n );\n\n // Get the current device\n const device: RustSdkCryptoJs.Device = await this.olmMachine.getDevice(\n this.olmMachine.userId,\n this.olmMachine.deviceId,\n );\n try {\n // Sign the device with our cross-signing key and upload the signature\n const request: RustSdkCryptoJs.SignatureUploadRequest = await device.verify();\n await this.outgoingRequestProcessor.makeOutgoingRequest(request);\n } finally {\n device.free();\n }\n } else {\n logger.log(\n \"bootstrapCrossSigning: Cross-signing private keys not found locally or in secret storage, creating new keys\",\n );\n await this.resetCrossSigning(opts.authUploadDeviceSigningKeys);\n }\n }\n\n // TODO: we might previously have bootstrapped cross-signing but not completed uploading the keys to the\n // server -- in which case we should call OlmDevice.bootstrap_cross_signing. How do we know?\n logger.log(\"bootstrapCrossSigning: complete\");\n }\n\n /** Reset our cross-signing keys\n *\n * This method will:\n * * Tell the OlmMachine to create new keys\n * * Upload the new public keys and the device signature to the server\n * * Upload the private keys to SSSS, if it is set up\n */\n private async resetCrossSigning(authUploadDeviceSigningKeys?: UIAuthCallback<void>): Promise<void> {\n // XXX: We must find a way to make this atomic, currently if the user does not remember his account password\n // or 4S passphrase/key the process will fail in a bad state, with keys rotated but not uploaded or saved in 4S.\n const outgoingRequests: CrossSigningBootstrapRequests = await this.olmMachine.bootstrapCrossSigning(true);\n\n // If 4S is configured we need to update it.\n if (!(await this.secretStorage.hasKey())) {\n logger.warn(\n \"resetCrossSigning: Secret storage is not yet set up; not exporting keys to secret storage yet.\",\n );\n // the keys should get uploaded to 4S once that is set up.\n } else {\n // Update 4S before uploading cross-signing keys, to stay consistent with legacy that asks\n // 4S passphrase before asking for account password.\n // Ultimately should be made atomic and resistant to forgotten password/passphrase.\n logger.log(\"resetCrossSigning: exporting private keys to secret storage\");\n await this.exportCrossSigningKeysToStorage();\n }\n\n logger.log(\"resetCrossSigning: publishing public keys to server\");\n for (const req of [\n outgoingRequests.uploadKeysRequest,\n outgoingRequests.uploadSigningKeysRequest,\n outgoingRequests.uploadSignaturesRequest,\n ]) {\n if (req) {\n await this.outgoingRequestProcessor.makeOutgoingRequest(req, authUploadDeviceSigningKeys);\n }\n }\n }\n\n /**\n * Extract the cross-signing keys from the olm machine and save them to secret storage, if it is configured\n *\n * (If secret storage is *not* configured, we assume that the export will happen when it is set up)\n */\n private async exportCrossSigningKeysToStorage(): Promise<void> {\n const exported: RustSdkCryptoJs.CrossSigningKeyExport | null = await this.olmMachine.exportCrossSigningKeys();\n /* istanbul ignore else (this function is only called when we know the olm machine has keys) */\n if (exported?.masterKey) {\n await this.secretStorage.store(\"m.cross_signing.master\", exported.masterKey);\n } else {\n logger.error(`Cannot export MSK to secret storage, private key unknown`);\n }\n if (exported?.self_signing_key) {\n await this.secretStorage.store(\"m.cross_signing.self_signing\", exported.self_signing_key);\n } else {\n logger.error(`Cannot export SSK to secret storage, private key unknown`);\n }\n if (exported?.userSigningKey) {\n await this.secretStorage.store(\"m.cross_signing.user_signing\", exported.userSigningKey);\n } else {\n logger.error(`Cannot export USK to secret storage, private key unknown`);\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}