@unwanted/matrix-sdk-mini 34.12.0 → 34.13.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (698) hide show
  1. package/git-revision.txt +1 -1
  2. package/lib/@types/event.d.ts +0 -19
  3. package/lib/@types/event.d.ts.map +1 -1
  4. package/lib/@types/event.js.map +1 -1
  5. package/lib/@types/global.d.js +0 -2
  6. package/lib/@types/global.d.js.map +1 -1
  7. package/lib/autodiscovery.d.ts +1 -1
  8. package/lib/autodiscovery.d.ts.map +1 -1
  9. package/lib/autodiscovery.js.map +1 -1
  10. package/lib/base64.d.ts +3 -6
  11. package/lib/base64.d.ts.map +1 -1
  12. package/lib/base64.js +43 -36
  13. package/lib/base64.js.map +1 -1
  14. package/lib/browser-index.d.ts.map +1 -1
  15. package/lib/browser-index.js +0 -11
  16. package/lib/browser-index.js.map +1 -1
  17. package/lib/client.d.ts +2 -1298
  18. package/lib/client.d.ts.map +1 -1
  19. package/lib/client.js +348 -2967
  20. package/lib/client.js.map +1 -1
  21. package/lib/digest.d.ts +2 -2
  22. package/lib/digest.d.ts.map +1 -1
  23. package/lib/digest.js +2 -2
  24. package/lib/digest.js.map +1 -1
  25. package/lib/embedded.d.ts +0 -22
  26. package/lib/embedded.d.ts.map +1 -1
  27. package/lib/embedded.js +58 -168
  28. package/lib/embedded.js.map +1 -1
  29. package/lib/event-mapper.d.ts.map +1 -1
  30. package/lib/event-mapper.js +0 -4
  31. package/lib/event-mapper.js.map +1 -1
  32. package/lib/matrix.d.ts +0 -25
  33. package/lib/matrix.d.ts.map +1 -1
  34. package/lib/matrix.js +1 -30
  35. package/lib/matrix.js.map +1 -1
  36. package/lib/models/MSC3089Branch.d.ts.map +1 -1
  37. package/lib/models/MSC3089Branch.js +0 -3
  38. package/lib/models/MSC3089Branch.js.map +1 -1
  39. package/lib/models/event-timeline-set.d.ts +6 -10
  40. package/lib/models/event-timeline-set.d.ts.map +1 -1
  41. package/lib/models/event-timeline-set.js +28 -36
  42. package/lib/models/event-timeline-set.js.map +1 -1
  43. package/lib/models/event-timeline.d.ts +7 -2
  44. package/lib/models/event-timeline.d.ts.map +1 -1
  45. package/lib/models/event-timeline.js +8 -9
  46. package/lib/models/event-timeline.js.map +1 -1
  47. package/lib/models/event.d.ts +1 -95
  48. package/lib/models/event.d.ts.map +1 -1
  49. package/lib/models/event.js +11 -281
  50. package/lib/models/event.js.map +1 -1
  51. package/lib/models/poll.d.ts.map +1 -1
  52. package/lib/models/poll.js +1 -5
  53. package/lib/models/poll.js.map +1 -1
  54. package/lib/models/relations-container.d.ts.map +1 -1
  55. package/lib/models/relations-container.js +1 -7
  56. package/lib/models/relations-container.js.map +1 -1
  57. package/lib/models/relations.d.ts +0 -1
  58. package/lib/models/relations.d.ts.map +1 -1
  59. package/lib/models/relations.js +0 -8
  60. package/lib/models/relations.js.map +1 -1
  61. package/lib/models/room-state.d.ts +2 -13
  62. package/lib/models/room-state.d.ts.map +1 -1
  63. package/lib/models/room-state.js +12 -56
  64. package/lib/models/room-state.js.map +1 -1
  65. package/lib/models/room.d.ts +2 -20
  66. package/lib/models/room.d.ts.map +1 -1
  67. package/lib/models/room.js +121 -162
  68. package/lib/models/room.js.map +1 -1
  69. package/lib/models/thread.d.ts.map +1 -1
  70. package/lib/models/thread.js +5 -4
  71. package/lib/models/thread.js.map +1 -1
  72. package/lib/sliding-sync-sdk.d.ts +3 -4
  73. package/lib/sliding-sync-sdk.d.ts.map +1 -1
  74. package/lib/sliding-sync-sdk.js +55 -102
  75. package/lib/sliding-sync-sdk.js.map +1 -1
  76. package/lib/sliding-sync.js +9 -6
  77. package/lib/sliding-sync.js.map +1 -1
  78. package/lib/store/indexeddb.d.ts +1 -1
  79. package/lib/store/indexeddb.d.ts.map +1 -1
  80. package/lib/store/indexeddb.js.map +1 -1
  81. package/lib/sync-accumulator.d.ts +6 -4
  82. package/lib/sync-accumulator.d.ts.map +1 -1
  83. package/lib/sync-accumulator.js +23 -12
  84. package/lib/sync-accumulator.js.map +1 -1
  85. package/lib/sync.d.ts +10 -13
  86. package/lib/sync.d.ts.map +1 -1
  87. package/lib/sync.js +94 -115
  88. package/lib/sync.js.map +1 -1
  89. package/lib/testing.d.ts +0 -48
  90. package/lib/testing.d.ts.map +1 -1
  91. package/lib/testing.js +0 -105
  92. package/lib/testing.js.map +1 -1
  93. package/lib/types.d.ts +0 -1
  94. package/lib/types.d.ts.map +1 -1
  95. package/lib/types.js.map +1 -1
  96. package/package.json +10 -11
  97. package/src/@types/event.ts +2 -36
  98. package/src/@types/global.d.ts +21 -4
  99. package/src/autodiscovery.ts +1 -1
  100. package/src/base64.ts +38 -40
  101. package/src/browser-index.ts +0 -11
  102. package/src/client.ts +68 -3087
  103. package/src/digest.ts +3 -3
  104. package/src/embedded.ts +38 -134
  105. package/src/event-mapper.ts +0 -4
  106. package/src/matrix.ts +0 -41
  107. package/src/models/MSC3089Branch.ts +0 -3
  108. package/src/models/event-timeline-set.ts +17 -38
  109. package/src/models/event-timeline.ts +10 -5
  110. package/src/models/event.ts +8 -295
  111. package/src/models/poll.ts +0 -6
  112. package/src/models/relations-container.ts +1 -8
  113. package/src/models/relations.ts +0 -8
  114. package/src/models/room-state.ts +4 -37
  115. package/src/models/room.ts +18 -68
  116. package/src/models/thread.ts +4 -3
  117. package/src/sliding-sync-sdk.ts +10 -83
  118. package/src/sliding-sync.ts +6 -6
  119. package/src/store/indexeddb.ts +1 -1
  120. package/src/sync-accumulator.ts +33 -16
  121. package/src/sync.ts +112 -143
  122. package/src/testing.ts +0 -108
  123. package/src/types.ts +0 -1
  124. package/CHANGELOG.md +0 -5910
  125. package/lib/@types/AESEncryptedSecretStoragePayload.d.ts +0 -14
  126. package/lib/@types/AESEncryptedSecretStoragePayload.d.ts.map +0 -1
  127. package/lib/@types/AESEncryptedSecretStoragePayload.js +0 -1
  128. package/lib/@types/AESEncryptedSecretStoragePayload.js.map +0 -1
  129. package/lib/@types/crypto.d.ts +0 -47
  130. package/lib/@types/crypto.d.ts.map +0 -1
  131. package/lib/@types/crypto.js +0 -1
  132. package/lib/@types/crypto.js.map +0 -1
  133. package/lib/@types/matrix-sdk-crypto-wasm.d.js +0 -1
  134. package/lib/@types/matrix-sdk-crypto-wasm.d.js.map +0 -1
  135. package/lib/common-crypto/CryptoBackend.d.ts +0 -240
  136. package/lib/common-crypto/CryptoBackend.d.ts.map +0 -1
  137. package/lib/common-crypto/CryptoBackend.js +0 -73
  138. package/lib/common-crypto/CryptoBackend.js.map +0 -1
  139. package/lib/common-crypto/key-passphrase.d.ts +0 -14
  140. package/lib/common-crypto/key-passphrase.d.ts.map +0 -1
  141. package/lib/common-crypto/key-passphrase.js +0 -33
  142. package/lib/common-crypto/key-passphrase.js.map +0 -1
  143. package/lib/crypto/CrossSigning.d.ts +0 -184
  144. package/lib/crypto/CrossSigning.d.ts.map +0 -1
  145. package/lib/crypto/CrossSigning.js +0 -718
  146. package/lib/crypto/CrossSigning.js.map +0 -1
  147. package/lib/crypto/DeviceList.d.ts +0 -216
  148. package/lib/crypto/DeviceList.d.ts.map +0 -1
  149. package/lib/crypto/DeviceList.js +0 -892
  150. package/lib/crypto/DeviceList.js.map +0 -1
  151. package/lib/crypto/EncryptionSetup.d.ts +0 -152
  152. package/lib/crypto/EncryptionSetup.d.ts.map +0 -1
  153. package/lib/crypto/EncryptionSetup.js +0 -356
  154. package/lib/crypto/EncryptionSetup.js.map +0 -1
  155. package/lib/crypto/OlmDevice.d.ts +0 -457
  156. package/lib/crypto/OlmDevice.d.ts.map +0 -1
  157. package/lib/crypto/OlmDevice.js +0 -1241
  158. package/lib/crypto/OlmDevice.js.map +0 -1
  159. package/lib/crypto/OutgoingRoomKeyRequestManager.d.ts +0 -109
  160. package/lib/crypto/OutgoingRoomKeyRequestManager.d.ts.map +0 -1
  161. package/lib/crypto/OutgoingRoomKeyRequestManager.js +0 -415
  162. package/lib/crypto/OutgoingRoomKeyRequestManager.js.map +0 -1
  163. package/lib/crypto/RoomList.d.ts +0 -26
  164. package/lib/crypto/RoomList.d.ts.map +0 -1
  165. package/lib/crypto/RoomList.js +0 -71
  166. package/lib/crypto/RoomList.js.map +0 -1
  167. package/lib/crypto/SecretSharing.d.ts +0 -24
  168. package/lib/crypto/SecretSharing.d.ts.map +0 -1
  169. package/lib/crypto/SecretSharing.js +0 -194
  170. package/lib/crypto/SecretSharing.js.map +0 -1
  171. package/lib/crypto/SecretStorage.d.ts +0 -55
  172. package/lib/crypto/SecretStorage.d.ts.map +0 -1
  173. package/lib/crypto/SecretStorage.js +0 -118
  174. package/lib/crypto/SecretStorage.js.map +0 -1
  175. package/lib/crypto/aes.d.ts +0 -6
  176. package/lib/crypto/aes.d.ts.map +0 -1
  177. package/lib/crypto/aes.js +0 -24
  178. package/lib/crypto/aes.js.map +0 -1
  179. package/lib/crypto/algorithms/base.d.ts +0 -156
  180. package/lib/crypto/algorithms/base.d.ts.map +0 -1
  181. package/lib/crypto/algorithms/base.js +0 -187
  182. package/lib/crypto/algorithms/base.js.map +0 -1
  183. package/lib/crypto/algorithms/index.d.ts +0 -4
  184. package/lib/crypto/algorithms/index.d.ts.map +0 -1
  185. package/lib/crypto/algorithms/index.js +0 -20
  186. package/lib/crypto/algorithms/index.js.map +0 -1
  187. package/lib/crypto/algorithms/megolm.d.ts +0 -385
  188. package/lib/crypto/algorithms/megolm.d.ts.map +0 -1
  189. package/lib/crypto/algorithms/megolm.js +0 -1822
  190. package/lib/crypto/algorithms/megolm.js.map +0 -1
  191. package/lib/crypto/algorithms/olm.d.ts +0 -5
  192. package/lib/crypto/algorithms/olm.d.ts.map +0 -1
  193. package/lib/crypto/algorithms/olm.js +0 -299
  194. package/lib/crypto/algorithms/olm.js.map +0 -1
  195. package/lib/crypto/api.d.ts +0 -32
  196. package/lib/crypto/api.d.ts.map +0 -1
  197. package/lib/crypto/api.js +0 -22
  198. package/lib/crypto/api.js.map +0 -1
  199. package/lib/crypto/backup.d.ts +0 -227
  200. package/lib/crypto/backup.d.ts.map +0 -1
  201. package/lib/crypto/backup.js +0 -824
  202. package/lib/crypto/backup.js.map +0 -1
  203. package/lib/crypto/crypto.d.ts +0 -3
  204. package/lib/crypto/crypto.d.ts.map +0 -1
  205. package/lib/crypto/crypto.js +0 -19
  206. package/lib/crypto/crypto.js.map +0 -1
  207. package/lib/crypto/dehydration.d.ts +0 -34
  208. package/lib/crypto/dehydration.d.ts.map +0 -1
  209. package/lib/crypto/dehydration.js +0 -252
  210. package/lib/crypto/dehydration.js.map +0 -1
  211. package/lib/crypto/device-converter.d.ts +0 -9
  212. package/lib/crypto/device-converter.d.ts.map +0 -1
  213. package/lib/crypto/device-converter.js +0 -42
  214. package/lib/crypto/device-converter.js.map +0 -1
  215. package/lib/crypto/deviceinfo.d.ts +0 -99
  216. package/lib/crypto/deviceinfo.d.ts.map +0 -1
  217. package/lib/crypto/deviceinfo.js +0 -148
  218. package/lib/crypto/deviceinfo.js.map +0 -1
  219. package/lib/crypto/index.d.ts +0 -1210
  220. package/lib/crypto/index.d.ts.map +0 -1
  221. package/lib/crypto/index.js +0 -4101
  222. package/lib/crypto/index.js.map +0 -1
  223. package/lib/crypto/key_passphrase.d.ts +0 -14
  224. package/lib/crypto/key_passphrase.d.ts.map +0 -1
  225. package/lib/crypto/key_passphrase.js +0 -44
  226. package/lib/crypto/key_passphrase.js.map +0 -1
  227. package/lib/crypto/keybackup.d.ts +0 -18
  228. package/lib/crypto/keybackup.d.ts.map +0 -1
  229. package/lib/crypto/keybackup.js +0 -1
  230. package/lib/crypto/keybackup.js.map +0 -1
  231. package/lib/crypto/olmlib.d.ts +0 -129
  232. package/lib/crypto/olmlib.d.ts.map +0 -1
  233. package/lib/crypto/olmlib.js +0 -492
  234. package/lib/crypto/olmlib.js.map +0 -1
  235. package/lib/crypto/recoverykey.d.ts +0 -2
  236. package/lib/crypto/recoverykey.d.ts.map +0 -1
  237. package/lib/crypto/recoverykey.js +0 -19
  238. package/lib/crypto/recoverykey.js.map +0 -1
  239. package/lib/crypto/store/base.d.ts +0 -252
  240. package/lib/crypto/store/base.d.ts.map +0 -1
  241. package/lib/crypto/store/base.js +0 -64
  242. package/lib/crypto/store/base.js.map +0 -1
  243. package/lib/crypto/store/indexeddb-crypto-store-backend.d.ts +0 -187
  244. package/lib/crypto/store/indexeddb-crypto-store-backend.d.ts.map +0 -1
  245. package/lib/crypto/store/indexeddb-crypto-store-backend.js +0 -1145
  246. package/lib/crypto/store/indexeddb-crypto-store-backend.js.map +0 -1
  247. package/lib/crypto/store/indexeddb-crypto-store.d.ts +0 -432
  248. package/lib/crypto/store/indexeddb-crypto-store.d.ts.map +0 -1
  249. package/lib/crypto/store/indexeddb-crypto-store.js +0 -728
  250. package/lib/crypto/store/indexeddb-crypto-store.js.map +0 -1
  251. package/lib/crypto/store/localStorage-crypto-store.d.ts +0 -119
  252. package/lib/crypto/store/localStorage-crypto-store.d.ts.map +0 -1
  253. package/lib/crypto/store/localStorage-crypto-store.js +0 -531
  254. package/lib/crypto/store/localStorage-crypto-store.js.map +0 -1
  255. package/lib/crypto/store/memory-crypto-store.d.ts +0 -215
  256. package/lib/crypto/store/memory-crypto-store.d.ts.map +0 -1
  257. package/lib/crypto/store/memory-crypto-store.js +0 -622
  258. package/lib/crypto/store/memory-crypto-store.js.map +0 -1
  259. package/lib/crypto/verification/Base.d.ts +0 -105
  260. package/lib/crypto/verification/Base.d.ts.map +0 -1
  261. package/lib/crypto/verification/Base.js +0 -372
  262. package/lib/crypto/verification/Base.js.map +0 -1
  263. package/lib/crypto/verification/Error.d.ts +0 -35
  264. package/lib/crypto/verification/Error.d.ts.map +0 -1
  265. package/lib/crypto/verification/Error.js +0 -86
  266. package/lib/crypto/verification/Error.js.map +0 -1
  267. package/lib/crypto/verification/IllegalMethod.d.ts +0 -15
  268. package/lib/crypto/verification/IllegalMethod.d.ts.map +0 -1
  269. package/lib/crypto/verification/IllegalMethod.js +0 -43
  270. package/lib/crypto/verification/IllegalMethod.js.map +0 -1
  271. package/lib/crypto/verification/QRCode.d.ts +0 -51
  272. package/lib/crypto/verification/QRCode.d.ts.map +0 -1
  273. package/lib/crypto/verification/QRCode.js +0 -277
  274. package/lib/crypto/verification/QRCode.js.map +0 -1
  275. package/lib/crypto/verification/SAS.d.ts +0 -27
  276. package/lib/crypto/verification/SAS.d.ts.map +0 -1
  277. package/lib/crypto/verification/SAS.js +0 -485
  278. package/lib/crypto/verification/SAS.js.map +0 -1
  279. package/lib/crypto/verification/SASDecimal.d.ts +0 -8
  280. package/lib/crypto/verification/SASDecimal.d.ts.map +0 -1
  281. package/lib/crypto/verification/SASDecimal.js +0 -34
  282. package/lib/crypto/verification/SASDecimal.js.map +0 -1
  283. package/lib/crypto/verification/request/Channel.d.ts +0 -18
  284. package/lib/crypto/verification/request/Channel.d.ts.map +0 -1
  285. package/lib/crypto/verification/request/Channel.js +0 -1
  286. package/lib/crypto/verification/request/Channel.js.map +0 -1
  287. package/lib/crypto/verification/request/InRoomChannel.d.ts +0 -113
  288. package/lib/crypto/verification/request/InRoomChannel.d.ts.map +0 -1
  289. package/lib/crypto/verification/request/InRoomChannel.js +0 -351
  290. package/lib/crypto/verification/request/InRoomChannel.js.map +0 -1
  291. package/lib/crypto/verification/request/ToDeviceChannel.d.ts +0 -105
  292. package/lib/crypto/verification/request/ToDeviceChannel.d.ts.map +0 -1
  293. package/lib/crypto/verification/request/ToDeviceChannel.js +0 -328
  294. package/lib/crypto/verification/request/ToDeviceChannel.js.map +0 -1
  295. package/lib/crypto/verification/request/VerificationRequest.d.ts +0 -227
  296. package/lib/crypto/verification/request/VerificationRequest.d.ts.map +0 -1
  297. package/lib/crypto/verification/request/VerificationRequest.js +0 -937
  298. package/lib/crypto/verification/request/VerificationRequest.js.map +0 -1
  299. package/lib/crypto-api/CryptoEvent.d.ts +0 -69
  300. package/lib/crypto-api/CryptoEvent.d.ts.map +0 -1
  301. package/lib/crypto-api/CryptoEvent.js +0 -33
  302. package/lib/crypto-api/CryptoEvent.js.map +0 -1
  303. package/lib/crypto-api/CryptoEventHandlerMap.d.ts +0 -16
  304. package/lib/crypto-api/CryptoEventHandlerMap.d.ts.map +0 -1
  305. package/lib/crypto-api/CryptoEventHandlerMap.js +0 -22
  306. package/lib/crypto-api/CryptoEventHandlerMap.js.map +0 -1
  307. package/lib/crypto-api/index.d.ts +0 -978
  308. package/lib/crypto-api/index.d.ts.map +0 -1
  309. package/lib/crypto-api/index.js +0 -304
  310. package/lib/crypto-api/index.js.map +0 -1
  311. package/lib/crypto-api/key-passphrase.d.ts +0 -11
  312. package/lib/crypto-api/key-passphrase.d.ts.map +0 -1
  313. package/lib/crypto-api/key-passphrase.js +0 -51
  314. package/lib/crypto-api/key-passphrase.js.map +0 -1
  315. package/lib/crypto-api/keybackup.d.ts +0 -88
  316. package/lib/crypto-api/keybackup.d.ts.map +0 -1
  317. package/lib/crypto-api/keybackup.js +0 -1
  318. package/lib/crypto-api/keybackup.js.map +0 -1
  319. package/lib/crypto-api/recovery-key.d.ts +0 -11
  320. package/lib/crypto-api/recovery-key.d.ts.map +0 -1
  321. package/lib/crypto-api/recovery-key.js +0 -65
  322. package/lib/crypto-api/recovery-key.js.map +0 -1
  323. package/lib/crypto-api/verification.d.ts +0 -344
  324. package/lib/crypto-api/verification.d.ts.map +0 -1
  325. package/lib/crypto-api/verification.js +0 -91
  326. package/lib/crypto-api/verification.js.map +0 -1
  327. package/lib/matrixrtc/CallMembership.d.ts +0 -66
  328. package/lib/matrixrtc/CallMembership.d.ts.map +0 -1
  329. package/lib/matrixrtc/CallMembership.js +0 -197
  330. package/lib/matrixrtc/CallMembership.js.map +0 -1
  331. package/lib/matrixrtc/LivekitFocus.d.ts +0 -16
  332. package/lib/matrixrtc/LivekitFocus.d.ts.map +0 -1
  333. package/lib/matrixrtc/LivekitFocus.js +0 -20
  334. package/lib/matrixrtc/LivekitFocus.js.map +0 -1
  335. package/lib/matrixrtc/MatrixRTCSession.d.ts +0 -295
  336. package/lib/matrixrtc/MatrixRTCSession.d.ts.map +0 -1
  337. package/lib/matrixrtc/MatrixRTCSession.js +0 -1043
  338. package/lib/matrixrtc/MatrixRTCSession.js.map +0 -1
  339. package/lib/matrixrtc/MatrixRTCSessionManager.d.ts +0 -40
  340. package/lib/matrixrtc/MatrixRTCSessionManager.d.ts.map +0 -1
  341. package/lib/matrixrtc/MatrixRTCSessionManager.js +0 -146
  342. package/lib/matrixrtc/MatrixRTCSessionManager.js.map +0 -1
  343. package/lib/matrixrtc/focus.d.ts +0 -10
  344. package/lib/matrixrtc/focus.d.ts.map +0 -1
  345. package/lib/matrixrtc/focus.js +0 -1
  346. package/lib/matrixrtc/focus.js.map +0 -1
  347. package/lib/matrixrtc/index.d.ts +0 -7
  348. package/lib/matrixrtc/index.d.ts.map +0 -1
  349. package/lib/matrixrtc/index.js +0 -21
  350. package/lib/matrixrtc/index.js.map +0 -1
  351. package/lib/matrixrtc/types.d.ts +0 -19
  352. package/lib/matrixrtc/types.d.ts.map +0 -1
  353. package/lib/matrixrtc/types.js +0 -1
  354. package/lib/matrixrtc/types.js.map +0 -1
  355. package/lib/rendezvous/MSC4108SignInWithQR.d.ts +0 -112
  356. package/lib/rendezvous/MSC4108SignInWithQR.d.ts.map +0 -1
  357. package/lib/rendezvous/MSC4108SignInWithQR.js +0 -392
  358. package/lib/rendezvous/MSC4108SignInWithQR.js.map +0 -1
  359. package/lib/rendezvous/RendezvousChannel.d.ts +0 -27
  360. package/lib/rendezvous/RendezvousChannel.d.ts.map +0 -1
  361. package/lib/rendezvous/RendezvousChannel.js +0 -1
  362. package/lib/rendezvous/RendezvousChannel.js.map +0 -1
  363. package/lib/rendezvous/RendezvousCode.d.ts +0 -9
  364. package/lib/rendezvous/RendezvousCode.d.ts.map +0 -1
  365. package/lib/rendezvous/RendezvousCode.js +0 -1
  366. package/lib/rendezvous/RendezvousCode.js.map +0 -1
  367. package/lib/rendezvous/RendezvousError.d.ts +0 -6
  368. package/lib/rendezvous/RendezvousError.d.ts.map +0 -1
  369. package/lib/rendezvous/RendezvousError.js +0 -23
  370. package/lib/rendezvous/RendezvousError.js.map +0 -1
  371. package/lib/rendezvous/RendezvousFailureReason.d.ts +0 -31
  372. package/lib/rendezvous/RendezvousFailureReason.d.ts.map +0 -1
  373. package/lib/rendezvous/RendezvousFailureReason.js +0 -38
  374. package/lib/rendezvous/RendezvousFailureReason.js.map +0 -1
  375. package/lib/rendezvous/RendezvousIntent.d.ts +0 -5
  376. package/lib/rendezvous/RendezvousIntent.d.ts.map +0 -1
  377. package/lib/rendezvous/RendezvousIntent.js +0 -22
  378. package/lib/rendezvous/RendezvousIntent.js.map +0 -1
  379. package/lib/rendezvous/RendezvousTransport.d.ts +0 -36
  380. package/lib/rendezvous/RendezvousTransport.d.ts.map +0 -1
  381. package/lib/rendezvous/RendezvousTransport.js +0 -1
  382. package/lib/rendezvous/RendezvousTransport.js.map +0 -1
  383. package/lib/rendezvous/channels/MSC4108SecureChannel.d.ts +0 -58
  384. package/lib/rendezvous/channels/MSC4108SecureChannel.d.ts.map +0 -1
  385. package/lib/rendezvous/channels/MSC4108SecureChannel.js +0 -246
  386. package/lib/rendezvous/channels/MSC4108SecureChannel.js.map +0 -1
  387. package/lib/rendezvous/channels/index.d.ts +0 -2
  388. package/lib/rendezvous/channels/index.d.ts.map +0 -1
  389. package/lib/rendezvous/channels/index.js +0 -18
  390. package/lib/rendezvous/channels/index.js.map +0 -1
  391. package/lib/rendezvous/index.d.ts +0 -10
  392. package/lib/rendezvous/index.d.ts.map +0 -1
  393. package/lib/rendezvous/index.js +0 -23
  394. package/lib/rendezvous/index.js.map +0 -1
  395. package/lib/rendezvous/transports/MSC4108RendezvousSession.d.ts +0 -61
  396. package/lib/rendezvous/transports/MSC4108RendezvousSession.d.ts.map +0 -1
  397. package/lib/rendezvous/transports/MSC4108RendezvousSession.js +0 -253
  398. package/lib/rendezvous/transports/MSC4108RendezvousSession.js.map +0 -1
  399. package/lib/rendezvous/transports/index.d.ts +0 -2
  400. package/lib/rendezvous/transports/index.d.ts.map +0 -1
  401. package/lib/rendezvous/transports/index.js +0 -18
  402. package/lib/rendezvous/transports/index.js.map +0 -1
  403. package/lib/rust-crypto/CrossSigningIdentity.d.ts +0 -33
  404. package/lib/rust-crypto/CrossSigningIdentity.d.ts.map +0 -1
  405. package/lib/rust-crypto/CrossSigningIdentity.js +0 -157
  406. package/lib/rust-crypto/CrossSigningIdentity.js.map +0 -1
  407. package/lib/rust-crypto/DehydratedDeviceManager.d.ts +0 -98
  408. package/lib/rust-crypto/DehydratedDeviceManager.d.ts.map +0 -1
  409. package/lib/rust-crypto/DehydratedDeviceManager.js +0 -285
  410. package/lib/rust-crypto/DehydratedDeviceManager.js.map +0 -1
  411. package/lib/rust-crypto/KeyClaimManager.d.ts +0 -33
  412. package/lib/rust-crypto/KeyClaimManager.d.ts.map +0 -1
  413. package/lib/rust-crypto/KeyClaimManager.js +0 -82
  414. package/lib/rust-crypto/KeyClaimManager.js.map +0 -1
  415. package/lib/rust-crypto/OutgoingRequestProcessor.d.ts +0 -43
  416. package/lib/rust-crypto/OutgoingRequestProcessor.d.ts.map +0 -1
  417. package/lib/rust-crypto/OutgoingRequestProcessor.js +0 -195
  418. package/lib/rust-crypto/OutgoingRequestProcessor.js.map +0 -1
  419. package/lib/rust-crypto/OutgoingRequestsManager.d.ts +0 -47
  420. package/lib/rust-crypto/OutgoingRequestsManager.d.ts.map +0 -1
  421. package/lib/rust-crypto/OutgoingRequestsManager.js +0 -148
  422. package/lib/rust-crypto/OutgoingRequestsManager.js.map +0 -1
  423. package/lib/rust-crypto/PerSessionKeyBackupDownloader.d.ts +0 -120
  424. package/lib/rust-crypto/PerSessionKeyBackupDownloader.d.ts.map +0 -1
  425. package/lib/rust-crypto/PerSessionKeyBackupDownloader.js +0 -467
  426. package/lib/rust-crypto/PerSessionKeyBackupDownloader.js.map +0 -1
  427. package/lib/rust-crypto/RoomEncryptor.d.ts +0 -98
  428. package/lib/rust-crypto/RoomEncryptor.d.ts.map +0 -1
  429. package/lib/rust-crypto/RoomEncryptor.js +0 -299
  430. package/lib/rust-crypto/RoomEncryptor.js.map +0 -1
  431. package/lib/rust-crypto/backup.d.ts +0 -254
  432. package/lib/rust-crypto/backup.d.ts.map +0 -1
  433. package/lib/rust-crypto/backup.js +0 -837
  434. package/lib/rust-crypto/backup.js.map +0 -1
  435. package/lib/rust-crypto/constants.d.ts +0 -3
  436. package/lib/rust-crypto/constants.d.ts.map +0 -1
  437. package/lib/rust-crypto/constants.js +0 -19
  438. package/lib/rust-crypto/constants.js.map +0 -1
  439. package/lib/rust-crypto/device-converter.d.ts +0 -28
  440. package/lib/rust-crypto/device-converter.d.ts.map +0 -1
  441. package/lib/rust-crypto/device-converter.js +0 -123
  442. package/lib/rust-crypto/device-converter.js.map +0 -1
  443. package/lib/rust-crypto/index.d.ts +0 -61
  444. package/lib/rust-crypto/index.d.ts.map +0 -1
  445. package/lib/rust-crypto/index.js +0 -152
  446. package/lib/rust-crypto/index.js.map +0 -1
  447. package/lib/rust-crypto/libolm_migration.d.ts +0 -81
  448. package/lib/rust-crypto/libolm_migration.d.ts.map +0 -1
  449. package/lib/rust-crypto/libolm_migration.js +0 -459
  450. package/lib/rust-crypto/libolm_migration.js.map +0 -1
  451. package/lib/rust-crypto/rust-crypto.d.ts +0 -556
  452. package/lib/rust-crypto/rust-crypto.d.ts.map +0 -1
  453. package/lib/rust-crypto/rust-crypto.js +0 -2016
  454. package/lib/rust-crypto/rust-crypto.js.map +0 -1
  455. package/lib/rust-crypto/secret-storage.d.ts +0 -22
  456. package/lib/rust-crypto/secret-storage.d.ts.map +0 -1
  457. package/lib/rust-crypto/secret-storage.js +0 -63
  458. package/lib/rust-crypto/secret-storage.js.map +0 -1
  459. package/lib/rust-crypto/verification.d.ts +0 -319
  460. package/lib/rust-crypto/verification.d.ts.map +0 -1
  461. package/lib/rust-crypto/verification.js +0 -816
  462. package/lib/rust-crypto/verification.js.map +0 -1
  463. package/lib/secret-storage.d.ts +0 -370
  464. package/lib/secret-storage.d.ts.map +0 -1
  465. package/lib/secret-storage.js +0 -466
  466. package/lib/secret-storage.js.map +0 -1
  467. package/lib/utils/decryptAESSecretStorageItem.d.ts +0 -12
  468. package/lib/utils/decryptAESSecretStorageItem.d.ts.map +0 -1
  469. package/lib/utils/decryptAESSecretStorageItem.js +0 -50
  470. package/lib/utils/decryptAESSecretStorageItem.js.map +0 -1
  471. package/lib/utils/encryptAESSecretStorageItem.d.ts +0 -16
  472. package/lib/utils/encryptAESSecretStorageItem.d.ts.map +0 -1
  473. package/lib/utils/encryptAESSecretStorageItem.js +0 -68
  474. package/lib/utils/encryptAESSecretStorageItem.js.map +0 -1
  475. package/lib/utils/internal/deriveKeys.d.ts +0 -10
  476. package/lib/utils/internal/deriveKeys.d.ts.map +0 -1
  477. package/lib/utils/internal/deriveKeys.js +0 -60
  478. package/lib/utils/internal/deriveKeys.js.map +0 -1
  479. package/lib/webrtc/audioContext.d.ts +0 -15
  480. package/lib/webrtc/audioContext.d.ts.map +0 -1
  481. package/lib/webrtc/audioContext.js +0 -46
  482. package/lib/webrtc/audioContext.js.map +0 -1
  483. package/lib/webrtc/call.d.ts +0 -560
  484. package/lib/webrtc/call.d.ts.map +0 -1
  485. package/lib/webrtc/call.js +0 -2541
  486. package/lib/webrtc/call.js.map +0 -1
  487. package/lib/webrtc/callEventHandler.d.ts +0 -37
  488. package/lib/webrtc/callEventHandler.d.ts.map +0 -1
  489. package/lib/webrtc/callEventHandler.js +0 -344
  490. package/lib/webrtc/callEventHandler.js.map +0 -1
  491. package/lib/webrtc/callEventTypes.d.ts +0 -73
  492. package/lib/webrtc/callEventTypes.d.ts.map +0 -1
  493. package/lib/webrtc/callEventTypes.js +0 -13
  494. package/lib/webrtc/callEventTypes.js.map +0 -1
  495. package/lib/webrtc/callFeed.d.ts +0 -128
  496. package/lib/webrtc/callFeed.d.ts.map +0 -1
  497. package/lib/webrtc/callFeed.js +0 -289
  498. package/lib/webrtc/callFeed.js.map +0 -1
  499. package/lib/webrtc/groupCall.d.ts +0 -323
  500. package/lib/webrtc/groupCall.d.ts.map +0 -1
  501. package/lib/webrtc/groupCall.js +0 -1337
  502. package/lib/webrtc/groupCall.js.map +0 -1
  503. package/lib/webrtc/groupCallEventHandler.d.ts +0 -31
  504. package/lib/webrtc/groupCallEventHandler.d.ts.map +0 -1
  505. package/lib/webrtc/groupCallEventHandler.js +0 -178
  506. package/lib/webrtc/groupCallEventHandler.js.map +0 -1
  507. package/lib/webrtc/mediaHandler.d.ts +0 -89
  508. package/lib/webrtc/mediaHandler.d.ts.map +0 -1
  509. package/lib/webrtc/mediaHandler.js +0 -437
  510. package/lib/webrtc/mediaHandler.js.map +0 -1
  511. package/lib/webrtc/stats/callFeedStatsReporter.d.ts +0 -8
  512. package/lib/webrtc/stats/callFeedStatsReporter.d.ts.map +0 -1
  513. package/lib/webrtc/stats/callFeedStatsReporter.js +0 -82
  514. package/lib/webrtc/stats/callFeedStatsReporter.js.map +0 -1
  515. package/lib/webrtc/stats/callStatsReportGatherer.d.ts +0 -25
  516. package/lib/webrtc/stats/callStatsReportGatherer.d.ts.map +0 -1
  517. package/lib/webrtc/stats/callStatsReportGatherer.js +0 -199
  518. package/lib/webrtc/stats/callStatsReportGatherer.js.map +0 -1
  519. package/lib/webrtc/stats/callStatsReportSummary.d.ts +0 -17
  520. package/lib/webrtc/stats/callStatsReportSummary.d.ts.map +0 -1
  521. package/lib/webrtc/stats/callStatsReportSummary.js +0 -1
  522. package/lib/webrtc/stats/callStatsReportSummary.js.map +0 -1
  523. package/lib/webrtc/stats/connectionStats.d.ts +0 -28
  524. package/lib/webrtc/stats/connectionStats.d.ts.map +0 -1
  525. package/lib/webrtc/stats/connectionStats.js +0 -26
  526. package/lib/webrtc/stats/connectionStats.js.map +0 -1
  527. package/lib/webrtc/stats/connectionStatsBuilder.d.ts +0 -5
  528. package/lib/webrtc/stats/connectionStatsBuilder.d.ts.map +0 -1
  529. package/lib/webrtc/stats/connectionStatsBuilder.js +0 -27
  530. package/lib/webrtc/stats/connectionStatsBuilder.js.map +0 -1
  531. package/lib/webrtc/stats/connectionStatsReportBuilder.d.ts +0 -7
  532. package/lib/webrtc/stats/connectionStatsReportBuilder.d.ts.map +0 -1
  533. package/lib/webrtc/stats/connectionStatsReportBuilder.js +0 -121
  534. package/lib/webrtc/stats/connectionStatsReportBuilder.js.map +0 -1
  535. package/lib/webrtc/stats/groupCallStats.d.ts +0 -22
  536. package/lib/webrtc/stats/groupCallStats.d.ts.map +0 -1
  537. package/lib/webrtc/stats/groupCallStats.js +0 -78
  538. package/lib/webrtc/stats/groupCallStats.js.map +0 -1
  539. package/lib/webrtc/stats/media/mediaSsrcHandler.d.ts +0 -10
  540. package/lib/webrtc/stats/media/mediaSsrcHandler.d.ts.map +0 -1
  541. package/lib/webrtc/stats/media/mediaSsrcHandler.js +0 -57
  542. package/lib/webrtc/stats/media/mediaSsrcHandler.js.map +0 -1
  543. package/lib/webrtc/stats/media/mediaTrackHandler.d.ts +0 -12
  544. package/lib/webrtc/stats/media/mediaTrackHandler.d.ts.map +0 -1
  545. package/lib/webrtc/stats/media/mediaTrackHandler.js +0 -62
  546. package/lib/webrtc/stats/media/mediaTrackHandler.js.map +0 -1
  547. package/lib/webrtc/stats/media/mediaTrackStats.d.ts +0 -86
  548. package/lib/webrtc/stats/media/mediaTrackStats.d.ts.map +0 -1
  549. package/lib/webrtc/stats/media/mediaTrackStats.js +0 -142
  550. package/lib/webrtc/stats/media/mediaTrackStats.js.map +0 -1
  551. package/lib/webrtc/stats/media/mediaTrackStatsHandler.d.ts +0 -22
  552. package/lib/webrtc/stats/media/mediaTrackStatsHandler.d.ts.map +0 -1
  553. package/lib/webrtc/stats/media/mediaTrackStatsHandler.js +0 -76
  554. package/lib/webrtc/stats/media/mediaTrackStatsHandler.js.map +0 -1
  555. package/lib/webrtc/stats/statsReport.d.ts +0 -99
  556. package/lib/webrtc/stats/statsReport.d.ts.map +0 -1
  557. package/lib/webrtc/stats/statsReport.js +0 -32
  558. package/lib/webrtc/stats/statsReport.js.map +0 -1
  559. package/lib/webrtc/stats/statsReportEmitter.d.ts +0 -15
  560. package/lib/webrtc/stats/statsReportEmitter.d.ts.map +0 -1
  561. package/lib/webrtc/stats/statsReportEmitter.js +0 -33
  562. package/lib/webrtc/stats/statsReportEmitter.js.map +0 -1
  563. package/lib/webrtc/stats/summaryStatsReportGatherer.d.ts +0 -16
  564. package/lib/webrtc/stats/summaryStatsReportGatherer.d.ts.map +0 -1
  565. package/lib/webrtc/stats/summaryStatsReportGatherer.js +0 -116
  566. package/lib/webrtc/stats/summaryStatsReportGatherer.js.map +0 -1
  567. package/lib/webrtc/stats/trackStatsBuilder.d.ts +0 -19
  568. package/lib/webrtc/stats/trackStatsBuilder.d.ts.map +0 -1
  569. package/lib/webrtc/stats/trackStatsBuilder.js +0 -168
  570. package/lib/webrtc/stats/trackStatsBuilder.js.map +0 -1
  571. package/lib/webrtc/stats/transportStats.d.ts +0 -11
  572. package/lib/webrtc/stats/transportStats.d.ts.map +0 -1
  573. package/lib/webrtc/stats/transportStats.js +0 -1
  574. package/lib/webrtc/stats/transportStats.js.map +0 -1
  575. package/lib/webrtc/stats/transportStatsBuilder.d.ts +0 -5
  576. package/lib/webrtc/stats/transportStatsBuilder.d.ts.map +0 -1
  577. package/lib/webrtc/stats/transportStatsBuilder.js +0 -34
  578. package/lib/webrtc/stats/transportStatsBuilder.js.map +0 -1
  579. package/lib/webrtc/stats/valueFormatter.d.ts +0 -4
  580. package/lib/webrtc/stats/valueFormatter.d.ts.map +0 -1
  581. package/lib/webrtc/stats/valueFormatter.js +0 -25
  582. package/lib/webrtc/stats/valueFormatter.js.map +0 -1
  583. package/src/@types/AESEncryptedSecretStoragePayload.ts +0 -29
  584. package/src/@types/crypto.ts +0 -73
  585. package/src/@types/matrix-sdk-crypto-wasm.d.ts +0 -44
  586. package/src/common-crypto/CryptoBackend.ts +0 -302
  587. package/src/common-crypto/README.md +0 -4
  588. package/src/common-crypto/key-passphrase.ts +0 -43
  589. package/src/crypto/CrossSigning.ts +0 -773
  590. package/src/crypto/DeviceList.ts +0 -989
  591. package/src/crypto/EncryptionSetup.ts +0 -351
  592. package/src/crypto/OlmDevice.ts +0 -1500
  593. package/src/crypto/OutgoingRoomKeyRequestManager.ts +0 -485
  594. package/src/crypto/RoomList.ts +0 -70
  595. package/src/crypto/SecretSharing.ts +0 -240
  596. package/src/crypto/SecretStorage.ts +0 -136
  597. package/src/crypto/aes.ts +0 -23
  598. package/src/crypto/algorithms/base.ts +0 -236
  599. package/src/crypto/algorithms/index.ts +0 -20
  600. package/src/crypto/algorithms/megolm.ts +0 -2216
  601. package/src/crypto/algorithms/olm.ts +0 -381
  602. package/src/crypto/api.ts +0 -70
  603. package/src/crypto/backup.ts +0 -922
  604. package/src/crypto/crypto.ts +0 -18
  605. package/src/crypto/dehydration.ts +0 -272
  606. package/src/crypto/device-converter.ts +0 -45
  607. package/src/crypto/deviceinfo.ts +0 -158
  608. package/src/crypto/index.ts +0 -4418
  609. package/src/crypto/key_passphrase.ts +0 -42
  610. package/src/crypto/keybackup.ts +0 -47
  611. package/src/crypto/olmlib.ts +0 -539
  612. package/src/crypto/recoverykey.ts +0 -18
  613. package/src/crypto/store/base.ts +0 -348
  614. package/src/crypto/store/indexeddb-crypto-store-backend.ts +0 -1250
  615. package/src/crypto/store/indexeddb-crypto-store.ts +0 -845
  616. package/src/crypto/store/localStorage-crypto-store.ts +0 -579
  617. package/src/crypto/store/memory-crypto-store.ts +0 -680
  618. package/src/crypto/verification/Base.ts +0 -409
  619. package/src/crypto/verification/Error.ts +0 -76
  620. package/src/crypto/verification/IllegalMethod.ts +0 -50
  621. package/src/crypto/verification/QRCode.ts +0 -310
  622. package/src/crypto/verification/SAS.ts +0 -494
  623. package/src/crypto/verification/SASDecimal.ts +0 -37
  624. package/src/crypto/verification/request/Channel.ts +0 -34
  625. package/src/crypto/verification/request/InRoomChannel.ts +0 -371
  626. package/src/crypto/verification/request/ToDeviceChannel.ts +0 -354
  627. package/src/crypto/verification/request/VerificationRequest.ts +0 -976
  628. package/src/crypto-api/CryptoEvent.ts +0 -93
  629. package/src/crypto-api/CryptoEventHandlerMap.ts +0 -32
  630. package/src/crypto-api/index.ts +0 -1175
  631. package/src/crypto-api/key-passphrase.ts +0 -58
  632. package/src/crypto-api/keybackup.ts +0 -115
  633. package/src/crypto-api/recovery-key.ts +0 -69
  634. package/src/crypto-api/verification.ts +0 -408
  635. package/src/matrixrtc/CallMembership.ts +0 -247
  636. package/src/matrixrtc/LivekitFocus.ts +0 -39
  637. package/src/matrixrtc/MatrixRTCSession.ts +0 -1319
  638. package/src/matrixrtc/MatrixRTCSessionManager.ts +0 -166
  639. package/src/matrixrtc/focus.ts +0 -25
  640. package/src/matrixrtc/index.ts +0 -22
  641. package/src/matrixrtc/types.ts +0 -36
  642. package/src/rendezvous/MSC4108SignInWithQR.ts +0 -444
  643. package/src/rendezvous/RendezvousChannel.ts +0 -48
  644. package/src/rendezvous/RendezvousCode.ts +0 -25
  645. package/src/rendezvous/RendezvousError.ts +0 -26
  646. package/src/rendezvous/RendezvousFailureReason.ts +0 -49
  647. package/src/rendezvous/RendezvousIntent.ts +0 -20
  648. package/src/rendezvous/RendezvousTransport.ts +0 -58
  649. package/src/rendezvous/channels/MSC4108SecureChannel.ts +0 -270
  650. package/src/rendezvous/channels/index.ts +0 -17
  651. package/src/rendezvous/index.ts +0 -25
  652. package/src/rendezvous/transports/MSC4108RendezvousSession.ts +0 -270
  653. package/src/rendezvous/transports/index.ts +0 -17
  654. package/src/rust-crypto/CrossSigningIdentity.ts +0 -183
  655. package/src/rust-crypto/DehydratedDeviceManager.ts +0 -306
  656. package/src/rust-crypto/KeyClaimManager.ts +0 -86
  657. package/src/rust-crypto/OutgoingRequestProcessor.ts +0 -236
  658. package/src/rust-crypto/OutgoingRequestsManager.ts +0 -143
  659. package/src/rust-crypto/PerSessionKeyBackupDownloader.ts +0 -501
  660. package/src/rust-crypto/RoomEncryptor.ts +0 -352
  661. package/src/rust-crypto/backup.ts +0 -881
  662. package/src/rust-crypto/constants.ts +0 -18
  663. package/src/rust-crypto/device-converter.ts +0 -128
  664. package/src/rust-crypto/index.ts +0 -237
  665. package/src/rust-crypto/libolm_migration.ts +0 -530
  666. package/src/rust-crypto/rust-crypto.ts +0 -2205
  667. package/src/rust-crypto/secret-storage.ts +0 -60
  668. package/src/rust-crypto/verification.ts +0 -830
  669. package/src/secret-storage.ts +0 -693
  670. package/src/utils/decryptAESSecretStorageItem.ts +0 -54
  671. package/src/utils/encryptAESSecretStorageItem.ts +0 -73
  672. package/src/utils/internal/deriveKeys.ts +0 -63
  673. package/src/webrtc/audioContext.ts +0 -44
  674. package/src/webrtc/call.ts +0 -3074
  675. package/src/webrtc/callEventHandler.ts +0 -425
  676. package/src/webrtc/callEventTypes.ts +0 -93
  677. package/src/webrtc/callFeed.ts +0 -364
  678. package/src/webrtc/groupCall.ts +0 -1735
  679. package/src/webrtc/groupCallEventHandler.ts +0 -234
  680. package/src/webrtc/mediaHandler.ts +0 -484
  681. package/src/webrtc/stats/callFeedStatsReporter.ts +0 -94
  682. package/src/webrtc/stats/callStatsReportGatherer.ts +0 -219
  683. package/src/webrtc/stats/callStatsReportSummary.ts +0 -30
  684. package/src/webrtc/stats/connectionStats.ts +0 -47
  685. package/src/webrtc/stats/connectionStatsBuilder.ts +0 -28
  686. package/src/webrtc/stats/connectionStatsReportBuilder.ts +0 -140
  687. package/src/webrtc/stats/groupCallStats.ts +0 -93
  688. package/src/webrtc/stats/media/mediaSsrcHandler.ts +0 -57
  689. package/src/webrtc/stats/media/mediaTrackHandler.ts +0 -76
  690. package/src/webrtc/stats/media/mediaTrackStats.ts +0 -176
  691. package/src/webrtc/stats/media/mediaTrackStatsHandler.ts +0 -90
  692. package/src/webrtc/stats/statsReport.ts +0 -133
  693. package/src/webrtc/stats/statsReportEmitter.ts +0 -49
  694. package/src/webrtc/stats/summaryStatsReportGatherer.ts +0 -148
  695. package/src/webrtc/stats/trackStatsBuilder.ts +0 -207
  696. package/src/webrtc/stats/transportStats.ts +0 -26
  697. package/src/webrtc/stats/transportStatsBuilder.ts +0 -48
  698. package/src/webrtc/stats/valueFormatter.ts +0 -27
