matrix-js-sdk 41.8.0 → 41.9.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 (458) hide show
  1. package/CHANGELOG.md +11 -0
  2. package/README.md +1 -1
  3. package/lib/@types/AESEncryptedSecretStoragePayload.js +3 -1
  4. package/lib/@types/IIdentityServerProvider.js +3 -1
  5. package/lib/@types/PushRules.js +7 -7
  6. package/lib/@types/PushRules.js.map +1 -1
  7. package/lib/@types/auth.js +4 -4
  8. package/lib/@types/auth.js.map +1 -1
  9. package/lib/@types/beacon.js +2 -2
  10. package/lib/@types/beacon.js.map +1 -1
  11. package/lib/@types/common.js +3 -1
  12. package/lib/@types/crypto.js +3 -1
  13. package/lib/@types/event.js +20 -20
  14. package/lib/@types/event.js.map +1 -1
  15. package/lib/@types/events.js +3 -1
  16. package/lib/@types/extensible_events.js +6 -6
  17. package/lib/@types/extensible_events.js.map +1 -1
  18. package/lib/@types/global.d.js.map +1 -1
  19. package/lib/@types/json.js +3 -1
  20. package/lib/@types/local_notifications.js +3 -1
  21. package/lib/@types/location.js +4 -4
  22. package/lib/@types/location.js.map +1 -1
  23. package/lib/@types/matrix-sdk-crypto-wasm.d.js +3 -1
  24. package/lib/@types/media.js +3 -1
  25. package/lib/@types/membership.js +1 -1
  26. package/lib/@types/membership.js.map +1 -1
  27. package/lib/@types/partials.js +6 -6
  28. package/lib/@types/partials.js.map +1 -1
  29. package/lib/@types/polls.js +5 -5
  30. package/lib/@types/polls.js.map +1 -1
  31. package/lib/@types/read_receipts.js +2 -2
  32. package/lib/@types/read_receipts.js.map +1 -1
  33. package/lib/@types/registration.js +3 -1
  34. package/lib/@types/requests.js +1 -1
  35. package/lib/@types/requests.js.map +1 -1
  36. package/lib/@types/retention.js +1 -1
  37. package/lib/@types/retention.js.map +1 -1
  38. package/lib/@types/search.js +1 -1
  39. package/lib/@types/search.js.map +1 -1
  40. package/lib/@types/signed.js +3 -1
  41. package/lib/@types/spaces.js +3 -1
  42. package/lib/@types/state_events.js +3 -1
  43. package/lib/@types/synapse.js +3 -1
  44. package/lib/@types/sync.js +1 -1
  45. package/lib/@types/sync.js.map +1 -1
  46. package/lib/@types/threepids.js +1 -1
  47. package/lib/@types/threepids.js.map +1 -1
  48. package/lib/@types/topic.js +1 -1
  49. package/lib/@types/topic.js.map +1 -1
  50. package/lib/@types/uia.js +3 -1
  51. package/lib/NamespacedValue.js +8 -8
  52. package/lib/NamespacedValue.js.map +1 -1
  53. package/lib/ReEmitter.js +9 -16
  54. package/lib/ReEmitter.js.map +1 -1
  55. package/lib/ToDeviceMessageQueue.js +49 -57
  56. package/lib/ToDeviceMessageQueue.js.map +1 -1
  57. package/lib/autodiscovery.js +232 -247
  58. package/lib/autodiscovery.js.map +1 -1
  59. package/lib/base64.js +1 -1
  60. package/lib/base64.js.map +1 -1
  61. package/lib/browser-index.d.ts +2 -2
  62. package/lib/browser-index.d.ts.map +1 -1
  63. package/lib/browser-index.js +5 -5
  64. package/lib/browser-index.js.map +1 -1
  65. package/lib/capabilityPoller.js +19 -22
  66. package/lib/capabilityPoller.js.map +1 -1
  67. package/lib/client.d.ts +2 -8
  68. package/lib/client.d.ts.map +1 -1
  69. package/lib/client.js +2043 -2487
  70. package/lib/client.js.map +1 -1
  71. package/lib/common-crypto/CryptoBackend.js +2 -2
  72. package/lib/common-crypto/CryptoBackend.js.map +1 -1
  73. package/lib/common-crypto/key-passphrase.js.map +1 -1
  74. package/lib/content-helpers.js +43 -48
  75. package/lib/content-helpers.js.map +1 -1
  76. package/lib/content-repo.js +14 -24
  77. package/lib/content-repo.js.map +1 -1
  78. package/lib/crypto/store/base.js +6 -6
  79. package/lib/crypto/store/base.js.map +1 -1
  80. package/lib/crypto/store/indexeddb-crypto-store-backend.js +190 -238
  81. package/lib/crypto/store/indexeddb-crypto-store-backend.js.map +1 -1
  82. package/lib/crypto/store/indexeddb-crypto-store.js +25 -30
  83. package/lib/crypto/store/indexeddb-crypto-store.js.map +1 -1
  84. package/lib/crypto/store/localStorage-crypto-store.js +113 -145
  85. package/lib/crypto/store/localStorage-crypto-store.js.map +1 -1
  86. package/lib/crypto/store/memory-crypto-store.js +74 -105
  87. package/lib/crypto/store/memory-crypto-store.js.map +1 -1
  88. package/lib/crypto-api/CryptoEvent.js +1 -1
  89. package/lib/crypto-api/CryptoEvent.js.map +1 -1
  90. package/lib/crypto-api/CryptoEventHandlerMap.js +3 -1
  91. package/lib/crypto-api/index.d.ts +15 -6
  92. package/lib/crypto-api/index.d.ts.map +1 -1
  93. package/lib/crypto-api/index.js +22 -22
  94. package/lib/crypto-api/index.js.map +1 -1
  95. package/lib/crypto-api/key-passphrase.js +15 -23
  96. package/lib/crypto-api/key-passphrase.js.map +1 -1
  97. package/lib/crypto-api/keybackup.js +3 -1
  98. package/lib/crypto-api/recovery-key.js +11 -12
  99. package/lib/crypto-api/recovery-key.js.map +1 -1
  100. package/lib/crypto-api/verification.js +3 -3
  101. package/lib/crypto-api/verification.js.map +1 -1
  102. package/lib/digest.js +7 -14
  103. package/lib/digest.js.map +1 -1
  104. package/lib/embedded.d.ts.map +1 -1
  105. package/lib/embedded.js +380 -505
  106. package/lib/embedded.js.map +1 -1
  107. package/lib/errors.js +2 -2
  108. package/lib/errors.js.map +1 -1
  109. package/lib/event-mapper.js +10 -12
  110. package/lib/event-mapper.js.map +1 -1
  111. package/lib/extensible_events_v1/ExtensibleEvent.js.map +1 -1
  112. package/lib/extensible_events_v1/InvalidEventError.js.map +1 -1
  113. package/lib/extensible_events_v1/MessageEvent.js +11 -13
  114. package/lib/extensible_events_v1/MessageEvent.js.map +1 -1
  115. package/lib/extensible_events_v1/PollEndEvent.js +3 -4
  116. package/lib/extensible_events_v1/PollEndEvent.js.map +1 -1
  117. package/lib/extensible_events_v1/PollResponseEvent.js +5 -6
  118. package/lib/extensible_events_v1/PollResponseEvent.js.map +1 -1
  119. package/lib/extensible_events_v1/PollStartEvent.js +8 -10
  120. package/lib/extensible_events_v1/PollStartEvent.js.map +1 -1
  121. package/lib/extensible_events_v1/utilities.js.map +1 -1
  122. package/lib/feature.js +18 -31
  123. package/lib/feature.js.map +1 -1
  124. package/lib/filter-component.d.ts.map +1 -1
  125. package/lib/filter-component.js +20 -26
  126. package/lib/filter-component.js.map +1 -1
  127. package/lib/filter.js +14 -17
  128. package/lib/filter.js.map +1 -1
  129. package/lib/http-api/errors.js +28 -43
  130. package/lib/http-api/errors.js.map +1 -1
  131. package/lib/http-api/fetch.js +141 -159
  132. package/lib/http-api/fetch.js.map +1 -1
  133. package/lib/http-api/index.js +17 -20
  134. package/lib/http-api/index.js.map +1 -1
  135. package/lib/http-api/interface.js +1 -1
  136. package/lib/http-api/interface.js.map +1 -1
  137. package/lib/http-api/method.js +1 -1
  138. package/lib/http-api/method.js.map +1 -1
  139. package/lib/http-api/prefix.js +3 -3
  140. package/lib/http-api/prefix.js.map +1 -1
  141. package/lib/http-api/refresh.js +74 -94
  142. package/lib/http-api/refresh.js.map +1 -1
  143. package/lib/http-api/utils.d.ts +1 -1
  144. package/lib/http-api/utils.d.ts.map +1 -1
  145. package/lib/http-api/utils.js +34 -42
  146. package/lib/http-api/utils.js.map +1 -1
  147. package/lib/index.js.map +1 -1
  148. package/lib/indexeddb-helpers.js +3 -3
  149. package/lib/indexeddb-helpers.js.map +1 -1
  150. package/lib/indexeddb-worker.js.map +1 -1
  151. package/lib/interactive-auth.d.ts +5 -5
  152. package/lib/interactive-auth.d.ts.map +1 -1
  153. package/lib/interactive-auth.js +172 -204
  154. package/lib/interactive-auth.js.map +1 -1
  155. package/lib/logger.js +21 -57
  156. package/lib/logger.js.map +1 -1
  157. package/lib/matrix.js +7 -11
  158. package/lib/matrix.js.map +1 -1
  159. package/lib/matrixrtc/CallMembership.js +80 -74
  160. package/lib/matrixrtc/CallMembership.js.map +1 -1
  161. package/lib/matrixrtc/EncryptionManager.js +1 -1
  162. package/lib/matrixrtc/EncryptionManager.js.map +1 -1
  163. package/lib/matrixrtc/IKeyTransport.js +1 -1
  164. package/lib/matrixrtc/IKeyTransport.js.map +1 -1
  165. package/lib/matrixrtc/IMembershipManager.js +1 -1
  166. package/lib/matrixrtc/IMembershipManager.js.map +1 -1
  167. package/lib/matrixrtc/LivekitTransport.d.ts +1 -1
  168. package/lib/matrixrtc/LivekitTransport.js +4 -4
  169. package/lib/matrixrtc/LivekitTransport.js.map +1 -1
  170. package/lib/matrixrtc/MatrixRTCSession.js +137 -187
  171. package/lib/matrixrtc/MatrixRTCSession.js.map +1 -1
  172. package/lib/matrixrtc/MatrixRTCSessionManager.js +36 -41
  173. package/lib/matrixrtc/MatrixRTCSessionManager.js.map +1 -1
  174. package/lib/matrixrtc/MembershipManager.js +332 -378
  175. package/lib/matrixrtc/MembershipManager.js.map +1 -1
  176. package/lib/matrixrtc/MembershipManagerActionScheduler.js +54 -63
  177. package/lib/matrixrtc/MembershipManagerActionScheduler.js.map +1 -1
  178. package/lib/matrixrtc/RTCEncryptionManager.js +119 -143
  179. package/lib/matrixrtc/RTCEncryptionManager.js.map +1 -1
  180. package/lib/matrixrtc/ToDeviceKeyTransport.js +53 -58
  181. package/lib/matrixrtc/ToDeviceKeyTransport.js.map +1 -1
  182. package/lib/matrixrtc/index.js.map +1 -1
  183. package/lib/matrixrtc/membershipData/common.js +1 -1
  184. package/lib/matrixrtc/membershipData/common.js.map +1 -1
  185. package/lib/matrixrtc/membershipData/index.js.map +1 -1
  186. package/lib/matrixrtc/membershipData/rtc.js +15 -23
  187. package/lib/matrixrtc/membershipData/rtc.js.map +1 -1
  188. package/lib/matrixrtc/membershipData/session.js +4 -5
  189. package/lib/matrixrtc/membershipData/session.js.map +1 -1
  190. package/lib/matrixrtc/types.js +4 -6
  191. package/lib/matrixrtc/types.js.map +1 -1
  192. package/lib/matrixrtc/utils.js +4 -11
  193. package/lib/matrixrtc/utils.js.map +1 -1
  194. package/lib/models/MSC3089Branch.js +91 -116
  195. package/lib/models/MSC3089Branch.js.map +1 -1
  196. package/lib/models/MSC3089TreeSpace.js +209 -245
  197. package/lib/models/MSC3089TreeSpace.js.map +1 -1
  198. package/lib/models/ToDeviceMessage.js +3 -1
  199. package/lib/models/beacon.js +14 -13
  200. package/lib/models/beacon.js.map +1 -1
  201. package/lib/models/compare-event-ordering.js +13 -13
  202. package/lib/models/compare-event-ordering.js.map +1 -1
  203. package/lib/models/device.js +3 -3
  204. package/lib/models/device.js.map +1 -1
  205. package/lib/models/event-context.js +5 -8
  206. package/lib/models/event-context.js.map +1 -1
  207. package/lib/models/event-status.js +1 -1
  208. package/lib/models/event-status.js.map +1 -1
  209. package/lib/models/event-timeline-set.js +88 -94
  210. package/lib/models/event-timeline-set.js.map +1 -1
  211. package/lib/models/event-timeline.js +28 -30
  212. package/lib/models/event-timeline.js.map +1 -1
  213. package/lib/models/event.js +182 -226
  214. package/lib/models/event.js.map +1 -1
  215. package/lib/models/invites-ignorer-types.js +4 -4
  216. package/lib/models/invites-ignorer-types.js.map +1 -1
  217. package/lib/models/invites-ignorer.js +159 -179
  218. package/lib/models/invites-ignorer.js.map +1 -1
  219. package/lib/models/poll.js +71 -81
  220. package/lib/models/poll.js.map +1 -1
  221. package/lib/models/profile-keys.js +2 -2
  222. package/lib/models/profile-keys.js.map +1 -1
  223. package/lib/models/read-receipt.js +40 -56
  224. package/lib/models/read-receipt.js.map +1 -1
  225. package/lib/models/related-relations.js.map +1 -1
  226. package/lib/models/relations-container.js +22 -23
  227. package/lib/models/relations-container.js.map +1 -1
  228. package/lib/models/relations.js +133 -159
  229. package/lib/models/relations.js.map +1 -1
  230. package/lib/models/room-member.js +24 -29
  231. package/lib/models/room-member.js.map +1 -1
  232. package/lib/models/room-receipts.js +29 -43
  233. package/lib/models/room-receipts.js.map +1 -1
  234. package/lib/models/room-retention.js +74 -83
  235. package/lib/models/room-retention.js.map +1 -1
  236. package/lib/models/room-state.js +143 -172
  237. package/lib/models/room-state.js.map +1 -1
  238. package/lib/models/room-sticky-events.d.ts +1 -0
  239. package/lib/models/room-sticky-events.d.ts.map +1 -1
  240. package/lib/models/room-sticky-events.js +45 -65
  241. package/lib/models/room-sticky-events.js.map +1 -1
  242. package/lib/models/room-summary.js.map +1 -1
  243. package/lib/models/room.d.ts.map +1 -1
  244. package/lib/models/room.js +765 -909
  245. package/lib/models/room.js.map +1 -1
  246. package/lib/models/search-result.js +5 -5
  247. package/lib/models/search-result.js.map +1 -1
  248. package/lib/models/thread.js +225 -285
  249. package/lib/models/thread.js.map +1 -1
  250. package/lib/models/typed-event-emitter.js +7 -18
  251. package/lib/models/typed-event-emitter.js.map +1 -1
  252. package/lib/models/user.js +8 -8
  253. package/lib/models/user.js.map +1 -1
  254. package/lib/oidc/authorize.js +208 -241
  255. package/lib/oidc/authorize.js.map +1 -1
  256. package/lib/oidc/discovery.js +23 -36
  257. package/lib/oidc/discovery.js.map +1 -1
  258. package/lib/oidc/error.js +1 -1
  259. package/lib/oidc/error.js.map +1 -1
  260. package/lib/oidc/index.js +1 -0
  261. package/lib/oidc/index.js.map +1 -1
  262. package/lib/oidc/register.js +60 -66
  263. package/lib/oidc/register.js.map +1 -1
  264. package/lib/oidc/tokenRefresher.js +77 -91
  265. package/lib/oidc/tokenRefresher.js.map +1 -1
  266. package/lib/oidc/validate.js +18 -18
  267. package/lib/oidc/validate.js.map +1 -1
  268. package/lib/pushprocessor.js +71 -82
  269. package/lib/pushprocessor.js.map +1 -1
  270. package/lib/randomstring.js +9 -9
  271. package/lib/randomstring.js.map +1 -1
  272. package/lib/realtime-callbacks.js +25 -28
  273. package/lib/realtime-callbacks.js.map +1 -1
  274. package/lib/receipt-accumulator.d.ts +2 -0
  275. package/lib/receipt-accumulator.d.ts.map +1 -1
  276. package/lib/receipt-accumulator.js +14 -22
  277. package/lib/receipt-accumulator.js.map +1 -1
  278. package/lib/rendezvous/MSC4108SignInWithQR.js +271 -302
  279. package/lib/rendezvous/MSC4108SignInWithQR.js.map +1 -1
  280. package/lib/rendezvous/RendezvousChannel.js +3 -1
  281. package/lib/rendezvous/RendezvousCode.js +3 -1
  282. package/lib/rendezvous/RendezvousError.js.map +1 -1
  283. package/lib/rendezvous/RendezvousFailureReason.js +2 -2
  284. package/lib/rendezvous/RendezvousFailureReason.js.map +1 -1
  285. package/lib/rendezvous/RendezvousIntent.js +1 -1
  286. package/lib/rendezvous/RendezvousIntent.js.map +1 -1
  287. package/lib/rendezvous/RendezvousTransport.js +3 -1
  288. package/lib/rendezvous/channels/MSC4108SecureChannel.js +123 -147
  289. package/lib/rendezvous/channels/MSC4108SecureChannel.js.map +1 -1
  290. package/lib/rendezvous/index.js +44 -69
  291. package/lib/rendezvous/index.js.map +1 -1
  292. package/lib/rendezvous/transports/MSC4108RendezvousSession.d.ts +1 -1
  293. package/lib/rendezvous/transports/MSC4108RendezvousSession.js +134 -152
  294. package/lib/rendezvous/transports/MSC4108RendezvousSession.js.map +1 -1
  295. package/lib/retentionPolicy.js +6 -9
  296. package/lib/retentionPolicy.js.map +1 -1
  297. package/lib/room-hierarchy.js +52 -60
  298. package/lib/room-hierarchy.js.map +1 -1
  299. package/lib/rust-crypto/CrossSigningIdentity.js +94 -104
  300. package/lib/rust-crypto/CrossSigningIdentity.js.map +1 -1
  301. package/lib/rust-crypto/DehydratedDeviceManager.js +157 -190
  302. package/lib/rust-crypto/DehydratedDeviceManager.js.map +1 -1
  303. package/lib/rust-crypto/KeyClaimManager.js +18 -22
  304. package/lib/rust-crypto/KeyClaimManager.js.map +1 -1
  305. package/lib/rust-crypto/OutgoingRequestProcessor.js +109 -139
  306. package/lib/rust-crypto/OutgoingRequestProcessor.js.map +1 -1
  307. package/lib/rust-crypto/OutgoingRequestsManager.js +66 -80
  308. package/lib/rust-crypto/OutgoingRequestsManager.js.map +1 -1
  309. package/lib/rust-crypto/PerSessionKeyBackupDownloader.d.ts +1 -1
  310. package/lib/rust-crypto/PerSessionKeyBackupDownloader.js +196 -224
  311. package/lib/rust-crypto/PerSessionKeyBackupDownloader.js.map +1 -1
  312. package/lib/rust-crypto/RoomEncryptor.js +127 -143
  313. package/lib/rust-crypto/RoomEncryptor.js.map +1 -1
  314. package/lib/rust-crypto/backup.js +453 -549
  315. package/lib/rust-crypto/backup.js.map +1 -1
  316. package/lib/rust-crypto/constants.js +1 -1
  317. package/lib/rust-crypto/constants.js.map +1 -1
  318. package/lib/rust-crypto/device-converter.js +15 -28
  319. package/lib/rust-crypto/device-converter.js.map +1 -1
  320. package/lib/rust-crypto/index.js +103 -116
  321. package/lib/rust-crypto/index.js.map +1 -1
  322. package/lib/rust-crypto/libolm_migration.js +303 -365
  323. package/lib/rust-crypto/libolm_migration.js.map +1 -1
  324. package/lib/rust-crypto/rust-crypto.d.ts +5 -1
  325. package/lib/rust-crypto/rust-crypto.d.ts.map +1 -1
  326. package/lib/rust-crypto/rust-crypto.js +1067 -1332
  327. package/lib/rust-crypto/rust-crypto.js.map +1 -1
  328. package/lib/rust-crypto/secret-storage.js +12 -25
  329. package/lib/rust-crypto/secret-storage.js.map +1 -1
  330. package/lib/rust-crypto/verification.js +137 -189
  331. package/lib/rust-crypto/verification.js.map +1 -1
  332. package/lib/scheduler.js +44 -19
  333. package/lib/scheduler.js.map +1 -1
  334. package/lib/secret-storage.js +179 -213
  335. package/lib/secret-storage.js.map +1 -1
  336. package/lib/serverCapabilities.js +6 -9
  337. package/lib/serverCapabilities.js.map +1 -1
  338. package/lib/service-types.js +1 -1
  339. package/lib/service-types.js.map +1 -1
  340. package/lib/sliding-sync-sdk.d.ts.map +1 -1
  341. package/lib/sliding-sync-sdk.js +368 -424
  342. package/lib/sliding-sync-sdk.js.map +1 -1
  343. package/lib/sliding-sync.js +135 -171
  344. package/lib/sliding-sync.js.map +1 -1
  345. package/lib/store/index.js +3 -1
  346. package/lib/store/indexeddb-backend.js +3 -1
  347. package/lib/store/indexeddb-local-backend.js +194 -253
  348. package/lib/store/indexeddb-local-backend.js.map +1 -1
  349. package/lib/store/indexeddb-remote-backend.js +33 -63
  350. package/lib/store/indexeddb-remote-backend.js.map +1 -1
  351. package/lib/store/indexeddb-store-worker.js +22 -23
  352. package/lib/store/indexeddb-store-worker.js.map +1 -1
  353. package/lib/store/indexeddb.js +44 -71
  354. package/lib/store/indexeddb.js.map +1 -1
  355. package/lib/store/local-storage-events-emitter.js +2 -2
  356. package/lib/store/local-storage-events-emitter.js.map +1 -1
  357. package/lib/store/memory.js +34 -57
  358. package/lib/store/memory.js.map +1 -1
  359. package/lib/store/stub.js +22 -35
  360. package/lib/store/stub.js.map +1 -1
  361. package/lib/sync-accumulator.js +54 -66
  362. package/lib/sync-accumulator.js.map +1 -1
  363. package/lib/sync.d.ts.map +1 -1
  364. package/lib/sync.js +905 -998
  365. package/lib/sync.js.map +1 -1
  366. package/lib/testing.js +63 -105
  367. package/lib/testing.js.map +1 -1
  368. package/lib/thread-utils.js +1 -4
  369. package/lib/thread-utils.js.map +1 -1
  370. package/lib/timeline-window.js +89 -102
  371. package/lib/timeline-window.js.map +1 -1
  372. package/lib/types.js +1 -1
  373. package/lib/types.js.map +1 -1
  374. package/lib/utils/decryptAESSecretStorageItem.js +14 -25
  375. package/lib/utils/decryptAESSecretStorageItem.js.map +1 -1
  376. package/lib/utils/encryptAESSecretStorageItem.js +27 -38
  377. package/lib/utils/encryptAESSecretStorageItem.js.map +1 -1
  378. package/lib/utils/internal/deriveKeys.js +25 -32
  379. package/lib/utils/internal/deriveKeys.js.map +1 -1
  380. package/lib/utils/roomVersion.js +1 -1
  381. package/lib/utils/roomVersion.js.map +1 -1
  382. package/lib/utils.js +83 -135
  383. package/lib/utils.js.map +1 -1
  384. package/lib/version-support.js +3 -3
  385. package/lib/version-support.js.map +1 -1
  386. package/lib/webrtc/audioContext.js +5 -6
  387. package/lib/webrtc/audioContext.js.map +1 -1
  388. package/lib/webrtc/call.js +1081 -1250
  389. package/lib/webrtc/call.js.map +1 -1
  390. package/lib/webrtc/callEventHandler.js +202 -214
  391. package/lib/webrtc/callEventHandler.js.map +1 -1
  392. package/lib/webrtc/callEventTypes.js +2 -2
  393. package/lib/webrtc/callEventTypes.js.map +1 -1
  394. package/lib/webrtc/callFeed.js +18 -20
  395. package/lib/webrtc/callFeed.js.map +1 -1
  396. package/lib/webrtc/groupCall.js +513 -602
  397. package/lib/webrtc/groupCall.js.map +1 -1
  398. package/lib/webrtc/groupCallEventHandler.js +59 -62
  399. package/lib/webrtc/groupCallEventHandler.js.map +1 -1
  400. package/lib/webrtc/mediaHandler.js +198 -232
  401. package/lib/webrtc/mediaHandler.js.map +1 -1
  402. package/lib/webrtc/stats/callFeedStatsReporter.js +16 -20
  403. package/lib/webrtc/stats/callFeedStatsReporter.js.map +1 -1
  404. package/lib/webrtc/stats/callStatsReportGatherer.js +67 -75
  405. package/lib/webrtc/stats/callStatsReportGatherer.js.map +1 -1
  406. package/lib/webrtc/stats/callStatsReportSummary.js +3 -1
  407. package/lib/webrtc/stats/connectionStats.js.map +1 -1
  408. package/lib/webrtc/stats/connectionStatsBuilder.js +2 -2
  409. package/lib/webrtc/stats/connectionStatsBuilder.js.map +1 -1
  410. package/lib/webrtc/stats/connectionStatsReportBuilder.js +20 -24
  411. package/lib/webrtc/stats/connectionStatsReportBuilder.js.map +1 -1
  412. package/lib/webrtc/stats/groupCallStats.js +6 -8
  413. package/lib/webrtc/stats/groupCallStats.js.map +1 -1
  414. package/lib/webrtc/stats/media/mediaSsrcHandler.js +7 -8
  415. package/lib/webrtc/stats/media/mediaSsrcHandler.js.map +1 -1
  416. package/lib/webrtc/stats/media/mediaTrackHandler.js +7 -9
  417. package/lib/webrtc/stats/media/mediaTrackHandler.js.map +1 -1
  418. package/lib/webrtc/stats/media/mediaTrackStats.js +3 -3
  419. package/lib/webrtc/stats/media/mediaTrackStats.js.map +1 -1
  420. package/lib/webrtc/stats/media/mediaTrackStatsHandler.js +7 -7
  421. package/lib/webrtc/stats/media/mediaTrackStatsHandler.js.map +1 -1
  422. package/lib/webrtc/stats/statsReport.js +1 -1
  423. package/lib/webrtc/stats/statsReport.js.map +1 -1
  424. package/lib/webrtc/stats/statsReportEmitter.js.map +1 -1
  425. package/lib/webrtc/stats/summaryStatsReportGatherer.js +14 -14
  426. package/lib/webrtc/stats/summaryStatsReportGatherer.js.map +1 -1
  427. package/lib/webrtc/stats/trackStatsBuilder.js +32 -34
  428. package/lib/webrtc/stats/trackStatsBuilder.js.map +1 -1
  429. package/lib/webrtc/stats/transportStats.js +3 -1
  430. package/lib/webrtc/stats/transportStatsBuilder.js +9 -9
  431. package/lib/webrtc/stats/transportStatsBuilder.js.map +1 -1
  432. package/lib/webrtc/stats/valueFormatter.js +1 -1
  433. package/lib/webrtc/stats/valueFormatter.js.map +1 -1
  434. package/package.json +18 -33
  435. package/src/@types/global.d.ts +2 -2
  436. package/src/ToDeviceMessageQueue.ts +2 -2
  437. package/src/browser-index.ts +4 -4
  438. package/src/client.ts +15 -20
  439. package/src/crypto-api/index.ts +17 -6
  440. package/src/embedded.ts +4 -6
  441. package/src/filter-component.ts +1 -0
  442. package/src/http-api/utils.ts +1 -1
  443. package/src/interactive-auth.ts +11 -5
  444. package/src/matrixrtc/LivekitTransport.ts +1 -1
  445. package/src/matrixrtc/MatrixRTCSession.ts +1 -1
  446. package/src/models/MSC3089Branch.ts +1 -1
  447. package/src/models/room-sticky-events.ts +1 -0
  448. package/src/models/room.ts +9 -11
  449. package/src/receipt-accumulator.ts +2 -0
  450. package/src/rendezvous/index.ts +1 -1
  451. package/src/rendezvous/transports/MSC4108RendezvousSession.ts +2 -2
  452. package/src/rust-crypto/PerSessionKeyBackupDownloader.ts +1 -1
  453. package/src/rust-crypto/index.ts +6 -6
  454. package/src/rust-crypto/rust-crypto.ts +31 -7
  455. package/src/rust-crypto/verification.ts +1 -1
  456. package/src/sliding-sync-sdk.ts +5 -7
  457. package/src/store/indexeddb-local-backend.ts +3 -3
  458. package/src/sync.ts +6 -8
