@unwanted/matrix-sdk-mini 34.12.0-1 → 34.12.0-3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (636) 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/browser-index.d.ts.map +1 -1
  8. package/lib/browser-index.js +0 -11
  9. package/lib/browser-index.js.map +1 -1
  10. package/lib/client.d.ts +2 -1224
  11. package/lib/client.d.ts.map +1 -1
  12. package/lib/client.js +345 -2826
  13. package/lib/client.js.map +1 -1
  14. package/lib/embedded.d.ts +0 -22
  15. package/lib/embedded.d.ts.map +1 -1
  16. package/lib/embedded.js +24 -167
  17. package/lib/embedded.js.map +1 -1
  18. package/lib/event-mapper.d.ts.map +1 -1
  19. package/lib/event-mapper.js +0 -4
  20. package/lib/event-mapper.js.map +1 -1
  21. package/lib/matrix.d.ts +0 -25
  22. package/lib/matrix.d.ts.map +1 -1
  23. package/lib/matrix.js +1 -30
  24. package/lib/matrix.js.map +1 -1
  25. package/lib/models/MSC3089Branch.d.ts.map +1 -1
  26. package/lib/models/MSC3089Branch.js +0 -3
  27. package/lib/models/MSC3089Branch.js.map +1 -1
  28. package/lib/models/event.d.ts +0 -94
  29. package/lib/models/event.d.ts.map +1 -1
  30. package/lib/models/event.js +0 -274
  31. package/lib/models/event.js.map +1 -1
  32. package/lib/models/poll.d.ts.map +1 -1
  33. package/lib/models/poll.js +1 -5
  34. package/lib/models/poll.js.map +1 -1
  35. package/lib/models/relations-container.d.ts.map +1 -1
  36. package/lib/models/relations-container.js +1 -7
  37. package/lib/models/relations-container.js.map +1 -1
  38. package/lib/models/relations.d.ts +0 -1
  39. package/lib/models/relations.d.ts.map +1 -1
  40. package/lib/models/relations.js +0 -8
  41. package/lib/models/relations.js.map +1 -1
  42. package/lib/models/room-state.d.ts.map +1 -1
  43. package/lib/models/room-state.js +10 -26
  44. package/lib/models/room-state.js.map +1 -1
  45. package/lib/models/room.d.ts +0 -18
  46. package/lib/models/room.d.ts.map +1 -1
  47. package/lib/models/room.js +94 -148
  48. package/lib/models/room.js.map +1 -1
  49. package/lib/models/thread.d.ts.map +1 -1
  50. package/lib/models/thread.js +0 -1
  51. package/lib/models/thread.js.map +1 -1
  52. package/lib/sliding-sync-sdk.d.ts +2 -3
  53. package/lib/sliding-sync-sdk.d.ts.map +1 -1
  54. package/lib/sliding-sync-sdk.js +41 -90
  55. package/lib/sliding-sync-sdk.js.map +1 -1
  56. package/lib/sync.d.ts +0 -12
  57. package/lib/sync.d.ts.map +1 -1
  58. package/lib/sync.js +1 -73
  59. package/lib/sync.js.map +1 -1
  60. package/lib/testing.d.ts +0 -48
  61. package/lib/testing.d.ts.map +1 -1
  62. package/lib/testing.js +0 -105
  63. package/lib/testing.js.map +1 -1
  64. package/package.json +1 -3
  65. package/src/@types/event.ts +2 -36
  66. package/src/@types/global.d.ts +0 -3
  67. package/src/browser-index.ts +0 -11
  68. package/src/client.ts +52 -2876
  69. package/src/embedded.ts +3 -132
  70. package/src/event-mapper.ts +0 -4
  71. package/src/matrix.ts +0 -41
  72. package/src/models/MSC3089Branch.ts +0 -3
  73. package/src/models/event.ts +0 -289
  74. package/src/models/poll.ts +0 -6
  75. package/src/models/relations-container.ts +1 -8
  76. package/src/models/relations.ts +0 -8
  77. package/src/models/room-state.ts +2 -8
  78. package/src/models/room.ts +0 -62
  79. package/src/models/thread.ts +0 -1
  80. package/src/sliding-sync-sdk.ts +2 -72
  81. package/src/sync.ts +1 -98
  82. package/src/testing.ts +0 -108
  83. package/lib/@types/crypto.d.ts +0 -47
  84. package/lib/@types/crypto.d.ts.map +0 -1
  85. package/lib/@types/crypto.js +0 -1
  86. package/lib/@types/crypto.js.map +0 -1
  87. package/lib/@types/matrix-sdk-crypto-wasm.d.js +0 -1
  88. package/lib/@types/matrix-sdk-crypto-wasm.d.js.map +0 -1
  89. package/lib/common-crypto/CryptoBackend.d.ts +0 -240
  90. package/lib/common-crypto/CryptoBackend.d.ts.map +0 -1
  91. package/lib/common-crypto/CryptoBackend.js +0 -73
  92. package/lib/common-crypto/CryptoBackend.js.map +0 -1
  93. package/lib/common-crypto/key-passphrase.d.ts +0 -14
  94. package/lib/common-crypto/key-passphrase.d.ts.map +0 -1
  95. package/lib/common-crypto/key-passphrase.js +0 -33
  96. package/lib/common-crypto/key-passphrase.js.map +0 -1
  97. package/lib/crypto/CrossSigning.d.ts +0 -184
  98. package/lib/crypto/CrossSigning.d.ts.map +0 -1
  99. package/lib/crypto/CrossSigning.js +0 -718
  100. package/lib/crypto/CrossSigning.js.map +0 -1
  101. package/lib/crypto/DeviceList.d.ts +0 -216
  102. package/lib/crypto/DeviceList.d.ts.map +0 -1
  103. package/lib/crypto/DeviceList.js +0 -892
  104. package/lib/crypto/DeviceList.js.map +0 -1
  105. package/lib/crypto/EncryptionSetup.d.ts +0 -152
  106. package/lib/crypto/EncryptionSetup.d.ts.map +0 -1
  107. package/lib/crypto/EncryptionSetup.js +0 -356
  108. package/lib/crypto/EncryptionSetup.js.map +0 -1
  109. package/lib/crypto/OlmDevice.d.ts +0 -457
  110. package/lib/crypto/OlmDevice.d.ts.map +0 -1
  111. package/lib/crypto/OlmDevice.js +0 -1241
  112. package/lib/crypto/OlmDevice.js.map +0 -1
  113. package/lib/crypto/OutgoingRoomKeyRequestManager.d.ts +0 -109
  114. package/lib/crypto/OutgoingRoomKeyRequestManager.d.ts.map +0 -1
  115. package/lib/crypto/OutgoingRoomKeyRequestManager.js +0 -415
  116. package/lib/crypto/OutgoingRoomKeyRequestManager.js.map +0 -1
  117. package/lib/crypto/RoomList.d.ts +0 -26
  118. package/lib/crypto/RoomList.d.ts.map +0 -1
  119. package/lib/crypto/RoomList.js +0 -71
  120. package/lib/crypto/RoomList.js.map +0 -1
  121. package/lib/crypto/SecretSharing.d.ts +0 -24
  122. package/lib/crypto/SecretSharing.d.ts.map +0 -1
  123. package/lib/crypto/SecretSharing.js +0 -194
  124. package/lib/crypto/SecretSharing.js.map +0 -1
  125. package/lib/crypto/SecretStorage.d.ts +0 -55
  126. package/lib/crypto/SecretStorage.d.ts.map +0 -1
  127. package/lib/crypto/SecretStorage.js +0 -118
  128. package/lib/crypto/SecretStorage.js.map +0 -1
  129. package/lib/crypto/aes.d.ts +0 -6
  130. package/lib/crypto/aes.d.ts.map +0 -1
  131. package/lib/crypto/aes.js +0 -24
  132. package/lib/crypto/aes.js.map +0 -1
  133. package/lib/crypto/algorithms/base.d.ts +0 -156
  134. package/lib/crypto/algorithms/base.d.ts.map +0 -1
  135. package/lib/crypto/algorithms/base.js +0 -187
  136. package/lib/crypto/algorithms/base.js.map +0 -1
  137. package/lib/crypto/algorithms/index.d.ts +0 -4
  138. package/lib/crypto/algorithms/index.d.ts.map +0 -1
  139. package/lib/crypto/algorithms/index.js +0 -20
  140. package/lib/crypto/algorithms/index.js.map +0 -1
  141. package/lib/crypto/algorithms/megolm.d.ts +0 -385
  142. package/lib/crypto/algorithms/megolm.d.ts.map +0 -1
  143. package/lib/crypto/algorithms/megolm.js +0 -1822
  144. package/lib/crypto/algorithms/megolm.js.map +0 -1
  145. package/lib/crypto/algorithms/olm.d.ts +0 -5
  146. package/lib/crypto/algorithms/olm.d.ts.map +0 -1
  147. package/lib/crypto/algorithms/olm.js +0 -299
  148. package/lib/crypto/algorithms/olm.js.map +0 -1
  149. package/lib/crypto/api.d.ts +0 -32
  150. package/lib/crypto/api.d.ts.map +0 -1
  151. package/lib/crypto/api.js +0 -22
  152. package/lib/crypto/api.js.map +0 -1
  153. package/lib/crypto/backup.d.ts +0 -227
  154. package/lib/crypto/backup.d.ts.map +0 -1
  155. package/lib/crypto/backup.js +0 -824
  156. package/lib/crypto/backup.js.map +0 -1
  157. package/lib/crypto/crypto.d.ts +0 -3
  158. package/lib/crypto/crypto.d.ts.map +0 -1
  159. package/lib/crypto/crypto.js +0 -19
  160. package/lib/crypto/crypto.js.map +0 -1
  161. package/lib/crypto/dehydration.d.ts +0 -34
  162. package/lib/crypto/dehydration.d.ts.map +0 -1
  163. package/lib/crypto/dehydration.js +0 -252
  164. package/lib/crypto/dehydration.js.map +0 -1
  165. package/lib/crypto/device-converter.d.ts +0 -9
  166. package/lib/crypto/device-converter.d.ts.map +0 -1
  167. package/lib/crypto/device-converter.js +0 -42
  168. package/lib/crypto/device-converter.js.map +0 -1
  169. package/lib/crypto/deviceinfo.d.ts +0 -99
  170. package/lib/crypto/deviceinfo.d.ts.map +0 -1
  171. package/lib/crypto/deviceinfo.js +0 -148
  172. package/lib/crypto/deviceinfo.js.map +0 -1
  173. package/lib/crypto/index.d.ts +0 -1209
  174. package/lib/crypto/index.d.ts.map +0 -1
  175. package/lib/crypto/index.js +0 -4097
  176. package/lib/crypto/index.js.map +0 -1
  177. package/lib/crypto/key_passphrase.d.ts +0 -14
  178. package/lib/crypto/key_passphrase.d.ts.map +0 -1
  179. package/lib/crypto/key_passphrase.js +0 -44
  180. package/lib/crypto/key_passphrase.js.map +0 -1
  181. package/lib/crypto/keybackup.d.ts +0 -18
  182. package/lib/crypto/keybackup.d.ts.map +0 -1
  183. package/lib/crypto/keybackup.js +0 -1
  184. package/lib/crypto/keybackup.js.map +0 -1
  185. package/lib/crypto/olmlib.d.ts +0 -129
  186. package/lib/crypto/olmlib.d.ts.map +0 -1
  187. package/lib/crypto/olmlib.js +0 -492
  188. package/lib/crypto/olmlib.js.map +0 -1
  189. package/lib/crypto/recoverykey.d.ts +0 -2
  190. package/lib/crypto/recoverykey.d.ts.map +0 -1
  191. package/lib/crypto/recoverykey.js +0 -19
  192. package/lib/crypto/recoverykey.js.map +0 -1
  193. package/lib/crypto/store/base.d.ts +0 -252
  194. package/lib/crypto/store/base.d.ts.map +0 -1
  195. package/lib/crypto/store/base.js +0 -64
  196. package/lib/crypto/store/base.js.map +0 -1
  197. package/lib/crypto/store/indexeddb-crypto-store-backend.d.ts +0 -187
  198. package/lib/crypto/store/indexeddb-crypto-store-backend.d.ts.map +0 -1
  199. package/lib/crypto/store/indexeddb-crypto-store-backend.js +0 -1145
  200. package/lib/crypto/store/indexeddb-crypto-store-backend.js.map +0 -1
  201. package/lib/crypto/store/indexeddb-crypto-store.d.ts +0 -432
  202. package/lib/crypto/store/indexeddb-crypto-store.d.ts.map +0 -1
  203. package/lib/crypto/store/indexeddb-crypto-store.js +0 -728
  204. package/lib/crypto/store/indexeddb-crypto-store.js.map +0 -1
  205. package/lib/crypto/store/localStorage-crypto-store.d.ts +0 -119
  206. package/lib/crypto/store/localStorage-crypto-store.d.ts.map +0 -1
  207. package/lib/crypto/store/localStorage-crypto-store.js +0 -531
  208. package/lib/crypto/store/localStorage-crypto-store.js.map +0 -1
  209. package/lib/crypto/store/memory-crypto-store.d.ts +0 -215
  210. package/lib/crypto/store/memory-crypto-store.d.ts.map +0 -1
  211. package/lib/crypto/store/memory-crypto-store.js +0 -622
  212. package/lib/crypto/store/memory-crypto-store.js.map +0 -1
  213. package/lib/crypto/verification/Base.d.ts +0 -105
  214. package/lib/crypto/verification/Base.d.ts.map +0 -1
  215. package/lib/crypto/verification/Base.js +0 -372
  216. package/lib/crypto/verification/Base.js.map +0 -1
  217. package/lib/crypto/verification/Error.d.ts +0 -35
  218. package/lib/crypto/verification/Error.d.ts.map +0 -1
  219. package/lib/crypto/verification/Error.js +0 -86
  220. package/lib/crypto/verification/Error.js.map +0 -1
  221. package/lib/crypto/verification/IllegalMethod.d.ts +0 -15
  222. package/lib/crypto/verification/IllegalMethod.d.ts.map +0 -1
  223. package/lib/crypto/verification/IllegalMethod.js +0 -43
  224. package/lib/crypto/verification/IllegalMethod.js.map +0 -1
  225. package/lib/crypto/verification/QRCode.d.ts +0 -51
  226. package/lib/crypto/verification/QRCode.d.ts.map +0 -1
  227. package/lib/crypto/verification/QRCode.js +0 -277
  228. package/lib/crypto/verification/QRCode.js.map +0 -1
  229. package/lib/crypto/verification/SAS.d.ts +0 -27
  230. package/lib/crypto/verification/SAS.d.ts.map +0 -1
  231. package/lib/crypto/verification/SAS.js +0 -485
  232. package/lib/crypto/verification/SAS.js.map +0 -1
  233. package/lib/crypto/verification/SASDecimal.d.ts +0 -8
  234. package/lib/crypto/verification/SASDecimal.d.ts.map +0 -1
  235. package/lib/crypto/verification/SASDecimal.js +0 -34
  236. package/lib/crypto/verification/SASDecimal.js.map +0 -1
  237. package/lib/crypto/verification/request/Channel.d.ts +0 -18
  238. package/lib/crypto/verification/request/Channel.d.ts.map +0 -1
  239. package/lib/crypto/verification/request/Channel.js +0 -1
  240. package/lib/crypto/verification/request/Channel.js.map +0 -1
  241. package/lib/crypto/verification/request/InRoomChannel.d.ts +0 -113
  242. package/lib/crypto/verification/request/InRoomChannel.d.ts.map +0 -1
  243. package/lib/crypto/verification/request/InRoomChannel.js +0 -351
  244. package/lib/crypto/verification/request/InRoomChannel.js.map +0 -1
  245. package/lib/crypto/verification/request/ToDeviceChannel.d.ts +0 -105
  246. package/lib/crypto/verification/request/ToDeviceChannel.d.ts.map +0 -1
  247. package/lib/crypto/verification/request/ToDeviceChannel.js +0 -328
  248. package/lib/crypto/verification/request/ToDeviceChannel.js.map +0 -1
  249. package/lib/crypto/verification/request/VerificationRequest.d.ts +0 -227
  250. package/lib/crypto/verification/request/VerificationRequest.d.ts.map +0 -1
  251. package/lib/crypto/verification/request/VerificationRequest.js +0 -937
  252. package/lib/crypto/verification/request/VerificationRequest.js.map +0 -1
  253. package/lib/crypto-api/CryptoEvent.d.ts +0 -69
  254. package/lib/crypto-api/CryptoEvent.d.ts.map +0 -1
  255. package/lib/crypto-api/CryptoEvent.js +0 -33
  256. package/lib/crypto-api/CryptoEvent.js.map +0 -1
  257. package/lib/crypto-api/CryptoEventHandlerMap.d.ts +0 -16
  258. package/lib/crypto-api/CryptoEventHandlerMap.d.ts.map +0 -1
  259. package/lib/crypto-api/CryptoEventHandlerMap.js +0 -22
  260. package/lib/crypto-api/CryptoEventHandlerMap.js.map +0 -1
  261. package/lib/crypto-api/index.d.ts +0 -978
  262. package/lib/crypto-api/index.d.ts.map +0 -1
  263. package/lib/crypto-api/index.js +0 -304
  264. package/lib/crypto-api/index.js.map +0 -1
  265. package/lib/crypto-api/key-passphrase.d.ts +0 -11
  266. package/lib/crypto-api/key-passphrase.d.ts.map +0 -1
  267. package/lib/crypto-api/key-passphrase.js +0 -51
  268. package/lib/crypto-api/key-passphrase.js.map +0 -1
  269. package/lib/crypto-api/keybackup.d.ts +0 -88
  270. package/lib/crypto-api/keybackup.d.ts.map +0 -1
  271. package/lib/crypto-api/keybackup.js +0 -1
  272. package/lib/crypto-api/keybackup.js.map +0 -1
  273. package/lib/crypto-api/recovery-key.d.ts +0 -11
  274. package/lib/crypto-api/recovery-key.d.ts.map +0 -1
  275. package/lib/crypto-api/recovery-key.js +0 -65
  276. package/lib/crypto-api/recovery-key.js.map +0 -1
  277. package/lib/crypto-api/verification.d.ts +0 -344
  278. package/lib/crypto-api/verification.d.ts.map +0 -1
  279. package/lib/crypto-api/verification.js +0 -91
  280. package/lib/crypto-api/verification.js.map +0 -1
  281. package/lib/matrixrtc/CallMembership.d.ts +0 -66
  282. package/lib/matrixrtc/CallMembership.d.ts.map +0 -1
  283. package/lib/matrixrtc/CallMembership.js +0 -197
  284. package/lib/matrixrtc/CallMembership.js.map +0 -1
  285. package/lib/matrixrtc/LivekitFocus.d.ts +0 -16
  286. package/lib/matrixrtc/LivekitFocus.d.ts.map +0 -1
  287. package/lib/matrixrtc/LivekitFocus.js +0 -20
  288. package/lib/matrixrtc/LivekitFocus.js.map +0 -1
  289. package/lib/matrixrtc/MatrixRTCSession.d.ts +0 -295
  290. package/lib/matrixrtc/MatrixRTCSession.d.ts.map +0 -1
  291. package/lib/matrixrtc/MatrixRTCSession.js +0 -1043
  292. package/lib/matrixrtc/MatrixRTCSession.js.map +0 -1
  293. package/lib/matrixrtc/MatrixRTCSessionManager.d.ts +0 -40
  294. package/lib/matrixrtc/MatrixRTCSessionManager.d.ts.map +0 -1
  295. package/lib/matrixrtc/MatrixRTCSessionManager.js +0 -146
  296. package/lib/matrixrtc/MatrixRTCSessionManager.js.map +0 -1
  297. package/lib/matrixrtc/focus.d.ts +0 -10
  298. package/lib/matrixrtc/focus.d.ts.map +0 -1
  299. package/lib/matrixrtc/focus.js +0 -1
  300. package/lib/matrixrtc/focus.js.map +0 -1
  301. package/lib/matrixrtc/index.d.ts +0 -7
  302. package/lib/matrixrtc/index.d.ts.map +0 -1
  303. package/lib/matrixrtc/index.js +0 -21
  304. package/lib/matrixrtc/index.js.map +0 -1
  305. package/lib/matrixrtc/types.d.ts +0 -19
  306. package/lib/matrixrtc/types.d.ts.map +0 -1
  307. package/lib/matrixrtc/types.js +0 -1
  308. package/lib/matrixrtc/types.js.map +0 -1
  309. package/lib/rendezvous/MSC4108SignInWithQR.d.ts +0 -112
  310. package/lib/rendezvous/MSC4108SignInWithQR.d.ts.map +0 -1
  311. package/lib/rendezvous/MSC4108SignInWithQR.js +0 -392
  312. package/lib/rendezvous/MSC4108SignInWithQR.js.map +0 -1
  313. package/lib/rendezvous/RendezvousChannel.d.ts +0 -27
  314. package/lib/rendezvous/RendezvousChannel.d.ts.map +0 -1
  315. package/lib/rendezvous/RendezvousChannel.js +0 -1
  316. package/lib/rendezvous/RendezvousChannel.js.map +0 -1
  317. package/lib/rendezvous/RendezvousCode.d.ts +0 -9
  318. package/lib/rendezvous/RendezvousCode.d.ts.map +0 -1
  319. package/lib/rendezvous/RendezvousCode.js +0 -1
  320. package/lib/rendezvous/RendezvousCode.js.map +0 -1
  321. package/lib/rendezvous/RendezvousError.d.ts +0 -6
  322. package/lib/rendezvous/RendezvousError.d.ts.map +0 -1
  323. package/lib/rendezvous/RendezvousError.js +0 -23
  324. package/lib/rendezvous/RendezvousError.js.map +0 -1
  325. package/lib/rendezvous/RendezvousFailureReason.d.ts +0 -31
  326. package/lib/rendezvous/RendezvousFailureReason.d.ts.map +0 -1
  327. package/lib/rendezvous/RendezvousFailureReason.js +0 -38
  328. package/lib/rendezvous/RendezvousFailureReason.js.map +0 -1
  329. package/lib/rendezvous/RendezvousIntent.d.ts +0 -5
  330. package/lib/rendezvous/RendezvousIntent.d.ts.map +0 -1
  331. package/lib/rendezvous/RendezvousIntent.js +0 -22
  332. package/lib/rendezvous/RendezvousIntent.js.map +0 -1
  333. package/lib/rendezvous/RendezvousTransport.d.ts +0 -36
  334. package/lib/rendezvous/RendezvousTransport.d.ts.map +0 -1
  335. package/lib/rendezvous/RendezvousTransport.js +0 -1
  336. package/lib/rendezvous/RendezvousTransport.js.map +0 -1
  337. package/lib/rendezvous/channels/MSC4108SecureChannel.d.ts +0 -58
  338. package/lib/rendezvous/channels/MSC4108SecureChannel.d.ts.map +0 -1
  339. package/lib/rendezvous/channels/MSC4108SecureChannel.js +0 -246
  340. package/lib/rendezvous/channels/MSC4108SecureChannel.js.map +0 -1
  341. package/lib/rendezvous/channels/index.d.ts +0 -2
  342. package/lib/rendezvous/channels/index.d.ts.map +0 -1
  343. package/lib/rendezvous/channels/index.js +0 -18
  344. package/lib/rendezvous/channels/index.js.map +0 -1
  345. package/lib/rendezvous/index.d.ts +0 -10
  346. package/lib/rendezvous/index.d.ts.map +0 -1
  347. package/lib/rendezvous/index.js +0 -23
  348. package/lib/rendezvous/index.js.map +0 -1
  349. package/lib/rendezvous/transports/MSC4108RendezvousSession.d.ts +0 -61
  350. package/lib/rendezvous/transports/MSC4108RendezvousSession.d.ts.map +0 -1
  351. package/lib/rendezvous/transports/MSC4108RendezvousSession.js +0 -253
  352. package/lib/rendezvous/transports/MSC4108RendezvousSession.js.map +0 -1
  353. package/lib/rendezvous/transports/index.d.ts +0 -2
  354. package/lib/rendezvous/transports/index.d.ts.map +0 -1
  355. package/lib/rendezvous/transports/index.js +0 -18
  356. package/lib/rendezvous/transports/index.js.map +0 -1
  357. package/lib/rust-crypto/CrossSigningIdentity.d.ts +0 -33
  358. package/lib/rust-crypto/CrossSigningIdentity.d.ts.map +0 -1
  359. package/lib/rust-crypto/CrossSigningIdentity.js +0 -157
  360. package/lib/rust-crypto/CrossSigningIdentity.js.map +0 -1
  361. package/lib/rust-crypto/DehydratedDeviceManager.d.ts +0 -98
  362. package/lib/rust-crypto/DehydratedDeviceManager.d.ts.map +0 -1
  363. package/lib/rust-crypto/DehydratedDeviceManager.js +0 -285
  364. package/lib/rust-crypto/DehydratedDeviceManager.js.map +0 -1
  365. package/lib/rust-crypto/KeyClaimManager.d.ts +0 -33
  366. package/lib/rust-crypto/KeyClaimManager.d.ts.map +0 -1
  367. package/lib/rust-crypto/KeyClaimManager.js +0 -82
  368. package/lib/rust-crypto/KeyClaimManager.js.map +0 -1
  369. package/lib/rust-crypto/OutgoingRequestProcessor.d.ts +0 -43
  370. package/lib/rust-crypto/OutgoingRequestProcessor.d.ts.map +0 -1
  371. package/lib/rust-crypto/OutgoingRequestProcessor.js +0 -195
  372. package/lib/rust-crypto/OutgoingRequestProcessor.js.map +0 -1
  373. package/lib/rust-crypto/OutgoingRequestsManager.d.ts +0 -47
  374. package/lib/rust-crypto/OutgoingRequestsManager.d.ts.map +0 -1
  375. package/lib/rust-crypto/OutgoingRequestsManager.js +0 -148
  376. package/lib/rust-crypto/OutgoingRequestsManager.js.map +0 -1
  377. package/lib/rust-crypto/PerSessionKeyBackupDownloader.d.ts +0 -120
  378. package/lib/rust-crypto/PerSessionKeyBackupDownloader.d.ts.map +0 -1
  379. package/lib/rust-crypto/PerSessionKeyBackupDownloader.js +0 -467
  380. package/lib/rust-crypto/PerSessionKeyBackupDownloader.js.map +0 -1
  381. package/lib/rust-crypto/RoomEncryptor.d.ts +0 -98
  382. package/lib/rust-crypto/RoomEncryptor.d.ts.map +0 -1
  383. package/lib/rust-crypto/RoomEncryptor.js +0 -299
  384. package/lib/rust-crypto/RoomEncryptor.js.map +0 -1
  385. package/lib/rust-crypto/backup.d.ts +0 -254
  386. package/lib/rust-crypto/backup.d.ts.map +0 -1
  387. package/lib/rust-crypto/backup.js +0 -837
  388. package/lib/rust-crypto/backup.js.map +0 -1
  389. package/lib/rust-crypto/constants.d.ts +0 -3
  390. package/lib/rust-crypto/constants.d.ts.map +0 -1
  391. package/lib/rust-crypto/constants.js +0 -19
  392. package/lib/rust-crypto/constants.js.map +0 -1
  393. package/lib/rust-crypto/device-converter.d.ts +0 -28
  394. package/lib/rust-crypto/device-converter.d.ts.map +0 -1
  395. package/lib/rust-crypto/device-converter.js +0 -123
  396. package/lib/rust-crypto/device-converter.js.map +0 -1
  397. package/lib/rust-crypto/index.d.ts +0 -61
  398. package/lib/rust-crypto/index.d.ts.map +0 -1
  399. package/lib/rust-crypto/index.js +0 -152
  400. package/lib/rust-crypto/index.js.map +0 -1
  401. package/lib/rust-crypto/libolm_migration.d.ts +0 -81
  402. package/lib/rust-crypto/libolm_migration.d.ts.map +0 -1
  403. package/lib/rust-crypto/libolm_migration.js +0 -459
  404. package/lib/rust-crypto/libolm_migration.js.map +0 -1
  405. package/lib/rust-crypto/rust-crypto.d.ts +0 -556
  406. package/lib/rust-crypto/rust-crypto.d.ts.map +0 -1
  407. package/lib/rust-crypto/rust-crypto.js +0 -2016
  408. package/lib/rust-crypto/rust-crypto.js.map +0 -1
  409. package/lib/rust-crypto/secret-storage.d.ts +0 -22
  410. package/lib/rust-crypto/secret-storage.d.ts.map +0 -1
  411. package/lib/rust-crypto/secret-storage.js +0 -63
  412. package/lib/rust-crypto/secret-storage.js.map +0 -1
  413. package/lib/rust-crypto/verification.d.ts +0 -319
  414. package/lib/rust-crypto/verification.d.ts.map +0 -1
  415. package/lib/rust-crypto/verification.js +0 -816
  416. package/lib/rust-crypto/verification.js.map +0 -1
  417. package/lib/secret-storage.d.ts +0 -370
  418. package/lib/secret-storage.d.ts.map +0 -1
  419. package/lib/secret-storage.js +0 -466
  420. package/lib/secret-storage.js.map +0 -1
  421. package/lib/webrtc/audioContext.d.ts +0 -15
  422. package/lib/webrtc/audioContext.d.ts.map +0 -1
  423. package/lib/webrtc/audioContext.js +0 -46
  424. package/lib/webrtc/audioContext.js.map +0 -1
  425. package/lib/webrtc/call.d.ts +0 -560
  426. package/lib/webrtc/call.d.ts.map +0 -1
  427. package/lib/webrtc/call.js +0 -2541
  428. package/lib/webrtc/call.js.map +0 -1
  429. package/lib/webrtc/callEventHandler.d.ts +0 -37
  430. package/lib/webrtc/callEventHandler.d.ts.map +0 -1
  431. package/lib/webrtc/callEventHandler.js +0 -344
  432. package/lib/webrtc/callEventHandler.js.map +0 -1
  433. package/lib/webrtc/callEventTypes.d.ts +0 -73
  434. package/lib/webrtc/callEventTypes.d.ts.map +0 -1
  435. package/lib/webrtc/callEventTypes.js +0 -13
  436. package/lib/webrtc/callEventTypes.js.map +0 -1
  437. package/lib/webrtc/callFeed.d.ts +0 -128
  438. package/lib/webrtc/callFeed.d.ts.map +0 -1
  439. package/lib/webrtc/callFeed.js +0 -289
  440. package/lib/webrtc/callFeed.js.map +0 -1
  441. package/lib/webrtc/groupCall.d.ts +0 -323
  442. package/lib/webrtc/groupCall.d.ts.map +0 -1
  443. package/lib/webrtc/groupCall.js +0 -1337
  444. package/lib/webrtc/groupCall.js.map +0 -1
  445. package/lib/webrtc/groupCallEventHandler.d.ts +0 -31
  446. package/lib/webrtc/groupCallEventHandler.d.ts.map +0 -1
  447. package/lib/webrtc/groupCallEventHandler.js +0 -178
  448. package/lib/webrtc/groupCallEventHandler.js.map +0 -1
  449. package/lib/webrtc/mediaHandler.d.ts +0 -89
  450. package/lib/webrtc/mediaHandler.d.ts.map +0 -1
  451. package/lib/webrtc/mediaHandler.js +0 -437
  452. package/lib/webrtc/mediaHandler.js.map +0 -1
  453. package/lib/webrtc/stats/callFeedStatsReporter.d.ts +0 -8
  454. package/lib/webrtc/stats/callFeedStatsReporter.d.ts.map +0 -1
  455. package/lib/webrtc/stats/callFeedStatsReporter.js +0 -82
  456. package/lib/webrtc/stats/callFeedStatsReporter.js.map +0 -1
  457. package/lib/webrtc/stats/callStatsReportGatherer.d.ts +0 -25
  458. package/lib/webrtc/stats/callStatsReportGatherer.d.ts.map +0 -1
  459. package/lib/webrtc/stats/callStatsReportGatherer.js +0 -199
  460. package/lib/webrtc/stats/callStatsReportGatherer.js.map +0 -1
  461. package/lib/webrtc/stats/callStatsReportSummary.d.ts +0 -17
  462. package/lib/webrtc/stats/callStatsReportSummary.d.ts.map +0 -1
  463. package/lib/webrtc/stats/callStatsReportSummary.js +0 -1
  464. package/lib/webrtc/stats/callStatsReportSummary.js.map +0 -1
  465. package/lib/webrtc/stats/connectionStats.d.ts +0 -28
  466. package/lib/webrtc/stats/connectionStats.d.ts.map +0 -1
  467. package/lib/webrtc/stats/connectionStats.js +0 -26
  468. package/lib/webrtc/stats/connectionStats.js.map +0 -1
  469. package/lib/webrtc/stats/connectionStatsBuilder.d.ts +0 -5
  470. package/lib/webrtc/stats/connectionStatsBuilder.d.ts.map +0 -1
  471. package/lib/webrtc/stats/connectionStatsBuilder.js +0 -27
  472. package/lib/webrtc/stats/connectionStatsBuilder.js.map +0 -1
  473. package/lib/webrtc/stats/connectionStatsReportBuilder.d.ts +0 -7
  474. package/lib/webrtc/stats/connectionStatsReportBuilder.d.ts.map +0 -1
  475. package/lib/webrtc/stats/connectionStatsReportBuilder.js +0 -121
  476. package/lib/webrtc/stats/connectionStatsReportBuilder.js.map +0 -1
  477. package/lib/webrtc/stats/groupCallStats.d.ts +0 -22
  478. package/lib/webrtc/stats/groupCallStats.d.ts.map +0 -1
  479. package/lib/webrtc/stats/groupCallStats.js +0 -78
  480. package/lib/webrtc/stats/groupCallStats.js.map +0 -1
  481. package/lib/webrtc/stats/media/mediaSsrcHandler.d.ts +0 -10
  482. package/lib/webrtc/stats/media/mediaSsrcHandler.d.ts.map +0 -1
  483. package/lib/webrtc/stats/media/mediaSsrcHandler.js +0 -57
  484. package/lib/webrtc/stats/media/mediaSsrcHandler.js.map +0 -1
  485. package/lib/webrtc/stats/media/mediaTrackHandler.d.ts +0 -12
  486. package/lib/webrtc/stats/media/mediaTrackHandler.d.ts.map +0 -1
  487. package/lib/webrtc/stats/media/mediaTrackHandler.js +0 -62
  488. package/lib/webrtc/stats/media/mediaTrackHandler.js.map +0 -1
  489. package/lib/webrtc/stats/media/mediaTrackStats.d.ts +0 -86
  490. package/lib/webrtc/stats/media/mediaTrackStats.d.ts.map +0 -1
  491. package/lib/webrtc/stats/media/mediaTrackStats.js +0 -142
  492. package/lib/webrtc/stats/media/mediaTrackStats.js.map +0 -1
  493. package/lib/webrtc/stats/media/mediaTrackStatsHandler.d.ts +0 -22
  494. package/lib/webrtc/stats/media/mediaTrackStatsHandler.d.ts.map +0 -1
  495. package/lib/webrtc/stats/media/mediaTrackStatsHandler.js +0 -76
  496. package/lib/webrtc/stats/media/mediaTrackStatsHandler.js.map +0 -1
  497. package/lib/webrtc/stats/statsReport.d.ts +0 -99
  498. package/lib/webrtc/stats/statsReport.d.ts.map +0 -1
  499. package/lib/webrtc/stats/statsReport.js +0 -32
  500. package/lib/webrtc/stats/statsReport.js.map +0 -1
  501. package/lib/webrtc/stats/statsReportEmitter.d.ts +0 -15
  502. package/lib/webrtc/stats/statsReportEmitter.d.ts.map +0 -1
  503. package/lib/webrtc/stats/statsReportEmitter.js +0 -33
  504. package/lib/webrtc/stats/statsReportEmitter.js.map +0 -1
  505. package/lib/webrtc/stats/summaryStatsReportGatherer.d.ts +0 -16
  506. package/lib/webrtc/stats/summaryStatsReportGatherer.d.ts.map +0 -1
  507. package/lib/webrtc/stats/summaryStatsReportGatherer.js +0 -116
  508. package/lib/webrtc/stats/summaryStatsReportGatherer.js.map +0 -1
  509. package/lib/webrtc/stats/trackStatsBuilder.d.ts +0 -19
  510. package/lib/webrtc/stats/trackStatsBuilder.d.ts.map +0 -1
  511. package/lib/webrtc/stats/trackStatsBuilder.js +0 -168
  512. package/lib/webrtc/stats/trackStatsBuilder.js.map +0 -1
  513. package/lib/webrtc/stats/transportStats.d.ts +0 -11
  514. package/lib/webrtc/stats/transportStats.d.ts.map +0 -1
  515. package/lib/webrtc/stats/transportStats.js +0 -1
  516. package/lib/webrtc/stats/transportStats.js.map +0 -1
  517. package/lib/webrtc/stats/transportStatsBuilder.d.ts +0 -5
  518. package/lib/webrtc/stats/transportStatsBuilder.d.ts.map +0 -1
  519. package/lib/webrtc/stats/transportStatsBuilder.js +0 -34
  520. package/lib/webrtc/stats/transportStatsBuilder.js.map +0 -1
  521. package/lib/webrtc/stats/valueFormatter.d.ts +0 -4
  522. package/lib/webrtc/stats/valueFormatter.d.ts.map +0 -1
  523. package/lib/webrtc/stats/valueFormatter.js +0 -25
  524. package/lib/webrtc/stats/valueFormatter.js.map +0 -1
  525. package/src/@types/crypto.ts +0 -73
  526. package/src/@types/matrix-sdk-crypto-wasm.d.ts +0 -44
  527. package/src/common-crypto/CryptoBackend.ts +0 -302
  528. package/src/common-crypto/README.md +0 -4
  529. package/src/common-crypto/key-passphrase.ts +0 -43
  530. package/src/crypto/CrossSigning.ts +0 -773
  531. package/src/crypto/DeviceList.ts +0 -989
  532. package/src/crypto/EncryptionSetup.ts +0 -351
  533. package/src/crypto/OlmDevice.ts +0 -1500
  534. package/src/crypto/OutgoingRoomKeyRequestManager.ts +0 -485
  535. package/src/crypto/RoomList.ts +0 -70
  536. package/src/crypto/SecretSharing.ts +0 -240
  537. package/src/crypto/SecretStorage.ts +0 -136
  538. package/src/crypto/aes.ts +0 -23
  539. package/src/crypto/algorithms/base.ts +0 -236
  540. package/src/crypto/algorithms/index.ts +0 -20
  541. package/src/crypto/algorithms/megolm.ts +0 -2216
  542. package/src/crypto/algorithms/olm.ts +0 -381
  543. package/src/crypto/api.ts +0 -70
  544. package/src/crypto/backup.ts +0 -922
  545. package/src/crypto/crypto.ts +0 -18
  546. package/src/crypto/dehydration.ts +0 -272
  547. package/src/crypto/device-converter.ts +0 -45
  548. package/src/crypto/deviceinfo.ts +0 -158
  549. package/src/crypto/index.ts +0 -4414
  550. package/src/crypto/key_passphrase.ts +0 -42
  551. package/src/crypto/keybackup.ts +0 -47
  552. package/src/crypto/olmlib.ts +0 -539
  553. package/src/crypto/recoverykey.ts +0 -18
  554. package/src/crypto/store/base.ts +0 -348
  555. package/src/crypto/store/indexeddb-crypto-store-backend.ts +0 -1250
  556. package/src/crypto/store/indexeddb-crypto-store.ts +0 -845
  557. package/src/crypto/store/localStorage-crypto-store.ts +0 -579
  558. package/src/crypto/store/memory-crypto-store.ts +0 -680
  559. package/src/crypto/verification/Base.ts +0 -409
  560. package/src/crypto/verification/Error.ts +0 -76
  561. package/src/crypto/verification/IllegalMethod.ts +0 -50
  562. package/src/crypto/verification/QRCode.ts +0 -310
  563. package/src/crypto/verification/SAS.ts +0 -494
  564. package/src/crypto/verification/SASDecimal.ts +0 -37
  565. package/src/crypto/verification/request/Channel.ts +0 -34
  566. package/src/crypto/verification/request/InRoomChannel.ts +0 -371
  567. package/src/crypto/verification/request/ToDeviceChannel.ts +0 -354
  568. package/src/crypto/verification/request/VerificationRequest.ts +0 -976
  569. package/src/crypto-api/CryptoEvent.ts +0 -93
  570. package/src/crypto-api/CryptoEventHandlerMap.ts +0 -32
  571. package/src/crypto-api/index.ts +0 -1175
  572. package/src/crypto-api/key-passphrase.ts +0 -58
  573. package/src/crypto-api/keybackup.ts +0 -115
  574. package/src/crypto-api/recovery-key.ts +0 -69
  575. package/src/crypto-api/verification.ts +0 -408
  576. package/src/matrixrtc/CallMembership.ts +0 -247
  577. package/src/matrixrtc/LivekitFocus.ts +0 -39
  578. package/src/matrixrtc/MatrixRTCSession.ts +0 -1319
  579. package/src/matrixrtc/MatrixRTCSessionManager.ts +0 -166
  580. package/src/matrixrtc/focus.ts +0 -25
  581. package/src/matrixrtc/index.ts +0 -22
  582. package/src/matrixrtc/types.ts +0 -36
  583. package/src/rendezvous/MSC4108SignInWithQR.ts +0 -444
  584. package/src/rendezvous/RendezvousChannel.ts +0 -48
  585. package/src/rendezvous/RendezvousCode.ts +0 -25
  586. package/src/rendezvous/RendezvousError.ts +0 -26
  587. package/src/rendezvous/RendezvousFailureReason.ts +0 -49
  588. package/src/rendezvous/RendezvousIntent.ts +0 -20
  589. package/src/rendezvous/RendezvousTransport.ts +0 -58
  590. package/src/rendezvous/channels/MSC4108SecureChannel.ts +0 -270
  591. package/src/rendezvous/channels/index.ts +0 -17
  592. package/src/rendezvous/index.ts +0 -25
  593. package/src/rendezvous/transports/MSC4108RendezvousSession.ts +0 -270
  594. package/src/rendezvous/transports/index.ts +0 -17
  595. package/src/rust-crypto/CrossSigningIdentity.ts +0 -183
  596. package/src/rust-crypto/DehydratedDeviceManager.ts +0 -306
  597. package/src/rust-crypto/KeyClaimManager.ts +0 -86
  598. package/src/rust-crypto/OutgoingRequestProcessor.ts +0 -236
  599. package/src/rust-crypto/OutgoingRequestsManager.ts +0 -143
  600. package/src/rust-crypto/PerSessionKeyBackupDownloader.ts +0 -501
  601. package/src/rust-crypto/RoomEncryptor.ts +0 -352
  602. package/src/rust-crypto/backup.ts +0 -881
  603. package/src/rust-crypto/constants.ts +0 -18
  604. package/src/rust-crypto/device-converter.ts +0 -128
  605. package/src/rust-crypto/index.ts +0 -237
  606. package/src/rust-crypto/libolm_migration.ts +0 -530
  607. package/src/rust-crypto/rust-crypto.ts +0 -2205
  608. package/src/rust-crypto/secret-storage.ts +0 -60
  609. package/src/rust-crypto/verification.ts +0 -830
  610. package/src/secret-storage.ts +0 -693
  611. package/src/webrtc/audioContext.ts +0 -44
  612. package/src/webrtc/call.ts +0 -3074
  613. package/src/webrtc/callEventHandler.ts +0 -425
  614. package/src/webrtc/callEventTypes.ts +0 -93
  615. package/src/webrtc/callFeed.ts +0 -364
  616. package/src/webrtc/groupCall.ts +0 -1735
  617. package/src/webrtc/groupCallEventHandler.ts +0 -234
  618. package/src/webrtc/mediaHandler.ts +0 -484
  619. package/src/webrtc/stats/callFeedStatsReporter.ts +0 -94
  620. package/src/webrtc/stats/callStatsReportGatherer.ts +0 -219
  621. package/src/webrtc/stats/callStatsReportSummary.ts +0 -30
  622. package/src/webrtc/stats/connectionStats.ts +0 -47
  623. package/src/webrtc/stats/connectionStatsBuilder.ts +0 -28
  624. package/src/webrtc/stats/connectionStatsReportBuilder.ts +0 -140
  625. package/src/webrtc/stats/groupCallStats.ts +0 -93
  626. package/src/webrtc/stats/media/mediaSsrcHandler.ts +0 -57
  627. package/src/webrtc/stats/media/mediaTrackHandler.ts +0 -76
  628. package/src/webrtc/stats/media/mediaTrackStats.ts +0 -176
  629. package/src/webrtc/stats/media/mediaTrackStatsHandler.ts +0 -90
  630. package/src/webrtc/stats/statsReport.ts +0 -133
  631. package/src/webrtc/stats/statsReportEmitter.ts +0 -49
  632. package/src/webrtc/stats/summaryStatsReportGatherer.ts +0 -148
  633. package/src/webrtc/stats/trackStatsBuilder.ts +0 -207
  634. package/src/webrtc/stats/transportStats.ts +0 -26
  635. package/src/webrtc/stats/transportStatsBuilder.ts +0 -48
  636. package/src/webrtc/stats/valueFormatter.ts +0 -27