@@ -494,7 +494,6 @@ export class Room extends ReadReceipt<RoomEmittedEvents, RoomEventHandlerMap> {
494
494
  });
495
495
  events.forEach(async (serializedEvent: Partial<IEvent>) => {
496
496
  const event = mapper(serializedEvent);
497
- await client.decryptEventIfNeeded(event);
498
497
  event.setStatus(EventStatus.NOT_SENT);
499
498
  this.addPendingEvent(event, event.getTxnId()!);
500
499
  });
@@ -533,52 +532,6 @@ export class Room extends ReadReceipt<RoomEmittedEvents, RoomEventHandlerMap> {
533
532
  return null;
534
533
  }
535
534
 
536
- /**
537
- * Bulk decrypt critical events in a room
538
- *
539
- * Critical events represents the minimal set of events to decrypt
540
- * for a typical UI to function properly
541
- *
542
- * - Last event of every room (to generate likely message preview)
543
- * - All events up to the read receipt (to calculate an accurate notification count)
544
- *
545
- * @returns Signals when all events have been decrypted
546
- */
547
- public async decryptCriticalEvents(): Promise<void> {
548
- if (!this.client.isCryptoEnabled()) return;
549
-
550
- const readReceiptEventId = this.getEventReadUpTo(this.client.getUserId()!, true);
551
- const events = this.getLiveTimeline().getEvents();
552
- const readReceiptTimelineIndex = events.findIndex((matrixEvent) => {
553
- return matrixEvent.event.event_id === readReceiptEventId;
554
- });
555
-
556
- const decryptionPromises = events
557
- .slice(readReceiptTimelineIndex)
558
- .reverse()
559
- .map((event) => this.client.decryptEventIfNeeded(event));
560
-
561
- await Promise.allSettled(decryptionPromises);
562
- }
563
-
564
- /**
565
- * Bulk decrypt events in a room
566
- *
567
- * @returns Signals when all events have been decrypted
568
- */
569
- public async decryptAllEvents(): Promise<void> {
570
- if (!this.client.isCryptoEnabled()) return;
571
-
572
- const decryptionPromises = this.getUnfilteredTimelineSet()
573
- .getLiveTimeline()
574
- .getEvents()
575
- .slice(0) // copy before reversing
576
- .reverse()
577
- .map((event) => this.client.decryptEventIfNeeded(event));
578
-
579
- await Promise.allSettled(decryptionPromises);
580
- }
581
-
582
535
  /**
583
536
  * Gets the creator of the room
584
537
  * @returns The creator of the room, or null if it could not be determined
@@ -1739,10 +1692,11 @@ export class Room extends ReadReceipt<RoomEmittedEvents, RoomEventHandlerMap> {
1739
1692
  public addEventsToTimeline(
1740
1693
  events: MatrixEvent[],
1741
1694
  toStartOfTimeline: boolean,
1695
+ addToState: boolean,
1742
1696
  timeline: EventTimeline,
1743
1697
  paginationToken?: string,
1744
1698
  ): void {
1745
- timeline.getTimelineSet().addEventsToTimeline(events, toStartOfTimeline, timeline, paginationToken);
1699
+ timeline.getTimelineSet().addEventsToTimeline(events, toStartOfTimeline, addToState, timeline, paginationToken);
1746
1700
  }
1747
1701
 
1748
1702
  /**
@@ -1907,7 +1861,7 @@ export class Room extends ReadReceipt<RoomEmittedEvents, RoomEventHandlerMap> {
1907
1861
  // see https://github.com/vector-im/vector-web/issues/2109
1908
1862
 
1909
1863
  unfilteredLiveTimeline.getEvents().forEach(function (event) {
1910
- timelineSet.addLiveEvent(event);
1864
+ timelineSet.addLiveEvent(event, { addToState: false }); // Filtered timeline sets should not track state
1911
1865
  });
1912
1866
 
1913
1867
  // find the earliest unfiltered timeline
@@ -1994,6 +1948,7 @@ export class Room extends ReadReceipt<RoomEmittedEvents, RoomEventHandlerMap> {
1994
1948
  if (filterType !== ThreadFilterType.My || currentUserParticipated) {
1995
1949
  timelineSet.getLiveTimeline().addEvent(thread.rootEvent!, {
1996
1950
  toStartOfTimeline: false,
1951
+ addToState: false,
1997
1952
  });
1998
1953
  }
1999
1954
  });
@@ -2062,12 +2017,12 @@ export class Room extends ReadReceipt<RoomEmittedEvents, RoomEventHandlerMap> {
2062
2017
  return threadAMetadata.latest_event.origin_server_ts - threadBMetadata.latest_event.origin_server_ts;
2063
2018
  });
2064
2019
 
2065
- let latestMyThreadsRootEvent: MatrixEvent | undefined;
2066
2020
  const roomState = this.getLiveTimeline().getState(EventTimeline.FORWARDS);
2067
2021
  for (const rootEvent of threadRoots) {
2068
2022
  const opts = {
2069
2023
  duplicateStrategy: DuplicateStrategy.Ignore,
2070
2024
  fromCache: false,
2025
+ addToState: false,
2071
2026
  roomState,
2072
2027
  };
2073
2028
  this.threadsTimelineSets[0]?.addLiveEvent(rootEvent, opts);
@@ -2077,16 +2032,10 @@ export class Room extends ReadReceipt<RoomEmittedEvents, RoomEventHandlerMap> {
2077
2032
  );
2078
2033
  if (threadRelationship?.current_user_participated) {
2079
2034
  this.threadsTimelineSets[1]?.addLiveEvent(rootEvent, opts);
2080
- latestMyThreadsRootEvent = rootEvent;
2081
2035
  }
2082
2036
  }
2083
2037
 
2084
2038
  this.processThreadRoots(threadRoots, true);
2085
-
2086
- this.client.decryptEventIfNeeded(threadRoots[threadRoots.length - 1]);
2087
- if (latestMyThreadsRootEvent) {
2088
- this.client.decryptEventIfNeeded(latestMyThreadsRootEvent);
2089
- }
2090
2039
  }
2091
2040
 
2092
2041
  this.on(ThreadEvent.NewReply, this.onThreadReply);
@@ -2110,7 +2059,6 @@ export class Room extends ReadReceipt<RoomEmittedEvents, RoomEventHandlerMap> {
2110
2059
  * Try to decrypt the event. Promise resolution does not guarantee a successful decryption.
2111
2060
  * Retry is handled in {@link processPollEvent}.
2112
2061
  */