package/lib/utils.js CHANGED
@@ -1,8 +1,4 @@
1
- import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
2
- import _defineProperty from "@babel/runtime/helpers/defineProperty";
3
- import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
4
- function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
5
- function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
1
+ import _objectSpread from "@babel/runtime/helpers/objectSpread2";
6
2
  /*
7
3
  Copyright 2015, 2016, 2019, 2023 The Matrix.org Foundation C.I.C.
8
4
 
@@ -27,7 +23,7 @@ import unhomoglyph from "unhomoglyph";
27
23
  import promiseRetry from "p-retry";
28
24
  import { M_TIMESTAMP } from "./@types/location.js";
29
25
  import { ReceiptType } from "./@types/read_receipts.js";
30
- var interns = new Map();
26
+ const interns = new Map();
31
27
 
32
28
  /**
33
29
  * Internalises a string, reusing a known pointer or storing the pointer
@@ -59,24 +55,17 @@ export function internaliseString(str) {
59
55
  * @returns The encoded string e.g. foo=bar&baz=taz
60
56
  */
61
57
  export function encodeParams(params, urlSearchParams) {
62
- var searchParams = urlSearchParams !== null && urlSearchParams !== void 0 ? urlSearchParams : new URLSearchParams();
63
- var _loop = function _loop() {
64
- _ref2 = _slicedToArray(_ref3, 2);
65
- var key = _ref2[0];
66
- var val = _ref2[1];
67
- if (val !== undefined && val !== null) {
68
- if (Array.isArray(val)) {
69
- val.forEach(v => {
70
- searchParams.append(key, String(v));
71
- });
72
- } else {
73
- searchParams.append(key, String(val));
74
- }
58
+ const searchParams = urlSearchParams ?? new URLSearchParams();
59
+ for (const [key, val] of Object.entries(params)) {
60
+ if (val !== undefined && val !== null) {
61
+ if (Array.isArray(val)) {
62
+ val.forEach(v => {
63
+ searchParams.append(key, String(v));
64
+ });
65
+ } else {
66
+ searchParams.append(key, String(val));
75
67
  }
76
- },
77
- _ref2;
78
- for (var _ref3 of Object.entries(params)) {
79
- _loop();
68
+ }
80
69
  }
81
70
  return searchParams;
82
71
  }
@@ -84,7 +73,7 @@ export function encodeParams(params, urlSearchParams) {
84
73
  * Replace a stable parameter with the unstable naming for params
85
74
  */
86
75
  export function replaceParam(stable, unstable, dict) {
87
- var result = _objectSpread(_objectSpread({}, dict), {}, {
76
+ const result = _objectSpread(_objectSpread({}, dict), {}, {
88
77
  [unstable]: dict[stable]
89
78
  });
90
79
  delete result[stable];
@@ -101,10 +90,10 @@ export function replaceParam(stable, unstable, dict) {
101
90
  * for native web compatibility
102
91
  */
103
92
  export function decodeParams(query) {
104
- var o = {};
105
- var params = new URLSearchParams(query);
106
- for (var key of params.keys()) {
107
- var val = params.getAll(key);
93
+ const o = {};
94
+ const params = new URLSearchParams(query);
95
+ for (const key of params.keys()) {
96
+ const val = params.getAll(key);
108
97
  o[key] = val.length === 1 ? val[0] : val;
109
98
  }
110
99
  return o;
@@ -119,11 +108,11 @@ export function decodeParams(query) {
119
108
  * @returns The result of replacing all template variables e.g. '/foo/baz'.
120
109
  */
121
110
  export function encodeUri(pathTemplate, variables) {
122
- for (var key in variables) {
111
+ for (const key in variables) {
123
112
  if (!variables.hasOwnProperty(key)) {
124
113
  continue;
125
114
  }
126
- var value = variables[key];
115
+ const value = variables[key];
127
116
  if (value === undefined || value === null) {
128
117
  continue;
129
118
  }
@@ -143,7 +132,7 @@ export function encodeUri(pathTemplate, variables) {
143
132
  * @returns True if an element was removed.
144
133
  */
145
134
  export function removeElement(array, fn, reverse) {
146
- var i;
135
+ let i;
147
136
  if (reverse) {
148
137
  for (i = array.length - 1; i >= 0; i--) {
149
138
  if (fn(array[i], i, array)) {
@@ -179,7 +168,7 @@ export function isFunction(value) {
179
168
  */
180
169
  // note using 'keys' here would shadow the 'keys' function defined above
181
170
  export function checkObjectHasKeys(obj, keys) {
182
- for (var key of keys) {
171
+ for (const key of keys) {
183
172
  if (!obj.hasOwnProperty(key)) {
184
173
  throw new Error("Missing required key: " + key);
185
174
  }
@@ -252,22 +241,22 @@ export function deepCompare(x, y) {
252
241
  if (x.length !== y.length) {
253
242
  return false;
254
243
  }
255
- for (var i = 0; i < x.length; i++) {
244
+ for (let i = 0; i < x.length; i++) {
256
245
  if (!deepCompare(x[i], y[i])) {
257
246
  return false;
258
247
  }
259
248
  }
260
249
  } else {
261
250
  // check that all of y's direct keys are in x
262
- for (var p in y) {
251
+ for (const p in y) {
263
252
  if (y.hasOwnProperty(p) !== x.hasOwnProperty(p)) {
264
253
  return false;
265
254
  }
266
255
  }
267
256
 
268
257
  // finally, compare each of x's keys with y
269
- for (var _p in x) {
270
- if (y.hasOwnProperty(_p) !== x.hasOwnProperty(_p) || !deepCompare(x[_p], y[_p])) {
258
+ for (const p in x) {
259
+ if (y.hasOwnProperty(p) !== x.hasOwnProperty(p) || !deepCompare(x[p], y[p])) {
271
260
  return false;
272
261
  }
273
262
  }
@@ -289,11 +278,8 @@ export function deepSortedObjectEntries(obj) {
289
278
 
290
279
  // Apparently these are object types...
291
280
  if (obj === null || obj === undefined || Array.isArray(obj)) return obj;
292
- var pairs = [];
293
- for (var _ref6 of Object.entries(obj)) {
294
- var _ref5 = _slicedToArray(_ref6, 2);
295
- var k = _ref5[0];
296
- var v = _ref5[1];
281
+ const pairs = [];
282
+ for (const [k, v] of Object.entries(obj)) {
297
283
  pairs.push([k, deepSortedObjectEntries(v)]);
298
284
  }
299
285
 
@@ -355,7 +341,7 @@ export function normalize(str) {
355
341
  // Zero width no-break space (BOM) U+FEFF
356
342
  // Blank/invisible characters (U2800, U2062-U2063)
357
343
  // eslint-disable-next-line no-misleading-character-class
358
- var removeHiddenCharsRegex = /[\u2000-\u200F\u202A-\u202F\u0300-\u036F\uFEFF\u061C\u2800\u2062-\u2063\s]/g;
344
+ const removeHiddenCharsRegex = /[\u2000-\u200F\u202A-\u202F\u0300-\u036F\uFEFF\u061C\u2800\u2062-\u2063\s]/g;
359
345
  export function escapeRegExp(string) {
360
346
  return string.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
361
347
  }
@@ -370,7 +356,7 @@ export function globToRegexp(glob) {
370
356
  return escapeRegExp(glob).replace(/\\\*/g, ".*").replace(/\?/g, ".");
371
357
  }
372
358
  export function ensureNoTrailingSlash(url) {
373
- if (url !== null && url !== void 0 && url.endsWith("/")) {
359
+ if (url?.endsWith("/")) {
374
360
  return url.slice(0, -1);
375
361
  } else {
376
362
  return url;
@@ -393,8 +379,14 @@ export function sleep(ms, value) {
393
379
  * @param name - The name of the operation.
394
380
  * @param block - The block to execute.
395
381
  */
396
- export function logDuration(_x, _x2, _x3) {
397
- return _logDuration.apply(this, arguments);
382
+ export async function logDuration(logger, name, block) {
383
+ const start = Date.now();
384
+ try {
385
+ return await block();
386
+ } finally {
387
+ const end = Date.now();
388
+ logger.debug(`[Perf]: ${name} took ${end - start}ms`);
389
+ }
398
390
  }
399
391
 
400
392
  /**
@@ -404,25 +396,13 @@ export function logDuration(_x, _x2, _x3) {
404
396
  * @param name - The name of the operation.
405
397
  * @param block - The block to execute.
406
398
  */
407
- function _logDuration() {
408
- _logDuration = _asyncToGenerator(function* (logger, name, block) {
409
- var start = Date.now();
410
- try {
411
- return yield block();
412
- } finally {
413
- var end = Date.now();
414
- logger.debug("[Perf]: ".concat(name, " took ").concat(end - start, "ms"));
415
- }
416
- });
417
- return _logDuration.apply(this, arguments);
418
- }
419
399
  export function logDurationSync(logger, name, block) {
420
- var start = Date.now();
400
+ const start = Date.now();
421
401
  try {
422
402
  return block();
423
403
  } finally {
424
- var end = Date.now();
425
- logger.debug("[Perf]: ".concat(name, " took ").concat(end - start, "ms"));
404
+ const end = Date.now();
405
+ logger.debug(`[Perf]: ${name} took ${end - start}ms`);
426
406
  }
427
407
  }
428
408
 
@@ -438,25 +418,23 @@ export function immediate() {
438
418
  export function isNullOrUndefined(val) {
439
419
  return val === null || val === undefined;
440
420
  }
441
- export function promiseMapSeries(_x4, _x5) {
442
- return _promiseMapSeries.apply(this, arguments);
443
- }
444
- function _promiseMapSeries() {
445
- _promiseMapSeries = _asyncToGenerator(function* (promises, fn // if async we don't care about the type as we only await resolution
446
- ) {
447
- for (var o of promises) {
448
- yield fn(yield o);
449
- }
450
- });
451
- return _promiseMapSeries.apply(this, arguments);
421
+ export async function promiseMapSeries(promises, fn // if async we don't care about the type as we only await resolution
422
+ ) {
423
+ for (const o of promises) {
424
+ await fn(await o);
425
+ }
452
426
  }
453
427
  export function promiseTry(fn) {
454
428
  return Promise.resolve(fn());
455
429
  }
456
430
 
457
431
  // Creates and awaits all promises, running no more than `chunkSize` at the same time
458
- export function chunkPromises(_x6, _x7) {
459
- return _chunkPromises.apply(this, arguments);
432
+ export async function chunkPromises(fns, chunkSize) {
433
+ const results = [];
434
+ for (let i = 0; i < fns.length; i += chunkSize) {
435
+ results.push(...(await Promise.all(fns.slice(i, i + chunkSize).map(fn => fn()))));
436
+ }
437
+ return results;
460
438
  }
461
439
 
462
440
  /**
@@ -470,25 +448,14 @@ export function chunkPromises(_x6, _x7) {
470
448
  * retrying will ba aborted if this return false.
471
449
  * @returns The promise for the retried operation.
472
450
  */
473
- function _chunkPromises() {
474
- _chunkPromises = _asyncToGenerator(function* (fns, chunkSize) {
475
- var results = [];
476
- for (var i = 0; i < fns.length; i += chunkSize) {
477
- results.push(...(yield Promise.all(fns.slice(i, i + chunkSize).map(fn => fn()))));
478
- }
479
- return results;
480
- });
481
- return _chunkPromises.apply(this, arguments);
482
- }
483
451
  export function simpleRetryOperation(promiseFn, shouldRetry) {
484
452
  return promiseRetry(attempt => {
485
453
  return promiseFn(attempt);
486
454
  }, {
487
455
  retries: Infinity,
488
- shouldRetry: shouldRetry ? _ref7 => {
489
- var error = _ref7.error;
490
- return shouldRetry(error);
491
- } : undefined,
456
+ shouldRetry: shouldRetry ? ({
457
+ error
458
+ }) => shouldRetry(error) : undefined,
492
459
  factor: 2,
493
460
  minTimeout: 3000,
494
461
  // ms
@@ -505,9 +472,9 @@ export function simpleRetryOperation(promiseFn, shouldRetry) {
505
472
  * The default alphabet used by string averaging in this SDK. This matches
506
473
  * all usefully printable ASCII characters (0x20-0x7E, inclusive).
507
474
  */
508
- export var DEFAULT_ALPHABET = (() => {
509
- var str = "";
510
- for (var c = 0x20; c <= 0x7e; c++) {
475
+ export const DEFAULT_ALPHABET = (() => {
476
+ let str = "";
477
+ for (let c = 0x20; c <= 0x7e; c++) {
511
478
  str += String.fromCharCode(c);
512
479
  }
513
480
  return str;
@@ -523,8 +490,7 @@ export var DEFAULT_ALPHABET = (() => {
523
490
  * @param alphabet - The alphabet to use as a single string.
524
491
  * @returns The padded string.
525
492
  */
526
- export function alphabetPad(s, n) {
527
- var alphabet = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : DEFAULT_ALPHABET;
493
+ export function alphabetPad(s, n, alphabet = DEFAULT_ALPHABET) {
528
494
  return s.padEnd(n, alphabet[0]);
529
495
  }
530
496
 
@@ -536,21 +502,19 @@ export function alphabetPad(s, n) {
536
502
  * @param alphabet - The alphabet to use as a single string.
537
503
  * @returns The baseN number encoded as a string from the alphabet.
538
504
  */
539
- export function baseToString(n) {
540
- var alphabet = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : DEFAULT_ALPHABET;
505
+ export function baseToString(n, alphabet = DEFAULT_ALPHABET) {
541
506
  // Developer note: the stringToBase() function offsets the character set by 1 so that repeated
542
507
  // characters (ie: "aaaaaa" in a..z) don't come out as zero. We have to reverse this here as
543
508
  // otherwise we'll be wrong in our conversion. Undoing a +1 before an exponent isn't very fun
544
509
  // though, so we rely on a lengthy amount of `x - 1` and integer division rules to reach a
545
510
  // sane state. This also means we have to do rollover detection: see below.
546
511
 
547
- var len = BigInt(alphabet.length);
512
+ const len = BigInt(alphabet.length);
548
513
  if (n <= len) {
549
- var _alphabet;
550
- return (_alphabet = alphabet[Number(n) - 1]) !== null && _alphabet !== void 0 ? _alphabet : "";
514
+ return alphabet[Number(n) - 1] ?? "";
551
515
  }
552
- var d = n / len;
553
- var r = Number(n % len) - 1;
516
+ let d = n / len;
517
+ let r = Number(n % len) - 1;
554
518
 
555
519
  // Rollover detection: if the remainder is negative, it means that the string needs
556
520
  // to roll over by 1 character downwards (ie: in a..z, the previous to "aaa" would be
@@ -570,9 +534,8 @@ export function baseToString(n) {
570
534
  * @param alphabet - The alphabet to use as a single string.
571
535
  * @returns The baseN number.
572
536
  */
573
- export function stringToBase(s) {
574
- var alphabet = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : DEFAULT_ALPHABET;
575
- var len = BigInt(alphabet.length);
537
+ export function stringToBase(s, alphabet = DEFAULT_ALPHABET) {
538
+ const len = BigInt(alphabet.length);
576
539
 
577
540
  // In our conversion to baseN we do a couple performance optimizations to avoid using
578
541
  // excess CPU and such. To create baseN numbers, the input string needs to be reversed
@@ -586,9 +549,9 @@ export function stringToBase(s) {
586
549
  // Developer caution: we carefully cast to BigInt here to avoid losing precision. We cannot
587
550
  // rely on Math.pow() (for example) to be capable of handling our insane numbers.
588
551
 
589
- var result = BigInt(0);
590
- for (var i = s.length - 1, j = BigInt(0); i >= 0; i--, j++) {
591
- var charIndex = s.charCodeAt(i) - alphabet.charCodeAt(0);
552
+ let result = BigInt(0);
553
+ for (let i = s.length - 1, j = BigInt(0); i >= 0; i--, j++) {
554
+ const charIndex = s.charCodeAt(i) - alphabet.charCodeAt(0);
592
555
 
593
556
  // We add 1 to the char index to offset the whole numbering scheme. We unpack this in
594
557
  // the baseToString() function.
@@ -606,12 +569,11 @@ export function stringToBase(s) {
606
569
  * @param alphabet - The alphabet to use as a single string.
607
570
  * @returns The midpoint between the strings, as a string.
608
571
  */
609
- export function averageBetweenStrings(a, b) {
610
- var alphabet = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : DEFAULT_ALPHABET;
611
- var padN = Math.max(a.length, b.length);
612
- var baseA = stringToBase(alphabetPad(a, padN, alphabet), alphabet);
613
- var baseB = stringToBase(alphabetPad(b, padN, alphabet), alphabet);
614
- var avg = (baseA + baseB) / BigInt(2);
572
+ export function averageBetweenStrings(a, b, alphabet = DEFAULT_ALPHABET) {
573
+ const padN = Math.max(a.length, b.length);
574
+ const baseA = stringToBase(alphabetPad(a, padN, alphabet), alphabet);
575
+ const baseB = stringToBase(alphabetPad(b, padN, alphabet), alphabet);
576
+ const avg = (baseA + baseB) / BigInt(2);
615
577
 
616
578
  // Detect integer division conflicts. This happens when two numbers are divided too close so
617
579
  // we lose a .5 precision. We need to add a padding character in these cases.
@@ -629,8 +591,7 @@ export function averageBetweenStrings(a, b) {
629
591
  * @param alphabet - The alphabet to use as a single string.
630
592
  * @returns The string which follows the input string.
631
593
  */
632
- export function nextString(s) {
633
- var alphabet = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : DEFAULT_ALPHABET;
594
+ export function nextString(s, alphabet = DEFAULT_ALPHABET) {
634
595
  return baseToString(stringToBase(s, alphabet) + BigInt(1), alphabet);
635
596
  }
636
597
 
@@ -642,8 +603,7 @@ export function nextString(s) {
642
603
  * @param alphabet - The alphabet to use as a single string.
643
604
  * @returns The string which precedes the input string.
644
605
  */
645
- export function prevString(s) {
646
- var alphabet = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : DEFAULT_ALPHABET;
606
+ export function prevString(s, alphabet = DEFAULT_ALPHABET) {
647
607
  return baseToString(stringToBase(s, alphabet) - BigInt(1), alphabet);
648
608
  }
649
609
 
@@ -672,12 +632,8 @@ export function lexicographicCompare(a, b) {
672
632
  *
673
633
  * @returns the target object
674
634
  */
675
- export function recursivelyAssign(target, source) {
676
- var ignoreNullish = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
677
- for (var _ref0 of Object.entries(source)) {
678
- var _ref9 = _slicedToArray(_ref0, 2);
679
- var sourceKey = _ref9[0];
680
- var sourceValue = _ref9[1];
635
+ export function recursivelyAssign(target, source, ignoreNullish = false) {
636
+ for (const [sourceKey, sourceValue] of Object.entries(source)) {
681
637
  if (target[sourceKey] instanceof Object && sourceValue) {
682
638
  recursivelyAssign(target[sourceKey], sourceValue);
683
639
  continue;
@@ -690,8 +646,7 @@ export function recursivelyAssign(target, source) {
690
646
  return target;
691
647
  }
692
648
  function getContentTimestampWithFallback(event) {
693
- var _M_TIMESTAMP$findIn;
694
- return (_M_TIMESTAMP$findIn = M_TIMESTAMP.findIn(event.getContent())) !== null && _M_TIMESTAMP$findIn !== void 0 ? _M_TIMESTAMP$findIn : -1;
649
+ return M_TIMESTAMP.findIn(event.getContent()) ?? -1;
695
650
  }
696
651
 
697
652
  /**
@@ -709,14 +664,10 @@ export function isSupportedReceiptType(receiptType) {
709
664
  * Determines whether two maps are equal.
710
665
  * @param eq - The equivalence relation to compare values by. Defaults to strict equality.
711
666
  */
712
- export function mapsEqual(x, y) {
713
- var eq = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : (v1, v2) => v1 === v2;
667
+ export function mapsEqual(x, y, eq = (v1, v2) => v1 === v2) {
714
668
  if (x.size !== y.size) return false;
715
- for (var _ref11 of x) {
716
- var _ref10 = _slicedToArray(_ref11, 2);
717
- var k = _ref10[0];
718
- var v1 = _ref10[1];
719
- var v2 = y.get(k);
669
+ for (const [k, v1] of x) {
670
+ const v2 = y.get(k);
720
671
  if (v2 === undefined || !eq(v1, v2)) return false;
721
672
  }
722
673
  return true;
@@ -738,11 +689,8 @@ function processMapToObjectValue(value) {
738
689
  * Also supports sub-lists of Maps.
739
690
  */
740
691
  export function recursiveMapToObject(map) {
741
- var targetMap = new Map();
742
- for (var _ref14 of map) {
743
- var _ref13 = _slicedToArray(_ref14, 2);
744
- var key = _ref13[0];
745
- var value = _ref13[1];
692
+ const targetMap = new Map();
693
+ for (const [key, value] of map) {
746
694
  targetMap.set(key, processMapToObjectValue(value));
747
695
  }
748
696
  return Object.fromEntries(targetMap.entries());