@@ -1,197 +0,0 @@
1
- import _defineProperty from "@babel/runtime/helpers/defineProperty";
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 { deepCompare } from "../utils.js";
19
- import { isLivekitFocusActive } from "./LivekitFocus.js";
20
-
21
- // Represents an entry in the memberships section of an m.call.member event as it is on the wire
22
-
23
- // There are two different data interfaces. One for the Legacy types and one compliant with MSC4143
24
-
25
- // MSC4143 (MatrixRTC) session membership data
26
-
27
- export var isSessionMembershipData = data => "focus_active" in data;
28
- var checkSessionsMembershipData = (data, errors) => {
29
- var _data$focus_active;
30
- var prefix = "Malformed session membership event: ";
31
- if (typeof data.device_id !== "string") errors.push(prefix + "device_id must be string");
32
- if (typeof data.call_id !== "string") errors.push(prefix + "call_id must be string");
33
- if (typeof data.application !== "string") errors.push(prefix + "application must be a string");
34
- if (typeof ((_data$focus_active = data.focus_active) === null || _data$focus_active === void 0 ? void 0 : _data$focus_active.type) !== "string") errors.push(prefix + "focus_active.type must be a string");
35
- if (!Array.isArray(data.foci_preferred)) errors.push(prefix + "foci_preferred must be an array");
36
- // optional parameters
37
- if (data.created_ts && typeof data.created_ts !== "number") errors.push(prefix + "created_ts must be number");
38
-
39
- // application specific data (we first need to check if they exist)
40
- if (data.scope && typeof data.scope !== "string") errors.push(prefix + "scope must be string");
41
- return errors.length === 0;
42
- };
43
-
44
- // Legacy session membership data
45
-
46
- export var isLegacyCallMembershipData = data => "membershipID" in data;
47
- var checkCallMembershipDataLegacy = (data, errors) => {
48
- var prefix = "Malformed legacy rtc membership event: ";
49
- if (!("expires" in data || "expires_ts" in data)) {
50
- errors.push(prefix + "expires_ts or expires must be present");
51
- }
52
- if ("expires" in data) {
53
- if (typeof data.expires !== "number") {
54
- errors.push(prefix + "expires must be numeric");
55
- }
56
- }
57
- if ("expires_ts" in data) {
58
- if (typeof data.expires_ts !== "number") {
59
- errors.push(prefix + "expires_ts must be numeric");
60
- }
61
- }
62
- if (typeof data.device_id !== "string") errors.push(prefix + "device_id must be string");
63
- if (typeof data.call_id !== "string") errors.push(prefix + "call_id must be string");
64
- if (typeof data.application !== "string") errors.push(prefix + "application must be a string");
65
- if (typeof data.membershipID !== "string") errors.push(prefix + "membershipID must be a string");
66
- // optional elements
67
- if (data.created_ts && typeof data.created_ts !== "number") errors.push(prefix + "created_ts must be number");
68
- // application specific data (we first need to check if they exist)
69
- if (data.scope && typeof data.scope !== "string") errors.push(prefix + "scope must be string");
70
- return errors.length === 0;
71
- };
72
- export class CallMembership {
73
- static equal(a, b) {
74
- return deepCompare(a.membershipData, b.membershipData);
75
- }
76
- constructor(parentEvent, data) {
77
- this.parentEvent = parentEvent;
78
- _defineProperty(this, "membershipData", void 0);
79
- var sessionErrors = [];
80
- var legacyErrors = [];
81
- if (!checkSessionsMembershipData(data, sessionErrors) && !checkCallMembershipDataLegacy(data, legacyErrors)) {
82
- throw Error("unknown CallMembership data. Does not match legacy call.member (".concat(legacyErrors.join(" & "), ") events nor MSC4143 (").concat(sessionErrors.join(" & "), ")"));
83
- } else {
84
- this.membershipData = data;
85
- }
86
- }
87
- get sender() {
88
- return this.parentEvent.getSender();
89
- }
90
- get eventId() {
91
- return this.parentEvent.getId();
92
- }
93
- get callId() {
94
- return this.membershipData.call_id;
95
- }
96
- get deviceId() {
97
- return this.membershipData.device_id;
98
- }
99
- get application() {
100
- return this.membershipData.application;
101
- }
102
- get scope() {
103
- return this.membershipData.scope;
104
- }
105
- get membershipID() {
106
- if (isLegacyCallMembershipData(this.membershipData)) return this.membershipData.membershipID;
107
- // the createdTs behaves equivalent to the membershipID.
108
- // we only need the field for the legacy member envents where we needed to update them
109
- // synapse ignores sending state events if they have the same content.
110
- else return this.createdTs().toString();
111
- }
112
- createdTs() {
113
- var _this$membershipData$;
114
- return (_this$membershipData$ = this.membershipData.created_ts) !== null && _this$membershipData$ !== void 0 ? _this$membershipData$ : this.parentEvent.getTs();
115
- }
116
-
117
- /**
118
- * Gets the absolute expiry time of the membership if applicable to this membership type.
119
- * @returns The absolute expiry time of the membership as a unix timestamp in milliseconds or undefined if not applicable
120
- */
121
- getAbsoluteExpiry() {
122
- // if the membership is not a legacy membership, we assume it is MSC4143
123
- if (!isLegacyCallMembershipData(this.membershipData)) return undefined;
124
- if ("expires" in this.membershipData) {
125
- // we know createdTs exists since we already do the isLegacyCallMembershipData check
126
- return this.createdTs() + this.membershipData.expires;
127
- } else {
128
- // We know it exists because we checked for this in the constructor.
129
- return this.membershipData.expires_ts;
130
- }
131
- }
132
-
133
- /**
134
- * Gets the expiry time of the event, converted into the device's local time.
135
- * @deprecated This function has been observed returning bad data and is no longer used by MatrixRTC.
136
- * @returns The local expiry time of the membership as a unix timestamp in milliseconds or undefined if not applicable
137
- */
138
- getLocalExpiry() {
139
- // if the membership is not a legacy membership, we assume it is MSC4143
140
- if (!isLegacyCallMembershipData(this.membershipData)) return undefined;
141
- if ("expires" in this.membershipData) {
142
- // we know createdTs exists since we already do the isLegacyCallMembershipData check
143
- var relativeCreationTime = this.parentEvent.getTs() - this.createdTs();
144
- var localCreationTs = this.parentEvent.localTimestamp - relativeCreationTime;
145
- return localCreationTs + this.membershipData.expires;
146
- } else {
147
- // With expires_ts we cannot convert to local time.
148
- // TODO: Check the server timestamp and compute a diff to local time.
149
- return this.membershipData.expires_ts;
150
- }
151
- }
152
-
153
- /**
154
- * @returns The number of milliseconds until the membership expires or undefined if applicable
155
- */
156
- getMsUntilExpiry() {
157
- if (isLegacyCallMembershipData(this.membershipData)) {
158
- // Assume that local clock is sufficiently in sync with other clocks in the distributed system.
159
- // We used to try and adjust for the local clock being skewed, but there are cases where this is not accurate.
160
- // The current implementation allows for the local clock to be -infinity to +MatrixRTCSession.MEMBERSHIP_EXPIRY_TIME/2
161
- return this.getAbsoluteExpiry() - Date.now();
162
- }
163
-
164
- // Assumed to be MSC4143
165
- return undefined;
166
- }
167
-
168
- /**
169
- * @returns true if the membership has expired, otherwise false
170
- */
171
- isExpired() {
172
- if (isLegacyCallMembershipData(this.membershipData)) return this.getMsUntilExpiry() <= 0;
173
-
174
- // MSC4143 events expire by being updated. So if the event exists, its not expired.
175
- return false;
176
- }
177
- getPreferredFoci() {
178
- var _this$membershipData$2;
179
- // To support both, the new and the old MatrixRTC memberships have two cases based
180
- // on the availablitiy of `foci_preferred`
181
- if (isLegacyCallMembershipData(this.membershipData)) return (_this$membershipData$2 = this.membershipData.foci_active) !== null && _this$membershipData$2 !== void 0 ? _this$membershipData$2 : [];
182
-
183
- // MSC4143 style membership
184
- return this.membershipData.foci_preferred;
185
- }
186
- getFocusSelection() {
187
- if (isLegacyCallMembershipData(this.membershipData)) {
188
- return "oldest_membership";
189
- } else {
190
- var focusActive = this.membershipData.focus_active;
191
- if (isLivekitFocusActive(focusActive)) {
192
- return focusActive.focus_selection;
193
- }
194
- }
195
- }
196
- }
197
- //# sourceMappingURL=CallMembership.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"CallMembership.js","names":["deepCompare","isLivekitFocusActive","isSessionMembershipData","data","checkSessionsMembershipData","errors","_data$focus_active","prefix","device_id","push","call_id","application","focus_active","type","Array","isArray","foci_preferred","created_ts","scope","length","isLegacyCallMembershipData","checkCallMembershipDataLegacy","expires","expires_ts","membershipID","CallMembership","equal","a","b","membershipData","constructor","parentEvent","_defineProperty","sessionErrors","legacyErrors","Error","concat","join","sender","getSender","eventId","getId","callId","deviceId","createdTs","toString","_this$membershipData$","getTs","getAbsoluteExpiry","undefined","getLocalExpiry","relativeCreationTime","localCreationTs","localTimestamp","getMsUntilExpiry","Date","now","isExpired","getPreferredFoci","_this$membershipData$2","foci_active","getFocusSelection","focusActive","focus_selection"],"sources":["../../src/matrixrtc/CallMembership.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 { EitherAnd } from \"matrix-events-sdk/lib/types\";\n\nimport { MatrixEvent } from \"../matrix.ts\";\nimport { deepCompare } from \"../utils.ts\";\nimport { Focus } from \"./focus.ts\";\nimport { isLivekitFocusActive } from \"./LivekitFocus.ts\";\n\ntype CallScope = \"m.room\" | \"m.user\";\n// Represents an entry in the memberships section of an m.call.member event as it is on the wire\n\n// There are two different data interfaces. One for the Legacy types and one compliant with MSC4143\n\n// MSC4143 (MatrixRTC) session membership data\n\nexport type SessionMembershipData = {\n application: string;\n call_id: string;\n device_id: string;\n\n focus_active: Focus;\n foci_preferred: Focus[];\n created_ts?: number;\n\n // Application specific data\n scope?: CallScope;\n};\n\nexport const isSessionMembershipData = (data: CallMembershipData): data is SessionMembershipData =>\n \"focus_active\" in data;\n\nconst checkSessionsMembershipData = (data: any, errors: string[]): data is SessionMembershipData => {\n const prefix = \"Malformed session membership event: \";\n if (typeof data.device_id !== \"string\") errors.push(prefix + \"device_id must be string\");\n if (typeof data.call_id !== \"string\") errors.push(prefix + \"call_id must be string\");\n if (typeof data.application !== \"string\") errors.push(prefix + \"application must be a string\");\n if (typeof data.focus_active?.type !== \"string\") errors.push(prefix + \"focus_active.type must be a string\");\n if (!Array.isArray(data.foci_preferred)) errors.push(prefix + \"foci_preferred must be an array\");\n // optional parameters\n if (data.created_ts && typeof data.created_ts !== \"number\") errors.push(prefix + \"created_ts must be number\");\n\n // application specific data (we first need to check if they exist)\n if (data.scope && typeof data.scope !== \"string\") errors.push(prefix + \"scope must be string\");\n return errors.length === 0;\n};\n\n// Legacy session membership data\n\nexport type CallMembershipDataLegacy = {\n application: string;\n call_id: string;\n scope: CallScope;\n device_id: string;\n membershipID: string;\n created_ts?: number;\n foci_active?: Focus[];\n} & EitherAnd<{ expires: number }, { expires_ts: number }>;\n\nexport const isLegacyCallMembershipData = (data: CallMembershipData): data is CallMembershipDataLegacy =>\n \"membershipID\" in data;\n\nconst checkCallMembershipDataLegacy = (data: any, errors: string[]): data is CallMembershipDataLegacy => {\n const prefix = \"Malformed legacy rtc membership event: \";\n if (!(\"expires\" in data || \"expires_ts\" in data)) {\n errors.push(prefix + \"expires_ts or expires must be present\");\n }\n if (\"expires\" in data) {\n if (typeof data.expires !== \"number\") {\n errors.push(prefix + \"expires must be numeric\");\n }\n }\n if (\"expires_ts\" in data) {\n if (typeof data.expires_ts !== \"number\") {\n errors.push(prefix + \"expires_ts must be numeric\");\n }\n }\n\n if (typeof data.device_id !== \"string\") errors.push(prefix + \"device_id must be string\");\n if (typeof data.call_id !== \"string\") errors.push(prefix + \"call_id must be string\");\n if (typeof data.application !== \"string\") errors.push(prefix + \"application must be a string\");\n if (typeof data.membershipID !== \"string\") errors.push(prefix + \"membershipID must be a string\");\n // optional elements\n if (data.created_ts && typeof data.created_ts !== \"number\") errors.push(prefix + \"created_ts must be number\");\n // application specific data (we first need to check if they exist)\n if (data.scope && typeof data.scope !== \"string\") errors.push(prefix + \"scope must be string\");\n return errors.length === 0;\n};\n\nexport type CallMembershipData = CallMembershipDataLegacy | SessionMembershipData;\n\nexport class CallMembership {\n public static equal(a: CallMembership, b: CallMembership): boolean {\n return deepCompare(a.membershipData, b.membershipData);\n }\n private membershipData: CallMembershipData;\n\n public constructor(\n private parentEvent: MatrixEvent,\n data: any,\n ) {\n const sessionErrors: string[] = [];\n const legacyErrors: string[] = [];\n if (!checkSessionsMembershipData(data, sessionErrors) && !checkCallMembershipDataLegacy(data, legacyErrors)) {\n throw Error(\n `unknown CallMembership data. Does not match legacy call.member (${legacyErrors.join(\" & \")}) events nor MSC4143 (${sessionErrors.join(\" & \")})`,\n );\n } else {\n this.membershipData = data;\n }\n }\n\n public get sender(): string | undefined {\n return this.parentEvent.getSender();\n }\n\n public get eventId(): string | undefined {\n return this.parentEvent.getId();\n }\n\n public get callId(): string {\n return this.membershipData.call_id;\n }\n\n public get deviceId(): string {\n return this.membershipData.device_id;\n }\n\n public get application(): string | undefined {\n return this.membershipData.application;\n }\n\n public get scope(): CallScope | undefined {\n return this.membershipData.scope;\n }\n\n public get membershipID(): string {\n if (isLegacyCallMembershipData(this.membershipData)) return this.membershipData.membershipID;\n // the createdTs behaves equivalent to the membershipID.\n // we only need the field for the legacy member envents where we needed to update them\n // synapse ignores sending state events if they have the same content.\n else return this.createdTs().toString();\n }\n\n public createdTs(): number {\n return this.membershipData.created_ts ?? this.parentEvent.getTs();\n }\n\n /**\n * Gets the absolute expiry time of the membership if applicable to this membership type.\n * @returns The absolute expiry time of the membership as a unix timestamp in milliseconds or undefined if not applicable\n */\n public getAbsoluteExpiry(): number | undefined {\n // if the membership is not a legacy membership, we assume it is MSC4143\n if (!isLegacyCallMembershipData(this.membershipData)) return undefined;\n\n if (\"expires\" in this.membershipData) {\n // we know createdTs exists since we already do the isLegacyCallMembershipData check\n return this.createdTs() + this.membershipData.expires;\n } else {\n // We know it exists because we checked for this in the constructor.\n return this.membershipData.expires_ts;\n }\n }\n\n /**\n * Gets the expiry time of the event, converted into the device's local time.\n * @deprecated This function has been observed returning bad data and is no longer used by MatrixRTC.\n * @returns The local expiry time of the membership as a unix timestamp in milliseconds or undefined if not applicable\n */\n public getLocalExpiry(): number | undefined {\n // if the membership is not a legacy membership, we assume it is MSC4143\n if (!isLegacyCallMembershipData(this.membershipData)) return undefined;\n\n if (\"expires\" in this.membershipData) {\n // we know createdTs exists since we already do the isLegacyCallMembershipData check\n const relativeCreationTime = this.parentEvent.getTs() - this.createdTs();\n\n const localCreationTs = this.parentEvent.localTimestamp - relativeCreationTime;\n\n return localCreationTs + this.membershipData.expires;\n } else {\n // With expires_ts we cannot convert to local time.\n // TODO: Check the server timestamp and compute a diff to local time.\n return this.membershipData.expires_ts;\n }\n }\n\n /**\n * @returns The number of milliseconds until the membership expires or undefined if applicable\n */\n public getMsUntilExpiry(): number | undefined {\n if (isLegacyCallMembershipData(this.membershipData)) {\n // Assume that local clock is sufficiently in sync with other clocks in the distributed system.\n // We used to try and adjust for the local clock being skewed, but there are cases where this is not accurate.\n // The current implementation allows for the local clock to be -infinity to +MatrixRTCSession.MEMBERSHIP_EXPIRY_TIME/2\n return this.getAbsoluteExpiry()! - Date.now();\n }\n\n // Assumed to be MSC4143\n return undefined;\n }\n\n /**\n * @returns true if the membership has expired, otherwise false\n */\n public isExpired(): boolean {\n if (isLegacyCallMembershipData(this.membershipData)) return this.getMsUntilExpiry()! <= 0;\n\n // MSC4143 events expire by being updated. So if the event exists, its not expired.\n return false;\n }\n\n public getPreferredFoci(): Focus[] {\n // To support both, the new and the old MatrixRTC memberships have two cases based\n // on the availablitiy of `foci_preferred`\n if (isLegacyCallMembershipData(this.membershipData)) return this.membershipData.foci_active ?? [];\n\n // MSC4143 style membership\n return this.membershipData.foci_preferred;\n }\n\n public getFocusSelection(): string | undefined {\n if (isLegacyCallMembershipData(this.membershipData)) {\n return \"oldest_membership\";\n } else {\n const focusActive = this.membershipData.focus_active;\n if (isLivekitFocusActive(focusActive)) {\n return focusActive.focus_selection;\n }\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,16 +0,0 @@
1
- import { Focus } from "./focus.ts";
2
- export interface LivekitFocusConfig extends Focus {
3
- type: "livekit";
4
- livekit_service_url: string;
5
- }
6
- export declare const isLivekitFocusConfig: (object: any) => object is LivekitFocusConfig;
7
- export interface LivekitFocus extends LivekitFocusConfig {
8
- livekit_alias: string;
9
- }
10
- export declare const isLivekitFocus: (object: any) => object is LivekitFocus;
11
- export interface LivekitFocusActive extends Focus {
12
- type: "livekit";
13
- focus_selection: "oldest_membership";
14
- }
15
- export declare const isLivekitFocusActive: (object: any) => object is LivekitFocusActive;
16
- //# sourceMappingURL=LivekitFocus.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"LivekitFocus.d.ts","sourceRoot":"","sources":["../../src/matrixrtc/LivekitFocus.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAEnC,MAAM,WAAW,kBAAmB,SAAQ,KAAK;IAC7C,IAAI,EAAE,SAAS,CAAC;IAChB,mBAAmB,EAAE,MAAM,CAAC;CAC/B;AAED,eAAO,MAAM,oBAAoB,WAAY,GAAG,KAAG,MAAM,IAAI,kBACG,CAAC;AAEjE,MAAM,WAAW,YAAa,SAAQ,kBAAkB;IACpD,aAAa,EAAE,MAAM,CAAC;CACzB;AAED,eAAO,MAAM,cAAc,WAAY,GAAG,KAAG,MAAM,IAAI,YACM,CAAC;AAE9D,MAAM,WAAW,kBAAmB,SAAQ,KAAK;IAC7C,IAAI,EAAE,SAAS,CAAC;IAChB,eAAe,EAAE,mBAAmB,CAAC;CACxC;AACD,eAAO,MAAM,oBAAoB,WAAY,GAAG,KAAG,MAAM,IAAI,kBACD,CAAC"}
@@ -1,20 +0,0 @@
1
- /*
2
- Copyright 2023 New Vector Ltd
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 var isLivekitFocusConfig = object => object.type === "livekit" && "livekit_service_url" in object;
18
- export var isLivekitFocus = object => isLivekitFocusConfig(object) && "livekit_alias" in object;
19
- export var isLivekitFocusActive = object => object.type === "livekit" && "focus_selection" in object;
20
- //# sourceMappingURL=LivekitFocus.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"LivekitFocus.js","names":["isLivekitFocusConfig","object","type","isLivekitFocus","isLivekitFocusActive"],"sources":["../../src/matrixrtc/LivekitFocus.ts"],"sourcesContent":["/*\nCopyright 2023 New Vector Ltd\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 { Focus } from \"./focus.ts\";\n\nexport interface LivekitFocusConfig extends Focus {\n type: \"livekit\";\n livekit_service_url: string;\n}\n\nexport const isLivekitFocusConfig = (object: any): object is LivekitFocusConfig =>\n object.type === \"livekit\" && \"livekit_service_url\" in object;\n\nexport interface LivekitFocus extends LivekitFocusConfig {\n livekit_alias: string;\n}\n\nexport const isLivekitFocus = (object: any): object is LivekitFocus =>\n isLivekitFocusConfig(object) && \"livekit_alias\" in object;\n\nexport interface LivekitFocusActive extends Focus {\n type: \"livekit\";\n focus_selection: \"oldest_membership\";\n}\nexport const isLivekitFocusActive = (object: any): object is LivekitFocusActive =>\n object.type === \"livekit\" && \"focus_selection\" in object;\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AASA,OAAO,IAAMA,oBAAoB,GAAIC,MAAW,IAC5CA,MAAM,CAACC,IAAI,KAAK,SAAS,IAAI,qBAAqB,IAAID,MAAM;AAMhE,OAAO,IAAME,cAAc,GAAIF,MAAW,IACtCD,oBAAoB,CAACC,MAAM,CAAC,IAAI,eAAe,IAAIA,MAAM;AAM7D,OAAO,IAAMG,oBAAoB,GAAIH,MAAW,IAC5CA,MAAM,CAACC,IAAI,KAAK,SAAS,IAAI,iBAAiB,IAAID,MAAM","ignoreList":[]}
@@ -1,295 +0,0 @@
1
- import { TypedEventEmitter } from "../models/typed-event-emitter.ts";
2
- import { Room } from "../models/room.ts";
3
- import { MatrixClient } from "../client.ts";
4
- import { CallMembership } from "./CallMembership.ts";
5
- import { Focus } from "./focus.ts";
6
- import { MatrixEvent } from "../models/event.ts";
7
- export declare enum MatrixRTCSessionEvent {
8
- MembershipsChanged = "memberships_changed",
9
- JoinStateChanged = "join_state_changed",
10
- EncryptionKeyChanged = "encryption_key_changed"
11
- }
12
- export type MatrixRTCSessionEventHandlerMap = {
13
- [MatrixRTCSessionEvent.MembershipsChanged]: (oldMemberships: CallMembership[], newMemberships: CallMembership[]) => void;
14
- [MatrixRTCSessionEvent.JoinStateChanged]: (isJoined: boolean) => void;
15
- [MatrixRTCSessionEvent.EncryptionKeyChanged]: (key: Uint8Array, encryptionKeyIndex: number, participantId: string) => void;
16
- };
17
- export interface JoinSessionConfig {
18
- /**
19
- * If true, generate and share a media key for this participant,
20
- * and emit MatrixRTCSessionEvent.EncryptionKeyChanged when
21
- * media keys for other participants become available.
22
- */
23
- manageMediaKeys?: boolean;
24
- /** Lets you configure how the events for the session are formatted.
25
- * - legacy: use one event with a membership array.
26
- * - MSC4143: use one event per membership (with only one membership per event)
27
- * More details can be found in MSC4143 and by checking the types:
28
- * `CallMembershipDataLegacy` and `SessionMembershipData`
29
- */
30
- useLegacyMemberEvents?: boolean;
31
- /**
32
- * The timeout (in milliseconds) after we joined the call, that our membership should expire
33
- * unless we have explicitly updated it.
34
- */
35
- membershipExpiryTimeout?: number;
36
- /**
37
- * The period (in milliseconds) with which we check that our membership event still exists on the
38
- * server. If it is not found we create it again.
39
- */
40
- memberEventCheckPeriod?: number;
41
- /**
42
- * The minimum delay (in milliseconds) after which we will retry sending the membership event if it
43
- * failed to send.
44
- */
45
- callMemberEventRetryDelayMinimum?: number;
46
- /**
47
- * The jitter (in milliseconds) which is added to callMemberEventRetryDelayMinimum before retrying
48
- * sending the membership event. e.g. if this is set to 1000, then a random delay of between 0 and 1000
49
- * milliseconds will be added.
50
- */
51
- callMemberEventRetryJitter?: number;
52
- /**
53
- * The minimum time (in milliseconds) between each attempt to send encryption key(s).
54
- * e.g. if this is set to 1000, then we will send at most one key event every second.
55
- */
56
- updateEncryptionKeyThrottle?: number;
57
- /**
58
- * The delay (in milliseconds) after a member leaves before we create and publish a new key, because people
59
- * tend to leave calls at the same time.
60
- */
61
- makeKeyDelay?: number;
62
- /**
63
- * The delay (in milliseconds) between creating and sending a new key and starting to encrypt with it. This
64
- * gives other a chance to receive the new key to minimise the chance they don't get media they can't decrypt.
65
- * The total time between a member leaving and the call switching to new keys is therefore:
66
- * makeKeyDelay + useKeyDelay
67
- */
68
- useKeyDelay?: number;
69
- /**
70
- * The timeout (in milliseconds) after which the server will consider the membership to have expired if it
71
- * has not received a keep-alive from the client.
72
- */
73
- membershipServerSideExpiryTimeout?: number;
74
- /**
75
- * The period (in milliseconds) that the client will send membership keep-alives to the server.
76
- */
77
- membershipKeepAlivePeriod?: number;
78
- }
79
- /**
80
- * A MatrixRTCSession manages the membership & properties of a MatrixRTC session.
81
- * This class doesn't deal with media at all, just membership & properties of a session.
82
- */
83
- export declare class MatrixRTCSession extends TypedEventEmitter<MatrixRTCSessionEvent, MatrixRTCSessionEventHandlerMap> {
84
- private readonly client;
85
- readonly room: Room;
86
- memberships: CallMembership[];
87
- private _callId;
88
- private relativeExpiry;
89
- private joinConfig?;
90
- private get membershipExpiryTimeout();
91
- private get memberEventCheckPeriod();
92
- private get callMemberEventRetryDelayMinimum();
93
- private get updateEncryptionKeyThrottle();
94
- private get makeKeyDelay();
95
- private get useKeyDelay();
96
- /**
97
- * If the server disallows the configured {@link membershipServerSideExpiryTimeout},
98
- * this stores a delay that the server does allow.
99
- */
100
- private membershipServerSideExpiryTimeoutOverride?;
101
- private get membershipServerSideExpiryTimeout();
102
- private get membershipKeepAlivePeriod();
103
- private get callMemberEventRetryJitter();
104
- private membershipId;
105
- private memberEventTimeout?;
106
- private expiryTimeout?;
107
- private keysEventUpdateTimeout?;
108
- private makeNewKeyTimeout?;
109
- private setNewKeyTimeouts;
110
- private ownFocusActive?;
111
- private ownFociPreferred?;
112
- private updateCallMembershipRunning;
113
- private needCallMembershipUpdate;
114
- private manageMediaKeys;
115
- private useLegacyMemberEvents;
116
- private encryptionKeys;
117
- private lastEncryptionKeyUpdateRequest?;
118
- private disconnectDelayId;
119
- private lastMembershipFingerprints;
120
- private currentEncryptionKeyIndex;
121
- /**
122
- * The statistics for this session.
123
- */
124
- statistics: {
125
- counters: {
126
- /**
127
- * The number of times we have sent a room event containing encryption keys.
128
- */
129
- roomEventEncryptionKeysSent: number;
130
- /**
131
- * The number of times we have received a room event containing encryption keys.
132
- */
133
- roomEventEncryptionKeysReceived: number;
134
- };
135
- totals: {
136
- /**
137
- * The total age (in milliseconds) of all room events containing encryption keys that we have received.
138
- * We track the total age so that we can later calculate the average age of all keys received.
139
- */
140
- roomEventEncryptionKeysReceivedTotalAge: number;
141
- };
142
- };
143
- /**
144
- * The callId (sessionId) of the call.
145
- *
146
- * It can be undefined since the callId is only known once the first membership joins.
147
- * The callId is the property that, per definition, groups memberships into one call.
148
- */
149
- get callId(): string | undefined;
150
- /**
151
- * Returns all the call memberships for a room, oldest first
152
- */
153
- static callMembershipsForRoom(room: Room): CallMembership[];
154
- /**
155
- * Return the MatrixRTC session for the room, whether there are currently active members or not
156
- */
157
- static roomSessionForRoom(client: MatrixClient, room: Room): MatrixRTCSession;
158
- private constructor();
159
- isJoined(): boolean;
160
- /**
161
- * Performs cleanup & removes timers for client shutdown
162
- */
163
- stop(): Promise<void>;
164
- /**
165
- * Announces this user and device as joined to the MatrixRTC session,
166
- * and continues to update the membership event to keep it valid until
167
- * leaveRoomSession() is called
168
- * This will not subscribe to updates: remember to call subscribe() separately if
169
- * desired.
170
- * This method will return immediately and the session will be joined in the background.
171
- *
172
- * @param fociActive - The object representing the active focus. (This depends on the focus type.)
173
- * @param fociPreferred - The list of preferred foci this member proposes to use/knows/has access to.
174
- * For the livekit case this is a list of foci generated from the homeserver well-known, the current rtc session,
175
- * or optionally other room members homeserver well known.
176
- * @param joinConfig - Additional configuration for the joined session.
177
- */
178
- joinRoomSession(fociPreferred: Focus[], fociActive?: Focus, joinConfig?: JoinSessionConfig): void;
179
- /**
180
- * Announces this user and device as having left the MatrixRTC session
181
- * and stops scheduled updates.
182
- * This will not unsubscribe from updates: remember to call unsubscribe() separately if
183
- * desired.
184
- * The membership update required to leave the session will retry if it fails.
185
- * Without network connection the promise will never resolve.
186
- * A timeout can be provided so that there is a guarantee for the promise to resolve.
187
- * @returns Whether the membership update was attempted and did not time out.
188
- */
189
- leaveRoomSession(timeout?: number | undefined): Promise<boolean>;
190
- getActiveFocus(): Focus | undefined;
191
- /**
192
- * Re-emit an EncryptionKeyChanged event for each tracked encryption key. This can be used to export
193
- * the keys.
194
- */
195
- reemitEncryptionKeys(): void;
196
- /**
197
- * Get the known encryption keys for a given participant device.
198
- *
199
- * @param userId the user ID of the participant
200
- * @param deviceId the device ID of the participant
201
- * @returns The encryption keys for the given participant, or undefined if they are not known.
202
- *
203
- * @deprecated This will be made private in a future release.
204
- */
205
- getKeysForParticipant(userId: string, deviceId: string): Array<Uint8Array> | undefined;
206
- private getKeysForParticipantInternal;
207
- /**
208
- * A map of keys used to encrypt and decrypt (we are using a symmetric
209
- * cipher) given participant's media. This also includes our own key
210
- *
211
- * @deprecated This will be made private in a future release.
212
- */
213
- getEncryptionKeys(): IterableIterator<[string, Array<Uint8Array>]>;
214
- private getNewEncryptionKeyIndex;
215
- /**
216
- * Sets an encryption key at a specified index for a participant.
217
- * The encryption keys for the local participant are also stored here under the
218
- * user and device ID of the local participant.
219
- * If the key is older than the existing key at the index, it will be ignored.
220
- * @param userId - The user ID of the participant
221
- * @param deviceId - Device ID of the participant
222
- * @param encryptionKeyIndex - The index of the key to set
223
- * @param encryptionKeyString - The string representation of the key to set in base64
224
- * @param timestamp - The timestamp of the key. We assume that these are monotonic for each participant device.
225
- * @param delayBeforeUse - If true, delay before emitting a key changed event. Useful when setting
226
- * encryption keys for the local participant to allow time for the key to
227
- * be distributed.
228
- */
229
- private setEncryptionKey;
230
- /**
231
- * Generate a new sender key and add it at the next available index
232
- * @param delayBeforeUse - If true, wait for a short period before setting the key for the
233
- * media encryptor to use. If false, set the key immediately.
234
- * @returns The index of the new key
235
- */
236
- private makeNewSenderKey;
237
- /**
238
- * Requests that we resend our current keys to the room. May send a keys event immediately
239
- * or queue for alter if one has already been sent recently.
240
- */
241
- private requestSendCurrentKey;
242
- /**
243
- * Re-sends the encryption keys room event
244
- */
245
- private sendEncryptionKeysEvent;
246
- /**
247
- * Sets a timer for the soonest membership expiry
248
- */
249
- private setExpiryTimer;
250
- getOldestMembership(): CallMembership | undefined;
251
- getFocusInUse(): Focus | undefined;
252
- /**
253
- * Process `m.call.encryption_keys` events to track the encryption keys for call participants.
254
- * This should be called each time the relevant event is received from a room timeline.
255
- * If the event is malformed then it will be logged and ignored.
256
- *
257
- * @param event the event to process
258
- */
259
- onCallEncryption: (event: MatrixEvent) => void;
260
- private isMyMembership;
261
- /**
262
- * Examines the latest call memberships and handles any encryption key sending or rotation that is needed.
263
- *
264
- * This function should be called when the room members or call memberships might have changed.
265
- */
266
- onMembershipUpdate: () => void;
267
- private storeLastMembershipFingerprints;
268
- /**
269
- * Constructs our own membership
270
- * @param prevMembership - The previous value of our call membership, if any
271
- */
272
- private makeMyMembershipLegacy;
273
- /**
274
- * Constructs our own membership
275
- */
276
- private makeMyMembership;
277
- /**
278
- * Returns true if our membership event needs to be updated
279
- */
280
- private membershipEventNeedsUpdate;
281
- private makeNewMembership;
282
- /**
283
- * Makes a new membership list given the old list along with this user's previous membership event
284
- * (if any) and this device's previous membership (if any)
285
- */
286
- private makeNewLegacyMemberships;
287
- private triggerCallMembershipEventUpdate;
288
- private updateCallMembershipEvent;
289
- private scheduleDelayDisconnection;
290
- private readonly delayDisconnection;
291
- private stateEventsContainOngoingLegacySession;
292
- private makeMembershipStateKey;
293
- private onRotateKeyTimeout;
294
- }
295
- //# sourceMappingURL=MatrixRTCSession.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"MatrixRTCSession.d.ts","sourceRoot":"","sources":["../../src/matrixrtc/MatrixRTCSession.ts"],"names":[],"mappings":"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"}