2113
- await this.client.decryptEventIfNeeded(event);
2114
2062
  this.processPollEvent(event);
2115
2063
  } catch (err) {
2116
2064
  logger.warn("Error processing poll event", event.getId(), err);
@@ -2129,13 +2077,6 @@ export class Room extends ReadReceipt<RoomEmittedEvents, RoomEventHandlerMap> {
2129
2077
  * @param event - Event that could be a poll event
2130
2078
  */
2131
2079
  private async processPollEvent(event: MatrixEvent): Promise<void> {
2132
- if (event.isDecryptionFailure()) {
2133
- event.once(MatrixEventEvent.Decrypted, (maybeDecryptedEvent: MatrixEvent) => {
2134
- this.processPollEvent(maybeDecryptedEvent);
2135
- });
2136
- return;
2137
- }
2138
-
2139
2080
  if (M_POLL_START.matches(event.getType())) {
2140
2081
  try {
2141
2082
  const poll = new Poll(event, this.client, this);
@@ -2190,6 +2131,7 @@ export class Room extends ReadReceipt<RoomEmittedEvents, RoomEventHandlerMap> {
2190
2131
  duplicateStrategy: DuplicateStrategy.Replace,
2191
2132
  fromCache: false,
2192
2133
  roomState,
2134
+ addToState: false,
2193
2135
  });
2194
2136
  }
2195
2137
  }
@@ -2381,9 +2323,13 @@ export class Room extends ReadReceipt<RoomEmittedEvents, RoomEventHandlerMap> {
2381
2323
  duplicateStrategy: DuplicateStrategy.Replace,
2382
2324
  fromCache: false,
2383
2325
  roomState: this.currentState,
2326
+ addToState: false,
2384
2327
  });
2385
2328
  } else {
2386
- timelineSet.addEventToTimeline(thread.rootEvent, timelineSet.getLiveTimeline(), { toStartOfTimeline });
2329
+ timelineSet.addEventToTimeline(thread.rootEvent, timelineSet.getLiveTimeline(), {
2330
+ toStartOfTimeline,
2331
+ addToState: false,
2332
+ });
2387
2333
  }
