matrix-js-sdk 41.5.0 → 41.6.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 (204) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/lib/ReEmitter.js +1 -1
  3. package/lib/ReEmitter.js.map +1 -1
  4. package/lib/ToDeviceMessageQueue.js +2 -2
  5. package/lib/ToDeviceMessageQueue.js.map +1 -1
  6. package/lib/autodiscovery.js +0 -1
  7. package/lib/autodiscovery.js.map +1 -1
  8. package/lib/client.js +112 -165
  9. package/lib/client.js.map +1 -1
  10. package/lib/common-crypto/CryptoBackend.js +0 -2
  11. package/lib/common-crypto/CryptoBackend.js.map +1 -1
  12. package/lib/content-helpers.js +3 -5
  13. package/lib/content-helpers.js.map +1 -1
  14. package/lib/content-repo.js +7 -1
  15. package/lib/content-repo.js.map +1 -1
  16. package/lib/crypto/store/indexeddb-crypto-store-backend.js +9 -11
  17. package/lib/crypto/store/indexeddb-crypto-store-backend.js.map +1 -1
  18. package/lib/crypto/store/indexeddb-crypto-store.js +0 -2
  19. package/lib/crypto/store/indexeddb-crypto-store.js.map +1 -1
  20. package/lib/crypto/store/localStorage-crypto-store.js +11 -9
  21. package/lib/crypto/store/localStorage-crypto-store.js.map +1 -1
  22. package/lib/crypto/store/memory-crypto-store.js +11 -9
  23. package/lib/crypto/store/memory-crypto-store.js.map +1 -1
  24. package/lib/crypto-api/index.js +58 -58
  25. package/lib/crypto-api/index.js.map +1 -1
  26. package/lib/embedded.js +29 -45
  27. package/lib/embedded.js.map +1 -1
  28. package/lib/extensible_events_v1/MessageEvent.js +15 -15
  29. package/lib/extensible_events_v1/MessageEvent.js.map +1 -1
  30. package/lib/extensible_events_v1/PollEndEvent.js +8 -8
  31. package/lib/extensible_events_v1/PollEndEvent.js.map +1 -1
  32. package/lib/extensible_events_v1/PollResponseEvent.js +0 -1
  33. package/lib/extensible_events_v1/PollResponseEvent.js.map +1 -1
  34. package/lib/extensible_events_v1/PollStartEvent.js +28 -28
  35. package/lib/extensible_events_v1/PollStartEvent.js.map +1 -1
  36. package/lib/feature.js +5 -1
  37. package/lib/feature.js.map +1 -1
  38. package/lib/filter-component.js +4 -1
  39. package/lib/filter-component.js.map +1 -1
  40. package/lib/filter.js +1 -3
  41. package/lib/filter.js.map +1 -1
  42. package/lib/http-api/errors.js +20 -16
  43. package/lib/http-api/errors.js.map +1 -1
  44. package/lib/http-api/fetch.js +4 -6
  45. package/lib/http-api/fetch.js.map +1 -1
  46. package/lib/http-api/refresh.js +10 -12
  47. package/lib/http-api/refresh.js.map +1 -1
  48. package/lib/interactive-auth.js +1 -11
  49. package/lib/interactive-auth.js.map +1 -1
  50. package/lib/logger.js +0 -2
  51. package/lib/logger.js.map +1 -1
  52. package/lib/matrixrtc/CallMembership.js +43 -57
  53. package/lib/matrixrtc/CallMembership.js.map +1 -1
  54. package/lib/matrixrtc/MatrixRTCSession.js +19 -24
  55. package/lib/matrixrtc/MatrixRTCSession.js.map +1 -1
  56. package/lib/matrixrtc/MatrixRTCSessionManager.js +2 -3
  57. package/lib/matrixrtc/MatrixRTCSessionManager.js.map +1 -1
  58. package/lib/matrixrtc/MembershipManager.js +23 -30
  59. package/lib/matrixrtc/MembershipManager.js.map +1 -1
  60. package/lib/matrixrtc/MembershipManagerActionScheduler.js +1 -2
  61. package/lib/matrixrtc/MembershipManagerActionScheduler.js.map +1 -1
  62. package/lib/matrixrtc/RTCEncryptionManager.js +8 -11
  63. package/lib/matrixrtc/RTCEncryptionManager.js.map +1 -1
  64. package/lib/matrixrtc/ToDeviceKeyTransport.js +4 -4
  65. package/lib/matrixrtc/ToDeviceKeyTransport.js.map +1 -1
  66. package/lib/matrixrtc/utils.js +7 -1
  67. package/lib/matrixrtc/utils.js.map +1 -1
  68. package/lib/models/MSC3089TreeSpace.js +5 -7
  69. package/lib/models/MSC3089TreeSpace.js.map +1 -1
  70. package/lib/models/beacon.js +5 -11
  71. package/lib/models/beacon.js.map +1 -1
  72. package/lib/models/device.js +0 -7
  73. package/lib/models/device.js.map +1 -1
  74. package/lib/models/event-context.js +1 -2
  75. package/lib/models/event-context.js.map +1 -1
  76. package/lib/models/event-timeline-set.js +16 -26
  77. package/lib/models/event-timeline-set.js.map +1 -1
  78. package/lib/models/event-timeline.js +8 -15
  79. package/lib/models/event-timeline.js.map +1 -1
  80. package/lib/models/event.js +20 -37
  81. package/lib/models/event.js.map +1 -1
  82. package/lib/models/invites-ignorer.js +8 -12
  83. package/lib/models/invites-ignorer.js.map +1 -1
  84. package/lib/models/poll.js +7 -13
  85. package/lib/models/poll.js.map +1 -1
  86. package/lib/models/read-receipt.js +8 -4
  87. package/lib/models/read-receipt.js.map +1 -1
  88. package/lib/models/related-relations.js +0 -2
  89. package/lib/models/related-relations.js.map +1 -1
  90. package/lib/models/relations-container.js +4 -6
  91. package/lib/models/relations-container.js.map +1 -1
  92. package/lib/models/relations.js +7 -10
  93. package/lib/models/relations.js.map +1 -1
  94. package/lib/models/room-member.js +2 -24
  95. package/lib/models/room-member.js.map +1 -1
  96. package/lib/models/room-receipts.js +25 -22
  97. package/lib/models/room-receipts.js.map +1 -1
  98. package/lib/models/room-state.js +2 -2
  99. package/lib/models/room-state.js.map +1 -1
  100. package/lib/models/room-sticky-events.js +20 -5
  101. package/lib/models/room-sticky-events.js.map +1 -1
  102. package/lib/models/room.js +82 -105
  103. package/lib/models/room.js.map +1 -1
  104. package/lib/models/thread.js +12 -57
  105. package/lib/models/thread.js.map +1 -1
  106. package/lib/models/user.js +1 -20
  107. package/lib/models/user.js.map +1 -1
  108. package/lib/oidc/authorize.js +23 -32
  109. package/lib/oidc/authorize.js.map +1 -1
  110. package/lib/oidc/tokenRefresher.js +8 -11
  111. package/lib/oidc/tokenRefresher.js.map +1 -1
  112. package/lib/pushprocessor.js +8 -5
  113. package/lib/pushprocessor.js.map +1 -1
  114. package/lib/receipt-accumulator.js +12 -3
  115. package/lib/receipt-accumulator.js.map +1 -1
  116. package/lib/rendezvous/MSC4108SignInWithQR.d.ts.map +1 -1
  117. package/lib/rendezvous/MSC4108SignInWithQR.js +10 -23
  118. package/lib/rendezvous/MSC4108SignInWithQR.js.map +1 -1
  119. package/lib/rendezvous/channels/MSC4108SecureChannel.js +5 -10
  120. package/lib/rendezvous/channels/MSC4108SecureChannel.js.map +1 -1
  121. package/lib/rendezvous/transports/MSC4108RendezvousSession.js +5 -15
  122. package/lib/rendezvous/transports/MSC4108RendezvousSession.js.map +1 -1
  123. package/lib/room-hierarchy.js +7 -12
  124. package/lib/room-hierarchy.js.map +1 -1
  125. package/lib/rust-crypto/DehydratedDeviceManager.js +2 -3
  126. package/lib/rust-crypto/DehydratedDeviceManager.js.map +1 -1
  127. package/lib/rust-crypto/KeyClaimManager.js +1 -2
  128. package/lib/rust-crypto/KeyClaimManager.js.map +1 -1
  129. package/lib/rust-crypto/OutgoingRequestProcessor.js +11 -4
  130. package/lib/rust-crypto/OutgoingRequestProcessor.js.map +1 -1
  131. package/lib/rust-crypto/OutgoingRequestsManager.js +12 -12
  132. package/lib/rust-crypto/OutgoingRequestsManager.js.map +1 -1
  133. package/lib/rust-crypto/PerSessionKeyBackupDownloader.js +3 -5
  134. package/lib/rust-crypto/PerSessionKeyBackupDownloader.js.map +1 -1
  135. package/lib/rust-crypto/RoomEncryptor.js +6 -6
  136. package/lib/rust-crypto/RoomEncryptor.js.map +1 -1
  137. package/lib/rust-crypto/backup.js +22 -16
  138. package/lib/rust-crypto/backup.js.map +1 -1
  139. package/lib/rust-crypto/device-converter.js +13 -4
  140. package/lib/rust-crypto/device-converter.js.map +1 -1
  141. package/lib/rust-crypto/index.js +1 -3
  142. package/lib/rust-crypto/index.js.map +1 -1
  143. package/lib/rust-crypto/libolm_migration.js +13 -15
  144. package/lib/rust-crypto/libolm_migration.js.map +1 -1
  145. package/lib/rust-crypto/rust-crypto.js +52 -59
  146. package/lib/rust-crypto/rust-crypto.js.map +1 -1
  147. package/lib/rust-crypto/verification.js +10 -10
  148. package/lib/rust-crypto/verification.js.map +1 -1
  149. package/lib/scheduler.js +2 -2
  150. package/lib/scheduler.js.map +1 -1
  151. package/lib/secret-storage.js +16 -10
  152. package/lib/secret-storage.js.map +1 -1
  153. package/lib/serverCapabilities.js +2 -5
  154. package/lib/serverCapabilities.js.map +1 -1
  155. package/lib/sliding-sync-sdk.js +4 -9
  156. package/lib/sliding-sync-sdk.js.map +1 -1
  157. package/lib/sliding-sync.js +4 -9
  158. package/lib/sliding-sync.js.map +1 -1
  159. package/lib/store/indexeddb-local-backend.js +13 -8
  160. package/lib/store/indexeddb-local-backend.js.map +1 -1
  161. package/lib/store/indexeddb-remote-backend.js +6 -7
  162. package/lib/store/indexeddb-remote-backend.js.map +1 -1
  163. package/lib/store/indexeddb-store-worker.js +1 -2
  164. package/lib/store/indexeddb-store-worker.js.map +1 -1
  165. package/lib/store/indexeddb.js +4 -2
  166. package/lib/store/indexeddb.js.map +1 -1
  167. package/lib/store/memory.js +0 -4
  168. package/lib/store/memory.js.map +1 -1
  169. package/lib/sync-accumulator.js +2 -4
  170. package/lib/sync-accumulator.js.map +1 -1
  171. package/lib/sync.js +36 -43
  172. package/lib/sync.js.map +1 -1
  173. package/lib/timeline-window.js +2 -6
  174. package/lib/timeline-window.js.map +1 -1
  175. package/lib/utils/decryptAESSecretStorageItem.js +5 -1
  176. package/lib/utils/decryptAESSecretStorageItem.js.map +1 -1
  177. package/lib/utils/encryptAESSecretStorageItem.js +5 -1
  178. package/lib/utils/encryptAESSecretStorageItem.js.map +1 -1
  179. package/lib/utils.js +35 -20
  180. package/lib/utils.js.map +1 -1
  181. package/lib/webrtc/call.js +13 -45
  182. package/lib/webrtc/call.js.map +1 -1
  183. package/lib/webrtc/callEventHandler.js +0 -5
  184. package/lib/webrtc/callEventHandler.js.map +1 -1
  185. package/lib/webrtc/callFeed.js +0 -15
  186. package/lib/webrtc/callFeed.js.map +1 -1
  187. package/lib/webrtc/groupCall.js +82 -89
  188. package/lib/webrtc/groupCall.js.map +1 -1
  189. package/lib/webrtc/groupCallEventHandler.js +6 -7
  190. package/lib/webrtc/groupCallEventHandler.js.map +1 -1
  191. package/lib/webrtc/mediaHandler.js +8 -15
  192. package/lib/webrtc/mediaHandler.js.map +1 -1
  193. package/lib/webrtc/stats/callStatsReportGatherer.js +2 -5
  194. package/lib/webrtc/stats/callStatsReportGatherer.js.map +1 -1
  195. package/lib/webrtc/stats/connectionStatsReportBuilder.js +5 -1
  196. package/lib/webrtc/stats/connectionStatsReportBuilder.js.map +1 -1
  197. package/lib/webrtc/stats/groupCallStats.js +3 -4
  198. package/lib/webrtc/stats/groupCallStats.js.map +1 -1
  199. package/lib/webrtc/stats/media/mediaTrackStats.js +3 -3
  200. package/lib/webrtc/stats/media/mediaTrackStats.js.map +1 -1
  201. package/lib/webrtc/stats/media/mediaTrackStatsHandler.js +1 -1
  202. package/lib/webrtc/stats/media/mediaTrackStatsHandler.js.map +1 -1
  203. package/package.json +3 -3
  204. package/src/rendezvous/MSC4108SignInWithQR.ts +2 -1