2388
2334
  }
2389
2335
  };
@@ -2540,7 +2486,7 @@ export class Room extends ReadReceipt<RoomEmittedEvents, RoomEventHandlerMap> {
2540
2486
  * Fires {@link RoomEvent.Timeline}
2541
2487
  */
2542
2488
  private addLiveEvent(event: MatrixEvent, addLiveEventOptions: IAddLiveEventOptions): void {
2543
- const { duplicateStrategy, timelineWasEmpty, fromCache } = addLiveEventOptions;
2489
+ const { duplicateStrategy, timelineWasEmpty, fromCache, addToState } = addLiveEventOptions;
2544
2490
 
2545
2491
  // add to our timeline sets
2546
2492
  for (const timelineSet of this.timelineSets) {
@@ -2548,6 +2494,7 @@ export class Room extends ReadReceipt<RoomEmittedEvents, RoomEventHandlerMap> {
2548
2494
  duplicateStrategy,
2549
2495
  fromCache,
2550
2496
  timelineWasEmpty,
2497
+ addToState,
2551
2498
  });
2552
2499
  }
2553
2500
 
@@ -2631,11 +2578,13 @@ export class Room extends ReadReceipt<RoomEmittedEvents, RoomEventHandlerMap> {
2631
2578
  if (timelineSet.getFilter()!.filterRoomTimeline([event]).length) {
2632
2579
  timelineSet.addEventToTimeline(event, timelineSet.getLiveTimeline(), {
2633
2580
  toStartOfTimeline: false,
2581
+ addToState: false, // We don't support localEcho of state events yet
2634
2582
  });
2635
2583
  }
2636
2584
  } else {
2637
2585
  timelineSet.addEventToTimeline(event, timelineSet.getLiveTimeline(), {
2638
2586
  toStartOfTimeline: false,
2587
+ addToState: false, // We don't support localEcho of state events yet
2639
2588
  });
2640
2589
  }
2641
2590
  }
@@ -2886,8 +2835,8 @@ export class Room extends ReadReceipt<RoomEmittedEvents, RoomEventHandlerMap> {
2886
2835
  * @param addLiveEventOptions - addLiveEvent options
2887
2836
  * @throws If `duplicateStrategy` is not falsey, 'replace' or 'ignore'.
2888
2837
  */
2889
- public async addLiveEvents(events: MatrixEvent[], addLiveEventOptions?: IAddLiveEventOptions): Promise<void> {
2890
- const { duplicateStrategy, fromCache, timelineWasEmpty = false } = addLiveEventOptions ?? {};
2838
+ public async addLiveEvents(events: MatrixEvent[], addLiveEventOptions: IAddLiveEventOptions): Promise<void> {
2839
+ const { duplicateStrategy, fromCache, timelineWasEmpty = false, addToState } = addLiveEventOptions;
2891
2840
  if (duplicateStrategy && ["replace", "ignore"].indexOf(duplicateStrategy) === -1) {
2892
2841
  throw new Error("duplicateStrategy MUST be either 'replace' or 'ignore'");
2893
2842
  }
@@ -2902,6 +2851,7 @@ export class Room extends ReadReceipt<RoomEmittedEvents, RoomEventHandlerMap> {
2902
2851
  duplicateStrategy,
2903
2852
  fromCache,
2904
2853
  timelineWasEmpty,
2854
+ addToState,
2905
2855
  };
2906
2856
 
2907
2857
  // List of extra events to check for being parents of any relations encountered
@@ -208,6 +208,7 @@ export class Thread extends ReadReceipt<ThreadEmittedEvents, ThreadEventHandlerM
208
208
 
209
209
  public static setServerSideSupport(status: FeatureSupport): void {
210
210
  Thread.hasServerSideSupport = status;
211
+ // XXX: This global latching behaviour is really unexpected and means that you can't undo when moving to a server without support
211
212
  if (status !== FeatureSupport.Stable) {
212
213
  FILTER_RELATED_BY_SENDERS.setPreferUnstable(true);
213
214
  FILTER_RELATED_BY_REL_TYPES.setPreferUnstable(true);
@@ -317,6 +318,7 @@ export class Thread extends ReadReceipt<ThreadEmittedEvents, ThreadEventHandlerM
317
318
  toStartOfTimeline,
318
319
  fromCache: false,
319
320
  roomState: this.roomState,
321
+ addToState: false,
320
322
  });
321
323
  }
322
324
  }
@@ -343,7 +345,7 @@ export class Thread extends ReadReceipt<ThreadEmittedEvents, ThreadEventHandlerM
343
345
  if (this.findEventById(eventId)) {
344
346
  return;
345
347
  }
346
- this.timelineSet.insertEventIntoTimeline(event, this.liveTimeline, this.roomState);
348
+ this.timelineSet.insertEventIntoTimeline(event, this.liveTimeline, this.roomState, false);
347
349
  }