package/lib/client.js CHANGED
@@ -1,4 +1,5 @@
1
1
  import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
2
+ import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
2
3
  import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
3
4
  import _defineProperty from "@babel/runtime/helpers/defineProperty";
4
5
  var _excluded = ["server", "limit", "since"];
@@ -321,70 +322,26 @@ var SSO_ACTION_PARAM = new UnstableValue("action", "org.matrix.msc3824.action");
321
322
  * as it specifies 'sensible' defaults for these modules.
322
323
  */
323
324
  export class MatrixClient extends TypedEventEmitter {
325
+ // A manager for determining which invites should be ignored.
326
+
324
327
  constructor(opts) {
325
328
  var _opts$logger, _opts$usingExternalCr, _this, _opts$disableVoip, _opts$enableEncrypted, _opts$cryptoCallbacks;
326
329
  // If a custom logger is provided, use it. Otherwise, default to the global
327
330
  // one in logger.ts.
328
331
  super();
329
332
  _this = this;
330
- _defineProperty(this, "logger", void 0);
331
333
  _defineProperty(this, "reEmitter", new TypedReEmitter(this));
332
334
  _defineProperty(this, "olmVersion", null);
333
335
  // populated after initLegacyCrypto
334
336
  _defineProperty(this, "usingExternalCrypto", false);
335
- _defineProperty(this, "_store", void 0);
336
- _defineProperty(this, "deviceId", void 0);
337
- _defineProperty(this, "credentials", void 0);
338
- /**
339
- * Encryption key used for encrypting sensitive data (such as e2ee keys) in storage.
340
- *
341
- * As supplied in the constructor via {@link IMatrixClientCreateOpts#pickleKey}.
342
- * Used for migration from the legacy crypto to the rust crypto
343
- */
344
- _defineProperty(this, "legacyPickleKey", void 0);
345
- _defineProperty(this, "scheduler", void 0);
346
337
  _defineProperty(this, "clientRunning", false);
347
338
  _defineProperty(this, "timelineSupport", false);
348
339
  _defineProperty(this, "urlPreviewCache", {});
349
- _defineProperty(this, "identityServer", void 0);
350
- _defineProperty(this, "http", void 0);
351
- // XXX: Intended private, used in code.
352
- _defineProperty(this, "cryptoBackend", void 0);
353
- // one of crypto or rustCrypto
354
- /**
355
- * Support MSC4362: Simplified Encrypted State Events.
356
- *
357
- * The client must be recreated for changes to this setting to take effect
358
- * reliably.
359
- *
360
- * When this setting is true, if we find a state event that is encrypted
361
- * (within a room that supports encrypted state), we will attempt to decrypt
362
- * it as specified in MSC4362. If the user was in the room at the time an
363
- * encrypted state event was received (meaning we have the key), even if
364
- * this setting was set to false at the time it was received, recreating the
365
- * client with this setting set to true will allow decrypting that event.
366
- *
367
- * When this setting is false, any state event that is encrypted will not be
368
- * decrypted, meaning it will have no effect. This matched the behaviour of
369
- * a client that does not support MSC4362.
370
- */
371
- _defineProperty(this, "enableEncryptedStateEvents", void 0);
372
- _defineProperty(this, "cryptoCallbacks", void 0);
373
- // XXX: Intended private, used in code.
374
- _defineProperty(this, "callEventHandler", void 0);
375
- // XXX: Intended private, used in code.
376
- _defineProperty(this, "groupCallEventHandler", void 0);
377
340
  _defineProperty(this, "supportsCallTransfer", false);
378
341
  // XXX: Intended private, used in code.
379
342
  _defineProperty(this, "forceTURN", false);
380
343
  // XXX: Intended private, used in code.
381
344
  _defineProperty(this, "iceCandidatePoolSize", 0);
382
- // XXX: Intended private, used in code.
383
- _defineProperty(this, "idBaseUrl", void 0);
384
- _defineProperty(this, "baseUrl", void 0);
385
- _defineProperty(this, "isVoipWithNoMediaAllowed", void 0);
386
- _defineProperty(this, "disableVoip", void 0);
387
- _defineProperty(this, "useLivekitForGroupCalls", void 0);
388
345
  // Note: these are all `protected` to let downstream consumers make mistakes if they want to.
389
346
  // We don't technically support this usage, but have reasons to do this.
390
347
  _defineProperty(this, "canSupportVoip", false);
@@ -392,35 +349,15 @@ export class MatrixClient extends TypedEventEmitter {
392
349
  _defineProperty(this, "isGuestAccount", false);
393
350
  _defineProperty(this, "ongoingScrollbacks", {});
394
351
  _defineProperty(this, "notifTimelineSet", null);
395
- /**
396
- * Legacy crypto store used for migration from the legacy crypto to the rust crypto
397
- * @private
398
- */
399
- _defineProperty(this, "legacyCryptoStore", void 0);
400
- _defineProperty(this, "verificationMethods", void 0);
401
352
  _defineProperty(this, "fallbackICEServerAllowed", false);
402
- _defineProperty(this, "syncApi", void 0);
403
- _defineProperty(this, "roomNameGenerator", void 0);
404
- _defineProperty(this, "pushRules", void 0);
405
- _defineProperty(this, "syncLeftRoomsPromise", void 0);
406
353
  _defineProperty(this, "syncedLeftRooms", false);
407
- _defineProperty(this, "clientOpts", void 0);
408
- _defineProperty(this, "clientWellKnownIntervalID", void 0);
409
- _defineProperty(this, "canResetTimelineCallback", void 0);
410
354
  _defineProperty(this, "canSupport", new Map());
411
355
  // The pushprocessor caches useful things, so keep one and re-use it
412
356
  _defineProperty(this, "pushProcessor", new PushProcessor(this));
413
- // Promise to a response of the server's /versions response
414
- // TODO: This should expire: https://github.com/matrix-org/matrix-js-sdk/issues/1020
415
- _defineProperty(this, "serverVersionsPromise", void 0);
416
- _defineProperty(this, "clientWellKnown", void 0);
417
- _defineProperty(this, "clientWellKnownPromise", void 0);
418
357
  _defineProperty(this, "turnServers", []);
419
358
  _defineProperty(this, "turnServersExpiry", 0);
420
- _defineProperty(this, "checkTurnServersIntervalID", void 0);
421
359
  _defineProperty(this, "txnCtr", 0);
422
360
  _defineProperty(this, "mediaHandler", new MediaHandler(this));
423
- _defineProperty(this, "sessionId", void 0);
424
361
  /** IDs of events which are currently being encrypted.
425
362
  *
426
363
  * This is part of the cancellation mechanism: if the event is no longer listed here when encryption completes,
@@ -428,13 +365,6 @@ export class MatrixClient extends TypedEventEmitter {
428
365
  */
429
366
  _defineProperty(this, "eventsBeingEncrypted", new Set());
430
367
  _defineProperty(this, "useE2eForGroupCall", true);
431
- _defineProperty(this, "toDeviceMessageQueue", void 0);
432
- _defineProperty(this, "livekitServiceURL", void 0);
433
- _defineProperty(this, "_secretStorage", void 0);
434
- // A manager for determining which invites should be ignored.
435
- _defineProperty(this, "ignoredInvites", void 0);
436
- _defineProperty(this, "matrixRTC", void 0);
437
- _defineProperty(this, "serverCapabilitiesService", void 0);
438
368
  _defineProperty(this, "startCallEventHandler", () => {
439
369
  if (this.isInitialSyncComplete()) {
440
370
  if (supportsMatrixCall()) {
@@ -620,11 +550,10 @@ export class MatrixClient extends TypedEventEmitter {
620
550
 
621
551
  // This should be done with `canSupport`
622
552
  // TODO: https://github.com/vector-im/element-web/issues/23643
623
- var {
624
- threads,
625
- list,
626
- fwdPagination
627
- } = yield _this2.doesServerSupportThread();
553
+ var _yield$_this2$doesSer = yield _this2.doesServerSupportThread(),
554
+ threads = _yield$_this2$doesSer.threads,
555
+ list = _yield$_this2$doesSer.list,
556
+ fwdPagination = _yield$_this2$doesSer.fwdPagination;
628
557
  Thread.setServerSideSupport(threads);
629
558
  Thread.setServerSideListSupport(list);
630
559
  Thread.setServerSideFwdPaginationSupport(fwdPagination);
@@ -1848,14 +1777,12 @@ export class MatrixClient extends TypedEventEmitter {
1848
1777
  */
1849
1778
 
1850
1779
  sendCompleteEvent(_ref3) {
1851
- var {
1852
- roomId,
1853
- threadId,
1854
- eventObject,
1855
- delayOpts,
1856
- queryDict,
1857
- txnId
1858
- } = _ref3;
1780
+ var roomId = _ref3.roomId,
1781
+ threadId = _ref3.threadId,
1782
+ eventObject = _ref3.eventObject,
1783
+ delayOpts = _ref3.delayOpts,
1784
+ queryDict = _ref3.queryDict,
1785
+ txnId = _ref3.txnId;
1859
1786
  if (!txnId) {
1860
1787
  txnId = this.makeTxnId();
1861
1788
  }
@@ -3129,10 +3056,9 @@ export class MatrixClient extends TypedEventEmitter {
3129
3056
  getPushActionsForEvent(event) {
3130
3057
  var forceRecalculate = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
3131
3058
  if (!event.getPushActions() || forceRecalculate) {
3132
- var {
3133
- actions,
3134
- rule
3135
- } = this.pushProcessor.actionsAndRuleForEvent(event);
3059
+ var _this$pushProcessor$a = this.pushProcessor.actionsAndRuleForEvent(event),
3060
+ actions = _this$pushProcessor$a.actions,
3061
+ rule = _this$pushProcessor$a.rule;
3136
3062
  event.setPushDetails(actions, rule);
3137
3063
  }
3138
3064
  return event.getPushActions();
@@ -3149,10 +3075,9 @@ export class MatrixClient extends TypedEventEmitter {
3149
3075
  getPushDetailsForEvent(event) {
3150
3076
  var forceRecalculate = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
3151
3077
  if (!event.getPushDetails() || forceRecalculate) {
3152
- var {
3153
- actions,
3154
- rule
3155
- } = this.pushProcessor.actionsAndRuleForEvent(event);
3078
+ var _this$pushProcessor$a2 = this.pushProcessor.actionsAndRuleForEvent(event),
3079
+ actions = _this$pushProcessor$a2.actions,
3080
+ rule = _this$pushProcessor$a2.rule;
3156
3081
  event.setPushDetails(actions, rule);
3157
3082
  }
3158
3083
  return event.getPushDetails();
@@ -3340,7 +3265,11 @@ export class MatrixClient extends TypedEventEmitter {
3340
3265
  var stateEvents = res.state.map(this.getEventMapper());
3341
3266
  room.currentState.setUnknownStateEvents(stateEvents);
3342
3267
  }
3343
- var [timelineEvents, threadedEvents, unknownRelations] = room.partitionThreadedEvents(matrixEvents);
3268
+ var _room$partitionThread = room.partitionThreadedEvents(matrixEvents),
3269
+ _room$partitionThread2 = _slicedToArray(_room$partitionThread, 3),
3270
+ timelineEvents = _room$partitionThread2[0],
3271
+ threadedEvents = _room$partitionThread2[1],
3272
+ unknownRelations = _room$partitionThread2[2];
3344
3273
  this.processAggregatedTimelineEvents(room, timelineEvents);
3345
3274
  room.addEventsToTimeline(timelineEvents, true, true, room.getLiveTimeline());
3346
3275
  this.processThreadEvents(room, threadedEvents, true);
@@ -3469,7 +3398,11 @@ export class MatrixClient extends TypedEventEmitter {
3469
3398
  timeline.initialiseState(res.state.map(mapper));
3470
3399
  timeline.getState(EventTimeline.FORWARDS).paginationToken = (_res$end3 = res.end) !== null && _res$end3 !== void 0 ? _res$end3 : null;
3471
3400
  }
3472
- var [timelineEvents, threadedEvents, unknownRelations] = timelineSet.room.partitionThreadedEvents(events);
3401
+ var _timelineSet$room$par = timelineSet.room.partitionThreadedEvents(events),
3402
+ _timelineSet$room$par2 = _slicedToArray(_timelineSet$room$par, 3),
3403
+ timelineEvents = _timelineSet$room$par2[0],
3404
+ threadedEvents = _timelineSet$room$par2[1],
3405
+ unknownRelations = _timelineSet$room$par2[2];
3473
3406
  timelineSet.addEventsToTimeline(timelineEvents, true, false, timeline, res.start);
3474
3407
  // The target event is not in a thread but process the contextual events, so we can show any threads around it.
3475
3408
  _this39.processThreadEvents(timelineSet.room, threadedEvents, true);
@@ -3931,7 +3864,10 @@ export class MatrixClient extends TypedEventEmitter {
3931
3864
  var token = res.end;
3932
3865
  var matrixEvents = res.chunk.filter(noUnsafeEventProps).map(this.getEventMapper());
3933
3866
  var timelineSet = eventTimeline.getTimelineSet();
3934
- var [timelineEvents,, unknownRelations] = room.partitionThreadedEvents(matrixEvents);
3867
+ var _room$partitionThread3 = room.partitionThreadedEvents(matrixEvents),
3868
+ _room$partitionThread4 = _slicedToArray(_room$partitionThread3, 3),
3869
+ timelineEvents = _room$partitionThread4[0],
3870
+ unknownRelations = _room$partitionThread4[2];
3935
3871
  timelineSet.addEventsToTimeline(timelineEvents, backwards, false, eventTimeline, token);
3936
3872
  this.processAggregatedTimelineEvents(room, timelineEvents);
3937
3873
  this.processThreadRoots(room, timelineEvents.filter(it => it.getServerAggregatedRelation(THREAD_RELATION_TYPE.name)), false);
@@ -4717,10 +4653,14 @@ export class MatrixClient extends TypedEventEmitter {
4717
4653
  // XXX: Intended private, used in code
4718
4654
  var primTypes = ["boolean", "string", "number"];
4719
4655
  var serializableOpts = Object.entries(this.clientOpts).filter(_ref7 => {
4720
- var [key, value] = _ref7;
4656
+ var _ref8 = _slicedToArray(_ref7, 2),
4657
+ key = _ref8[0],
4658
+ value = _ref8[1];
4721
4659
  return primTypes.includes(typeof value);
4722
- }).reduce((obj, _ref8) => {
4723
- var [key, value] = _ref8;
4660
+ }).reduce((obj, _ref9) => {
4661
+ var _ref0 = _slicedToArray(_ref9, 2),
4662
+ key = _ref0[0],
4663
+ value = _ref0[1];
4724
4664
  obj[key] = value;
4725
4665
  return obj;
4726
4666
  }, {});
@@ -4842,9 +4782,8 @@ export class MatrixClient extends TypedEventEmitter {
4842
4782
  isVersionSupported(version) {
4843
4783
  var _this50 = this;
4844
4784
  return _asyncToGenerator(function* () {
4845
- var {
4846
- versions
4847
- } = yield _this50.getVersions();
4785
+ var _yield$_this50$getVer = yield _this50.getVersions(),
4786
+ versions = _yield$_this50$getVer.versions;
4848
4787
  return versions && versions.includes(version);
4849
4788
  })();
4850
4789
  }
@@ -4895,7 +4834,14 @@ export class MatrixClient extends TypedEventEmitter {
4895
4834
  };
4896
4835
  }
4897
4836
  try {
4898
- var [threadUnstable, threadStable, listUnstable, listStable, fwdPaginationUnstable, fwdPaginationStable] = yield Promise.all([_this53.doesServerSupportUnstableFeature("org.matrix.msc3440"), _this53.doesServerSupportUnstableFeature("org.matrix.msc3440.stable"), _this53.doesServerSupportUnstableFeature("org.matrix.msc3856"), _this53.doesServerSupportUnstableFeature("org.matrix.msc3856.stable"), _this53.doesServerSupportUnstableFeature("org.matrix.msc3715"), _this53.doesServerSupportUnstableFeature("org.matrix.msc3715.stable")]);
4837
+ var _yield$Promise$all = yield Promise.all([_this53.doesServerSupportUnstableFeature("org.matrix.msc3440"), _this53.doesServerSupportUnstableFeature("org.matrix.msc3440.stable"), _this53.doesServerSupportUnstableFeature("org.matrix.msc3856"), _this53.doesServerSupportUnstableFeature("org.matrix.msc3856.stable"), _this53.doesServerSupportUnstableFeature("org.matrix.msc3715"), _this53.doesServerSupportUnstableFeature("org.matrix.msc3715.stable")]),
4838
+ _yield$Promise$all2 = _slicedToArray(_yield$Promise$all, 6),
4839
+ threadUnstable = _yield$Promise$all2[0],
4840
+ threadStable = _yield$Promise$all2[1],
4841
+ listUnstable = _yield$Promise$all2[2],
4842
+ listStable = _yield$Promise$all2[3],
4843
+ fwdPaginationUnstable = _yield$Promise$all2[4],
4844
+ fwdPaginationStable = _yield$Promise$all2[5];
4899
4845
  return {
4900
4846
  threads: determineFeatureSupport(threadStable, threadUnstable),
4901
4847
  list: determineFeatureSupport(listStable, listUnstable),
@@ -4961,7 +4907,10 @@ export class MatrixClient extends TypedEventEmitter {
4961
4907
  dir: Direction.Backward
4962
4908
  };
4963
4909
  var fetchedEventType = eventType ? _this54.getEncryptedIfNeededEventType(roomId, eventType) : null;
4964
- var [eventResult, result] = yield Promise.all([_this54.fetchRoomEvent(roomId, eventId), _this54.fetchRelations(roomId, eventId, relationType, fetchedEventType, opts)]);
4910
+ var _yield$Promise$all3 = yield Promise.all([_this54.fetchRoomEvent(roomId, eventId), _this54.fetchRelations(roomId, eventId, relationType, fetchedEventType, opts)]),
4911
+ _yield$Promise$all4 = _slicedToArray(_yield$Promise$all3, 2),
4912
+ eventResult = _yield$Promise$all4[0],
4913
+ result = _yield$Promise$all4[1];
4965
4914
  var mapper = _this54.getEventMapper();
4966
4915
  var originalEvent = eventResult ? mapper(eventResult) : undefined;
4967
4916
  var events = result.chunk.map(mapper);
@@ -5167,9 +5116,8 @@ export class MatrixClient extends TypedEventEmitter {
5167
5116
  * @returns Rejects: with an error response.
5168
5117
  */
5169
5118
  registerGuest() {
5170
- var {
5171
- body
5172
- } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
5119
+ var _ref1 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
5120
+ body = _ref1.body;
5173
5121
  return this.registerRequest(body || {}, "guest");
5174
5122
  }
5175
5123
 
@@ -5723,13 +5671,11 @@ export class MatrixClient extends TypedEventEmitter {
5723
5671
  * @see MatrixSafetyError
5724
5672
  */
5725
5673
  publicRooms() {
5726
- var _ref9 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
5727
- var {
5728
- server,
5729
- limit,
5730
- since
5731
- } = _ref9,
5732
- options = _objectWithoutProperties(_ref9, _excluded);
5674
+ var _ref10 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
5675
+ var server = _ref10.server,
5676
+ limit = _ref10.limit,
5677
+ since = _ref10.since,
5678
+ options = _objectWithoutProperties(_ref10, _excluded);
5733
5679
  if (Object.keys(options).length === 0) {
5734
5680
  var queryParams = {
5735
5681
  server,
@@ -5847,11 +5793,9 @@ export class MatrixClient extends TypedEventEmitter {
5847
5793
  * @param options.limit - the maximum number of results to return. The server will apply a limit if unspecified.
5848
5794
  * @returns Promise which resolves: an array of results.
5849
5795
  */
5850
- searchUserDirectory(_ref0) {
5851
- var {
5852
- term,
5853
- limit
5854
- } = _ref0;
5796
+ searchUserDirectory(_ref11) {
5797
+ var term = _ref11.term,
5798
+ limit = _ref11.limit;
5855
5799
  var body = {
5856
5800
  search_term: term
5857
5801
  };
@@ -6442,11 +6386,9 @@ export class MatrixClient extends TypedEventEmitter {
6442
6386
  * @returns Promise which resolves to the search response object.
6443
6387
  * @returns Rejects: with an error response.
6444
6388
  */
6445
- search(_ref1, abortSignal) {
6446
- var {
6447
- body,
6448
- next_batch: nextBatch
6449
- } = _ref1;
6389
+ search(_ref12, abortSignal) {
6390
+ var body = _ref12.body,
6391
+ nextBatch = _ref12.next_batch;
6450
6392
  var queryParams = {};
6451
6393
  if (nextBatch) {
6452
6394
  queryParams.next_batch = nextBatch;
@@ -6486,9 +6428,8 @@ export class MatrixClient extends TypedEventEmitter {
6486
6428
  * an error response ({@link MatrixError}).
6487
6429
  */
6488
6430
  downloadKeysForUsers(userIds) {
6489
- var {
6490
- token
6491
- } = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
6431
+ var _ref13 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
6432
+ token = _ref13.token;
6492
6433
  var content = {
6493
6434
  device_keys: {}
6494
6435
  };
@@ -6521,7 +6462,10 @@ export class MatrixClient extends TypedEventEmitter {
6521
6462
  if (keyAlgorithm === undefined) {
6522
6463
  keyAlgorithm = "signed_curve25519";
6523
6464
  }
6524
- for (var [userId, _deviceId] of devices) {
6465
+ for (var _ref16 of devices) {
6466
+ var _ref15 = _slicedToArray(_ref16, 2);
6467
+ var userId = _ref15[0];
6468
+ var _deviceId = _ref15[1];
6525
6469
  var query = queries[userId] || {};
6526
6470
  safeSet(queries, userId, query);
6527
6471
  safeSet(query, _deviceId, keyAlgorithm);
@@ -6755,7 +6699,7 @@ export class MatrixClient extends TypedEventEmitter {
6755
6699
  // When picking an algorithm, we pick the hashed over no hashes
6756
6700
  if (hashes["algorithms"].includes("sha256")) {
6757
6701
  params["addresses"] = yield Promise.all(addressPairs.map(/*#__PURE__*/function () {
6758
- var _ref10 = _asyncToGenerator(function* (p) {
6702
+ var _ref17 = _asyncToGenerator(function* (p) {
6759
6703
  var addr = p[0].toLowerCase(); // lowercase to get consistent hashes
6760
6704
  var med = p[1].toLowerCase();
6761
6705
  var hashBuffer = yield sha256("".concat(addr, " ").concat(med, " ").concat(params["pepper"]));
@@ -6767,7 +6711,7 @@ export class MatrixClient extends TypedEventEmitter {
6767
6711
  return hashed;
6768
6712
  });
6769
6713
  return function (_x4) {
6770
- return _ref10.apply(this, arguments);
6714
+ return _ref17.apply(this, arguments);
6771
6715
  };
6772
6716
  }()));
6773
6717
  params["algorithm"] = "sha256";
@@ -6919,7 +6863,10 @@ export class MatrixClient extends TypedEventEmitter {
6919
6863
  messages: utils.recursiveMapToObject(contentMap)
6920
6864
  };
6921
6865
  var targets = new Map();
6922
- for (var [userId, deviceMessages] of contentMap) {
6866
+ for (var _ref20 of contentMap) {
6867
+ var _ref19 = _slicedToArray(_ref20, 2);
6868
+ var userId = _ref19[0];
6869
+ var deviceMessages = _ref19[1];
6923
6870
  targets.set(userId, Array.from(deviceMessages.keys()));
6924
6871
  }
6925
6872
  this.logger.debug("PUT ".concat(path), targets);
@@ -7103,33 +7050,32 @@ export class MatrixClient extends TypedEventEmitter {
7103
7050
  unstableCreateFileTree(name) {
7104
7051
  var _this78 = this;
7105
7052
  return _asyncToGenerator(function* () {
7106
- var {
7107
- room_id: roomId
7108
- } = yield _this78.createRoom({
7109
- name: name,
7110
- preset: Preset.PrivateChat,
7111
- power_level_content_override: _objectSpread(_objectSpread({}, DEFAULT_TREE_POWER_LEVELS_TEMPLATE), {}, {
7112
- users: {
7113
- [_this78.getUserId()]: 100
7114
- }
7053
+ var _yield$_this78$create = yield _this78.createRoom({
7054
+ name: name,
7055
+ preset: Preset.PrivateChat,
7056
+ power_level_content_override: _objectSpread(_objectSpread({}, DEFAULT_TREE_POWER_LEVELS_TEMPLATE), {}, {
7057
+ users: {
7058
+ [_this78.getUserId()]: 100
7059
+ }
7060
+ }),
7061
+ creation_content: {
7062
+ [RoomCreateTypeField]: RoomType.Space
7063
+ },
7064
+ initial_state: [{
7065
+ type: UNSTABLE_MSC3088_PURPOSE.name,
7066
+ state_key: UNSTABLE_MSC3089_TREE_SUBTYPE.name,
7067
+ content: {
7068
+ [UNSTABLE_MSC3088_ENABLED.name]: true
7069
+ }
7070
+ }, {
7071
+ type: EventType.RoomEncryption,
7072
+ state_key: "",
7073
+ content: {
7074
+ algorithm: "m.megolm.v1.aes-sha2"
7075
+ }
7076
+ }]
7115
7077
  }),
7116
- creation_content: {
7117
- [RoomCreateTypeField]: RoomType.Space
7118
- },
7119
- initial_state: [{
7120
- type: UNSTABLE_MSC3088_PURPOSE.name,
7121
- state_key: UNSTABLE_MSC3089_TREE_SUBTYPE.name,
7122
- content: {
7123
- [UNSTABLE_MSC3088_ENABLED.name]: true
7124
- }
7125
- }, {
7126
- type: EventType.RoomEncryption,
7127
- state_key: "",
7128
- content: {
7129
- algorithm: "m.megolm.v1.aes-sha2"
7130
- }
7131
- }]
7132
- });
7078
+ roomId = _yield$_this78$create.room_id;
7133
7079
  return new MSC3089TreeSpace(_this78, roomId);
7134
7080
  })();
7135
7081
  }
@@ -7346,11 +7292,10 @@ export class MatrixClient extends TypedEventEmitter {
7346
7292
  } catch (e) {
7347
7293
  if (e instanceof MatrixError && e.errcode === "M_UNRECOGNIZED") {
7348
7294
  // Fall back to older variant of MSC2965
7349
- var {
7350
- issuer
7351
- } = yield _this82.http.request(Method.Get, "/auth_issuer", undefined, undefined, {
7352
- prefix: ClientPrefix.Unstable + "/org.matrix.msc2965"
7353
- });
7295
+ var _yield$_this82$http$r = yield _this82.http.request(Method.Get, "/auth_issuer", undefined, undefined, {
7296
+ prefix: ClientPrefix.Unstable + "/org.matrix.msc2965"
7297
+ }),
7298
+ issuer = _yield$_this82$http$r.issuer;
7354
7299
  return discoverAndValidateOIDCIssuerWellKnown(issuer);
7355
7300
  }
7356
7301
  throw e;
@@ -7361,8 +7306,10 @@ export class MatrixClient extends TypedEventEmitter {
7361
7306
  }
7362
7307
  _defineProperty(MatrixClient, "RESTORE_BACKUP_ERROR_BAD_KEY", "RESTORE_BACKUP_ERROR_BAD_KEY");
7363
7308
  function getUnstableDelayQueryOpts(delayOpts) {
7364
- return Object.fromEntries(Object.entries(delayOpts).map(_ref11 => {
7365
- var [k, v] = _ref11;
7309
+ return Object.fromEntries(Object.entries(delayOpts).map(_ref21 => {
7310
+ var _ref22 = _slicedToArray(_ref21, 2),
7311
+ k = _ref22[0],
7312
+ v = _ref22[1];
7366
7313
  return ["".concat(UNSTABLE_MSC4140_DELAYED_EVENTS, ".").concat(k), v];
7367
7314
  }));
7368
7315
  }