348
350
 
349
351
  public addEvents(events: MatrixEvent[], toStartOfTimeline: boolean): void {
@@ -372,7 +374,6 @@ export class Thread extends ReadReceipt<ThreadEmittedEvents, ThreadEventHandlerM
372
374
  if (!Thread.hasServerSideSupport) {
373
375
  // When there's no server-side support, just add it to the end of the timeline.
374
376
  this.addEventToTimeline(event, toStartOfTimeline);
375
- this.client.decryptEventIfNeeded(event);
376
377
  } else if (event.isRelation(RelationType.Annotation) || event.isRelation(RelationType.Replace)) {
377
378
  this.addRelatedThreadEvent(event, toStartOfTimeline);
378
379
  return;
@@ -618,7 +619,7 @@ export class Thread extends ReadReceipt<ThreadEmittedEvents, ThreadEventHandlerM
618
619
  // if the thread has regular events, this will just load the last reply.
619
620
  // if the thread is newly created, this will load the root event.
620
621
  if (this.replyCount === 0 && this.rootEvent) {
621
- this.timelineSet.addEventsToTimeline([this.rootEvent], true, this.liveTimeline, null);
622
+ this.timelineSet.addEventsToTimeline([this.rootEvent], true, false, this.liveTimeline, null);
622
623
  this.liveTimeline.setPaginationToken(null, Direction.Backward);
623
624
  } else {
624
625
  this.initalEventFetchProm = this.client.paginateEventTimeline(this.liveTimeline, {
@@ -14,7 +14,6 @@ See the License for the specific language governing permissions and
14
14
  limitations under the License.
15
15
  */
16
16
 
17
- import type { SyncCryptoCallbacks } from "./common-crypto/CryptoBackend.ts";
18
17
  import { NotificationCountType, Room, RoomEvent } from "./models/room.ts";
19
18
  import { logger } from "./logger.ts";
20
19
  import { promiseMapSeries } from "./utils.ts";
@@ -24,13 +23,10 @@ import {
24
23
  ISyncStateData,
25
24
  SyncState,
26
25
  _createAndReEmitRoom,
27
- SyncApiOptions,
28
26
  defaultClientOpts,
29
- defaultSyncApiOpts,
30
27
  SetPresence,
31
28
  } from "./sync.ts";
32
29
  import { MatrixEvent } from "./models/event.ts";
33
- import { Crypto } from "./crypto/index.ts";
34
30
  import { IMinimalEvent, IRoomEvent, IStateEvent, IStrippedState, ISyncResponse } from "./sync-accumulator.ts";
35
31
  import { MatrixError } from "./http-api/index.ts";
36
32
  import {
@@ -53,54 +49,6 @@ import { KnownMembership } from "./@types/membership.ts";
53
49
  // keepAlive is successful but the server /sync fails.
54
50
  const FAILED_SYNC_ERROR_THRESHOLD = 3;
55
51
 
56
- type ExtensionE2EERequest = {
57
- enabled: boolean;
58
- };
59
-
60
- type ExtensionE2EEResponse = Pick<
61
- ISyncResponse,
62
- | "device_lists"
63
- | "device_one_time_keys_count"
64
- | "device_unused_fallback_key_types"
65
- | "org.matrix.msc2732.device_unused_fallback_key_types"
66
- >;
67
-
68
- class ExtensionE2EE implements Extension<ExtensionE2EERequest, ExtensionE2EEResponse> {
69
- public constructor(private readonly crypto: Crypto) {}
70
-
71
- public name(): string {
72
- return "e2ee";
73
- }
74
-
75
- public when(): ExtensionState {
76
- return ExtensionState.PreProcess;
77
- }
78
-
79
- public onRequest(isInitial: boolean): ExtensionE2EERequest | undefined {
80
- if (!isInitial) {
81
- return undefined;
82
- }
83
- return {
84
- enabled: true, // this is sticky so only send it on the initial request
85
- };
86
- }
87
-
88
- public async onResponse(data: ExtensionE2EEResponse): Promise<void> {
89
- // Handle device list updates
90
- if (data.device_lists) {
91
- await this.crypto.processDeviceLists(data.device_lists);
92
- }
93
-
94
- // Handle one_time_keys_count and unused_fallback_key_types
95
- await this.crypto.processKeyCounts(
96
- data.device_one_time_keys_count,
97
- data["device_unused_fallback_key_types"] || data["org.matrix.msc2732.device_unused_fallback_key_types"],
98
- );
99
-
100
- this.crypto.onSyncCompleted({});
101
- }
102
- }
103
-
104
52
  type ExtensionToDeviceRequest = {
105
53
  since?: string;
106
54
  limit?: number;
@@ -117,7 +65,6 @@ class ExtensionToDevice implements Extension<ExtensionToDeviceRequest, Extension
117
65
 
118
66
  public constructor(
119
67
  private readonly client: MatrixClient,
120
- private readonly cryptoCallbacks?: SyncCryptoCallbacks,
121
68
  ) {}
122
69
 
123
70
  public name(): string {
@@ -141,10 +88,7 @@ class ExtensionToDevice implements Extension<ExtensionToDeviceRequest, Extension
141
88
 
142
89
  public async onResponse(data: ExtensionToDeviceResponse): Promise<void> {
143
90
  const cancelledKeyVerificationTxns: string[] = [];
144
- let events = data["events"] || [];
145
- if (events.length > 0 && this.cryptoCallbacks) {
146
- events = await this.cryptoCallbacks.preprocessToDeviceMessages(events);
147
- }
91
+ const events = data["events"] || [];
148
92
  events
149
93
  .map(this.client.getEventMapper())
150
94
  .map((toDeviceEvent) => {
@@ -345,7 +289,6 @@ class ExtensionReceipts implements Extension<ExtensionReceiptsRequest, Extension
345
289
  */
346
290
  export class SlidingSyncSdk {
347
291
  private readonly opts: IStoredClientOpts;
348
- private readonly syncOpts: SyncApiOptions;
349
292
  private syncState: SyncState | null = null;
350
293
  private syncStateData?: ISyncStateData;
351
294
  private lastPos: string | null = null;
@@ -356,10 +299,8 @@ export class SlidingSyncSdk {
356
299
  private readonly slidingSync: SlidingSync,
357
300
  private readonly client: MatrixClient,
358
301
  opts?: IStoredClientOpts,
359
- syncOpts?: SyncApiOptions,
360
302
  ) {
361
303
  this.opts = defaultClientOpts(opts);
362
- this.syncOpts = defaultSyncApiOpts(syncOpts);
363
304
 
364
305
  if (client.getNotifTimelineSet()) {
365
306
  client.reEmitter.reEmit(client.getNotifTimelineSet()!, [RoomEvent.Timeline, RoomEvent.TimelineReset]);
@@ -368,14 +309,11 @@ export class SlidingSyncSdk {
368
309
  this.slidingSync.on(SlidingSyncEvent.Lifecycle, this.onLifecycle.bind(this));
369
310
  this.slidingSync.on(SlidingSyncEvent.RoomData, this.onRoomData.bind(this));
370
311
  const extensions: Extension<any, any>[] = [
371
- new ExtensionToDevice(this.client, this.syncOpts.cryptoCallbacks),
312
+ new ExtensionToDevice(this.client),
372
313
  new ExtensionAccountData(this.client),
373
314
  new ExtensionTyping(this.client),
374
315
  new ExtensionReceipts(this.client),
375
316
  ];
376
- if (this.syncOpts.crypto) {
377
- extensions.push(new ExtensionE2EE(this.syncOpts.crypto));
378
- }
379
317
  extensions.forEach((ext) => {
380
318
  this.slidingSync.registerExtension(ext);
381
319
  });
@@ -612,7 +550,7 @@ export class SlidingSyncSdk {
612
550
  timelineEvents = newEvents;
613
551
  if (oldEvents.length > 0) {
614
552
  // old events are scrollback, insert them now
615
- room.addEventsToTimeline(oldEvents, true, room.getLiveTimeline(), roomData.prev_batch);
553
+ room.addEventsToTimeline(oldEvents, true, false, room.getLiveTimeline(), roomData.prev_batch);
616
554
  }
617
555
  }
618
556
 
@@ -734,9 +672,6 @@ export class SlidingSyncSdk {
734
672
 
735
673
  const processRoomEvent = async (e: MatrixEvent): Promise<void> => {
736
674
  client.emit(ClientEvent.Event, e);
737
- if (e.isState() && e.getType() == EventType.RoomEncryption && this.syncOpts.cryptoCallbacks) {
738
- await this.syncOpts.cryptoCallbacks.onCryptoEvent(room, e);
739
- }
740
675
  };
741
676
 
742
677
  await promiseMapSeries(stateEvents, processRoomEvent);
@@ -744,17 +679,12 @@ export class SlidingSyncSdk {
744
679
  ephemeralEvents.forEach(function (e) {
745
680
  client.emit(ClientEvent.Event, e);
746
681
  });
747
-
748
- // Decrypt only the last message in all rooms to make sure we can generate a preview
749
- // And decrypt all events after the recorded read receipt to ensure an accurate
750
- // notification count
751
- room.decryptCriticalEvents();
752
682
  }
753
683
 
754
684
  /**
755
685
  * Injects events into a room's model.
756
686
  * @param stateEventList - A list of state events. This is the state
757
- * at the *START* of the timeline list if it is supplied.
687
+ * at the *END* of the timeline list if it is supplied.
758
688
  * @param timelineEventList - A list of timeline events. Lower index
759
689
  * is earlier in time. Higher index is later.
760
690
  * @param numLive - the number of events in timelineEventList which just happened,
@@ -763,13 +693,9 @@ export class SlidingSyncSdk {
763
693
  public async injectRoomEvents(
764
694
  room: Room,
765
695
  stateEventList: MatrixEvent[],
766
- timelineEventList?: MatrixEvent[],
767
- numLive?: number,
696
+ timelineEventList: MatrixEvent[] = [],
697
+ numLive: number = 0,
768
698
  ): Promise<void> {
769
- timelineEventList = timelineEventList || [];
770
- stateEventList = stateEventList || [];
771
- numLive = numLive || 0;
772
-
773
699
  // If there are no events in the timeline yet, initialise it with
774
700
  // the given state events
775
701
  const liveTimeline = room.getLiveTimeline();
@@ -820,16 +746,17 @@ export class SlidingSyncSdk {
820
746
  timelineEventList = timelineEventList.slice(0, -1 * liveTimelineEvents.length);
821
747
  }
822
748
 
823
- // execute the timeline events. This will continue to diverge the current state
824
- // if the timeline has any state events in it.
749
+ // Execute the timeline events.
825
750
  // This also needs to be done before running push rules on the events as they need
826
751
  // to be decorated with sender etc.
827
752
  await room.addLiveEvents(timelineEventList, {
828
753
  fromCache: true,
754
+ addToState: false,
829
755
  });
830
756
  if (liveTimelineEvents.length > 0) {
831
757
  await room.addLiveEvents(liveTimelineEvents, {
832
758
  fromCache: false,
759
+ addToState: false,
833
760
  });
834
761
  }
835
762
 
@@ -966,7 +893,7 @@ export class SlidingSyncSdk {
966
893
  return a.getTs() - b.getTs();
967
894
  });
968
895
  this.notifEvents.forEach((event) => {
969
- this.client.getNotifTimelineSet()?.addLiveEvent(event);
896
+ this.client.getNotifTimelineSet()?.addLiveEvent(event, { addToState: false });
970
897
  });
971
898
  this.notifEvents = [];
972
899
  }
@@ -196,8 +196,8 @@ class SlidingList {
196
196
  * @param list - The new list parameters
197
197
  */
198
198
  public replaceList(list: MSC3575List): void {
199
- list.filters = list.filters || {};
200
- list.ranges = list.ranges || [];
199
+ list.filters = list.filters ?? {};
200
+ list.ranges = list.ranges ?? [];
201
201
  this.list = JSON.parse(JSON.stringify(list));
202
202
  this.isModified = true;
203
203
 
@@ -894,9 +894,9 @@ export class SlidingSync extends TypedEventEmitter<SlidingSyncEvent, SlidingSync
894
894
  l.setModified(false);
895
895
  });
896
896
  // set default empty values so we don't need to null check
897
- resp.lists = resp.lists || {};
898
- resp.rooms = resp.rooms || {};
899
- resp.extensions = resp.extensions || {};
897
+ resp.lists = resp.lists ?? {};
898
+ resp.rooms = resp.rooms ?? {};
899
+ resp.extensions = resp.extensions ?? {};
900
900
  Object.keys(resp.lists).forEach((key: string) => {
901
901
  const list = this.lists.get(key);
902
902
  if (!list || !resp) {
@@ -934,7 +934,7 @@ export class SlidingSync extends TypedEventEmitter<SlidingSyncEvent, SlidingSync
934
934
  const listKeysWithUpdates: Set<string> = new Set();
935
935
  if (!doNotUpdateList) {
936
936
  for (const [key, list] of Object.entries(resp.lists)) {
937
- list.ops = list.ops || [];
937
+ list.ops = list.ops ?? [];
938
938
  if (list.ops.length > 0) {
939
939
  listKeysWithUpdates.add(key);
940
940
  }
@@ -42,7 +42,7 @@ const WRITE_DELAY_MS = 1000 * 60 * 5; // once every 5 minutes
42
42
 
43
43
  interface IOpts extends IBaseOpts {
44
44
  /** The Indexed DB interface e.g. `window.indexedDB` */
45
- indexedDB: IDBFactory;
45
+ indexedDB?: IDBFactory;
46
46
  /** Optional database name. The same name must be used to open the same database. */
47
47
  dbName?: string;
48
48
  /** Optional factory to spin up a Worker to execute the IDB transactions within. */
@@ -77,7 +77,9 @@ export interface ITimeline {
77
77
 
78
78
  export interface IJoinedRoom {
79
79
  "summary": IRoomSummary;
80
- "state": IState;
80
+ // One of `state` or `state_after` is required.
81
+ "state"?: IState;
82
+ "org.matrix.msc4222.state_after"?: IState; // https://github.com/matrix-org/matrix-spec-proposals/pull/4222
81
83
  "timeline": ITimeline;
82
84
  "ephemeral": IEphemeral;
83
85
  "account_data": IAccountData;
@@ -106,9 +108,11 @@ export interface IInvitedRoom {
106
108
  }
107
109
 
108
110
  export interface ILeftRoom {
109
- state: IState;
110
- timeline: ITimeline;
111
- account_data: IAccountData;
111
+ // One of `state` or `state_after` is required.
112
+ "state"?: IState;
113
+ "org.matrix.msc4222.state_after"?: IState;
114
+ "timeline": ITimeline;
115
+ "account_data": IAccountData;
112
116
  }
113
117
 
114
118
  export interface IKnockedRoom {
@@ -481,13 +485,18 @@ export class SyncAccumulator {
481
485
  // Work out the current state. The deltas need to be applied in the order:
482
486
  // - existing state which didn't come down /sync.
483
487
  // - State events under the 'state' key.
484
- // - State events in the 'timeline'.
488
+ // - State events under the 'state_after' key OR state events in the 'timeline' if 'state_after' is not present.
485
489
  data.state?.events?.forEach((e) => {
486
490
  setState(currentData._currentState, e);
487
491
  });
488
- data.timeline?.events?.forEach((e, index) => {
489
- // this nops if 'e' isn't a state event
492
+ data["org.matrix.msc4222.state_after"]?.events?.forEach((e) => {
490
493
  setState(currentData._currentState, e);
494
+ });
495
+ data.timeline?.events?.forEach((e, index) => {
496
+ if (!data["org.matrix.msc4222.state_after"]) {
497
+ // this nops if 'e' isn't a state event
498
+ setState(currentData._currentState, e);
499
+ }
491
500
  // append the event to the timeline. The back-pagination token
492
501
  // corresponds to the first event in the timeline
493
502
  let transformedEvent: TaggedEvent;
@@ -563,17 +572,22 @@ export class SyncAccumulator {
563
572
  });
564
573
  Object.keys(this.joinRooms).forEach((roomId) => {
565
574
  const roomData = this.joinRooms[roomId];
566
- const roomJson: IJoinedRoom = {
567
- ephemeral: { events: [] },
568
- account_data: { events: [] },
569
- state: { events: [] },
570
- timeline: {
575
+ const roomJson: IJoinedRoom & {
576
+ // We track both `state` and `state_after` for downgrade compatibility
577
+ "state": IState;
578
+ "org.matrix.msc4222.state_after": IState;
579
+ } = {
580
+ "ephemeral": { events: [] },
581
+ "account_data": { events: [] },
582
+ "state": { events: [] },
583
+ "org.matrix.msc4222.state_after": { events: [] },
584
+ "timeline": {
571
585
  events: [],
572
586
  prev_batch: null,
573
587
  },
574
- unread_notifications: roomData._unreadNotifications,
575
- unread_thread_notifications: roomData._unreadThreadNotifications,
576
- summary: roomData._summary as IRoomSummary,
588
+ "unread_notifications": roomData._unreadNotifications,
589
+ "unread_thread_notifications": roomData._unreadThreadNotifications,
590
+ "summary": roomData._summary as IRoomSummary,
577
591
  };
578
592
  // Add account data
579
593
  Object.keys(roomData._accountData).forEach((evType) => {
@@ -650,8 +664,11 @@ export class SyncAccumulator {
650
664
  Object.keys(roomData._currentState).forEach((evType) => {
651
665
  Object.keys(roomData._currentState[evType]).forEach((stateKey) => {
652
666
  let ev = roomData._currentState[evType][stateKey];
667
+ // Push to both fields to provide downgrade compatibility in the sync accumulator db
668
+ // the code will prefer `state_after` if it is present
669
+ roomJson["org.matrix.msc4222.state_after"].events.push(ev);
670
+ // Roll the state back to the value at the start of the timeline if it was changed
653
671
  if (rollBackState[evType] && rollBackState[evType][stateKey]) {
654
- // use the reverse clobbered event instead.
655
672
  ev = rollBackState[evType][stateKey];
656
673
  }
657
674
  roomJson.state.events.push(ev);