matrix-js-sdk 41.6.0 → 41.7.0-rc.3
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.
- package/lib/ReEmitter.js +1 -1
- package/lib/ReEmitter.js.map +1 -1
- package/lib/ToDeviceMessageQueue.js +2 -2
- package/lib/ToDeviceMessageQueue.js.map +1 -1
- package/lib/autodiscovery.js +1 -0
- package/lib/autodiscovery.js.map +1 -1
- package/lib/client.d.ts.map +1 -1
- package/lib/client.js +77 -3
- package/lib/client.js.map +1 -1
- package/lib/common-crypto/CryptoBackend.js +2 -0
- package/lib/common-crypto/CryptoBackend.js.map +1 -1
- package/lib/crypto/store/indexeddb-crypto-store-backend.js +1 -1
- package/lib/crypto/store/indexeddb-crypto-store-backend.js.map +1 -1
- package/lib/crypto/store/indexeddb-crypto-store.js +2 -0
- package/lib/crypto/store/indexeddb-crypto-store.js.map +1 -1
- package/lib/crypto-api/index.js +58 -58
- package/lib/crypto-api/index.js.map +1 -1
- package/lib/embedded.js +13 -9
- package/lib/embedded.js.map +1 -1
- package/lib/extensible_events_v1/MessageEvent.js +15 -15
- package/lib/extensible_events_v1/MessageEvent.js.map +1 -1
- package/lib/extensible_events_v1/PollEndEvent.js +8 -8
- package/lib/extensible_events_v1/PollEndEvent.js.map +1 -1
- package/lib/extensible_events_v1/PollResponseEvent.js +1 -0
- package/lib/extensible_events_v1/PollResponseEvent.js.map +1 -1
- package/lib/extensible_events_v1/PollStartEvent.js +28 -28
- package/lib/extensible_events_v1/PollStartEvent.js.map +1 -1
- package/lib/filter.js +3 -1
- package/lib/filter.js.map +1 -1
- package/lib/http-api/errors.js +16 -16
- package/lib/http-api/errors.js.map +1 -1
- package/lib/http-api/fetch.js +2 -1
- package/lib/http-api/fetch.js.map +1 -1
- package/lib/http-api/refresh.js +7 -6
- package/lib/http-api/refresh.js.map +1 -1
- package/lib/http-api/utils.d.ts.map +1 -1
- package/lib/http-api/utils.js +1 -5
- package/lib/http-api/utils.js.map +1 -1
- package/lib/interactive-auth.js +11 -1
- package/lib/interactive-auth.js.map +1 -1
- package/lib/logger.js +2 -0
- package/lib/logger.js.map +1 -1
- package/lib/matrixrtc/CallMembership.js +6 -5
- package/lib/matrixrtc/CallMembership.js.map +1 -1
- package/lib/matrixrtc/MatrixRTCSession.d.ts.map +1 -1
- package/lib/matrixrtc/MatrixRTCSession.js +15 -5
- package/lib/matrixrtc/MatrixRTCSession.js.map +1 -1
- package/lib/matrixrtc/MatrixRTCSessionManager.js +3 -2
- package/lib/matrixrtc/MatrixRTCSessionManager.js.map +1 -1
- package/lib/matrixrtc/MembershipManager.js +24 -17
- package/lib/matrixrtc/MembershipManager.js.map +1 -1
- package/lib/matrixrtc/MembershipManagerActionScheduler.js +2 -1
- package/lib/matrixrtc/MembershipManagerActionScheduler.js.map +1 -1
- package/lib/matrixrtc/RTCEncryptionManager.js +6 -4
- package/lib/matrixrtc/RTCEncryptionManager.js.map +1 -1
- package/lib/matrixrtc/ToDeviceKeyTransport.js +4 -4
- package/lib/matrixrtc/ToDeviceKeyTransport.js.map +1 -1
- package/lib/models/MSC3089TreeSpace.js +2 -1
- package/lib/models/MSC3089TreeSpace.js.map +1 -1
- package/lib/models/beacon.js +8 -4
- package/lib/models/beacon.js.map +1 -1
- package/lib/models/device.js +7 -0
- package/lib/models/device.js.map +1 -1
- package/lib/models/event-context.js +2 -1
- package/lib/models/event-context.js.map +1 -1
- package/lib/models/event-timeline-set.js +7 -1
- package/lib/models/event-timeline-set.js.map +1 -1
- package/lib/models/event-timeline.js +5 -1
- package/lib/models/event-timeline.js.map +1 -1
- package/lib/models/event.js +35 -11
- package/lib/models/event.js.map +1 -1
- package/lib/models/poll.js +7 -3
- package/lib/models/poll.js.map +1 -1
- package/lib/models/related-relations.js +2 -0
- package/lib/models/related-relations.js.map +1 -1
- package/lib/models/relations-container.js +2 -2
- package/lib/models/relations-container.js.map +1 -1
- package/lib/models/relations.js +4 -3
- package/lib/models/relations.js.map +1 -1
- package/lib/models/room-member.js +24 -2
- package/lib/models/room-member.js.map +1 -1
- package/lib/models/room-receipts.js +19 -12
- package/lib/models/room-receipts.js.map +1 -1
- package/lib/models/room-state.js +2 -2
- package/lib/models/room-state.js.map +1 -1
- package/lib/models/room-sticky-events.js +1 -0
- package/lib/models/room-sticky-events.js.map +1 -1
- package/lib/models/room.js +35 -4
- package/lib/models/room.js.map +1 -1
- package/lib/models/thread.js +46 -2
- package/lib/models/thread.js.map +1 -1
- package/lib/models/user.js +20 -1
- package/lib/models/user.js.map +1 -1
- package/lib/oidc/tokenRefresher.js +11 -8
- package/lib/oidc/tokenRefresher.js.map +1 -1
- package/lib/pushprocessor.js +1 -1
- package/lib/pushprocessor.js.map +1 -1
- package/lib/rendezvous/MSC4108SignInWithQR.js +6 -1
- package/lib/rendezvous/MSC4108SignInWithQR.js.map +1 -1
- package/lib/rendezvous/channels/MSC4108SecureChannel.js +3 -1
- package/lib/rendezvous/channels/MSC4108SecureChannel.js.map +1 -1
- package/lib/rendezvous/transports/MSC4108RendezvousSession.js +8 -0
- package/lib/rendezvous/transports/MSC4108RendezvousSession.js.map +1 -1
- package/lib/room-hierarchy.js +8 -4
- package/lib/room-hierarchy.js.map +1 -1
- package/lib/rust-crypto/DehydratedDeviceManager.js +3 -2
- package/lib/rust-crypto/DehydratedDeviceManager.js.map +1 -1
- package/lib/rust-crypto/KeyClaimManager.js +2 -1
- package/lib/rust-crypto/KeyClaimManager.js.map +1 -1
- package/lib/rust-crypto/OutgoingRequestsManager.js +12 -12
- package/lib/rust-crypto/OutgoingRequestsManager.js.map +1 -1
- package/lib/rust-crypto/PerSessionKeyBackupDownloader.js +5 -3
- package/lib/rust-crypto/PerSessionKeyBackupDownloader.js.map +1 -1
- package/lib/rust-crypto/RoomEncryptor.js +6 -6
- package/lib/rust-crypto/RoomEncryptor.js.map +1 -1
- package/lib/rust-crypto/backup.js +6 -4
- package/lib/rust-crypto/backup.js.map +1 -1
- package/lib/rust-crypto/rust-crypto.js +18 -10
- package/lib/rust-crypto/rust-crypto.js.map +1 -1
- package/lib/rust-crypto/verification.js +9 -7
- package/lib/rust-crypto/verification.js.map +1 -1
- package/lib/scheduler.js +2 -2
- package/lib/scheduler.js.map +1 -1
- package/lib/serverCapabilities.js +5 -2
- package/lib/serverCapabilities.js.map +1 -1
- package/lib/sliding-sync-sdk.js +6 -3
- package/lib/sliding-sync-sdk.js.map +1 -1
- package/lib/sliding-sync.js +9 -4
- package/lib/sliding-sync.js.map +1 -1
- package/lib/store/indexeddb-local-backend.js +5 -1
- package/lib/store/indexeddb-local-backend.js.map +1 -1
- package/lib/store/indexeddb-remote-backend.js +7 -6
- package/lib/store/indexeddb-remote-backend.js.map +1 -1
- package/lib/store/indexeddb-store-worker.js +2 -1
- package/lib/store/indexeddb-store-worker.js.map +1 -1
- package/lib/store/indexeddb.js +1 -0
- package/lib/store/indexeddb.js.map +1 -1
- package/lib/store/memory.js +4 -0
- package/lib/store/memory.js.map +1 -1
- package/lib/sync-accumulator.js +1 -1
- package/lib/sync-accumulator.js.map +1 -1
- package/lib/sync.d.ts.map +1 -1
- package/lib/sync.js +32 -16
- package/lib/sync.js.map +1 -1
- package/lib/timeline-window.js +6 -2
- package/lib/timeline-window.js.map +1 -1
- package/lib/webrtc/call.js +42 -6
- package/lib/webrtc/call.js.map +1 -1
- package/lib/webrtc/callEventHandler.js +5 -0
- package/lib/webrtc/callEventHandler.js.map +1 -1
- package/lib/webrtc/callFeed.js +15 -0
- package/lib/webrtc/callFeed.js.map +1 -1
- package/lib/webrtc/groupCall.js +24 -8
- package/lib/webrtc/groupCall.js.map +1 -1
- package/lib/webrtc/groupCallEventHandler.js +1 -1
- package/lib/webrtc/groupCallEventHandler.js.map +1 -1
- package/lib/webrtc/mediaHandler.js +7 -3
- package/lib/webrtc/mediaHandler.js.map +1 -1
- package/lib/webrtc/stats/callStatsReportGatherer.js +5 -2
- package/lib/webrtc/stats/callStatsReportGatherer.js.map +1 -1
- package/lib/webrtc/stats/groupCallStats.js +4 -3
- package/lib/webrtc/stats/groupCallStats.js.map +1 -1
- package/lib/webrtc/stats/media/mediaTrackStats.js +3 -3
- package/lib/webrtc/stats/media/mediaTrackStats.js.map +1 -1
- package/lib/webrtc/stats/media/mediaTrackStatsHandler.js +1 -1
- package/lib/webrtc/stats/media/mediaTrackStatsHandler.js.map +1 -1
- package/package.json +125 -138
- package/src/client.ts +4 -1
- package/src/http-api/utils.ts +4 -9
- package/src/matrixrtc/MatrixRTCSession.ts +4 -3
- package/src/sync.ts +5 -1
package/lib/client.js
CHANGED
|
@@ -322,26 +322,70 @@ var SSO_ACTION_PARAM = new UnstableValue("action", "org.matrix.msc3824.action");
|
|
|
322
322
|
* as it specifies 'sensible' defaults for these modules.
|
|
323
323
|
*/
|
|
324
324
|
export class MatrixClient extends TypedEventEmitter {
|
|
325
|
-
// A manager for determining which invites should be ignored.
|
|
326
|
-
|
|
327
325
|
constructor(opts) {
|
|
328
326
|
var _opts$logger, _opts$usingExternalCr, _this, _opts$disableVoip, _opts$enableEncrypted, _opts$cryptoCallbacks;
|
|
329
327
|
// If a custom logger is provided, use it. Otherwise, default to the global
|
|
330
328
|
// one in logger.ts.
|
|
331
329
|
super();
|
|
332
330
|
_this = this;
|
|
331
|
+
_defineProperty(this, "logger", void 0);
|
|
333
332
|
_defineProperty(this, "reEmitter", new TypedReEmitter(this));
|
|
334
333
|
_defineProperty(this, "olmVersion", null);
|
|
335
334
|
// populated after initLegacyCrypto
|
|
336
335
|
_defineProperty(this, "usingExternalCrypto", false);
|
|
336
|
+
_defineProperty(this, "_store", void 0);
|
|
337
|
+
_defineProperty(this, "deviceId", void 0);
|
|
338
|
+
_defineProperty(this, "credentials", void 0);
|
|
339
|
+
/**
|
|
340
|
+
* Encryption key used for encrypting sensitive data (such as e2ee keys) in storage.
|
|
341
|
+
*
|
|
342
|
+
* As supplied in the constructor via {@link IMatrixClientCreateOpts#pickleKey}.
|
|
343
|
+
* Used for migration from the legacy crypto to the rust crypto
|
|
344
|
+
*/
|
|
345
|
+
_defineProperty(this, "legacyPickleKey", void 0);
|
|
346
|
+
_defineProperty(this, "scheduler", void 0);
|
|
337
347
|
_defineProperty(this, "clientRunning", false);
|
|
338
348
|
_defineProperty(this, "timelineSupport", false);
|
|
339
349
|
_defineProperty(this, "urlPreviewCache", {});
|
|
350
|
+
_defineProperty(this, "identityServer", void 0);
|
|
351
|
+
_defineProperty(this, "http", void 0);
|
|
352
|
+
// XXX: Intended private, used in code.
|
|
353
|
+
_defineProperty(this, "cryptoBackend", void 0);
|
|
354
|
+
// one of crypto or rustCrypto
|
|
355
|
+
/**
|
|
356
|
+
* Support MSC4362: Simplified Encrypted State Events.
|
|
357
|
+
*
|
|
358
|
+
* The client must be recreated for changes to this setting to take effect
|
|
359
|
+
* reliably.
|
|
360
|
+
*
|
|
361
|
+
* When this setting is true, if we find a state event that is encrypted
|
|
362
|
+
* (within a room that supports encrypted state), we will attempt to decrypt
|
|
363
|
+
* it as specified in MSC4362. If the user was in the room at the time an
|
|
364
|
+
* encrypted state event was received (meaning we have the key), even if
|
|
365
|
+
* this setting was set to false at the time it was received, recreating the
|
|
366
|
+
* client with this setting set to true will allow decrypting that event.
|
|
367
|
+
*
|
|
368
|
+
* When this setting is false, any state event that is encrypted will not be
|
|
369
|
+
* decrypted, meaning it will have no effect. This matched the behaviour of
|
|
370
|
+
* a client that does not support MSC4362.
|
|
371
|
+
*/
|
|
372
|
+
_defineProperty(this, "enableEncryptedStateEvents", void 0);
|
|
373
|
+
_defineProperty(this, "cryptoCallbacks", void 0);
|
|
374
|
+
// XXX: Intended private, used in code.
|
|
375
|
+
_defineProperty(this, "callEventHandler", void 0);
|
|
376
|
+
// XXX: Intended private, used in code.
|
|
377
|
+
_defineProperty(this, "groupCallEventHandler", void 0);
|
|
340
378
|
_defineProperty(this, "supportsCallTransfer", false);
|
|
341
379
|
// XXX: Intended private, used in code.
|
|
342
380
|
_defineProperty(this, "forceTURN", false);
|
|
343
381
|
// XXX: Intended private, used in code.
|
|
344
382
|
_defineProperty(this, "iceCandidatePoolSize", 0);
|
|
383
|
+
// XXX: Intended private, used in code.
|
|
384
|
+
_defineProperty(this, "idBaseUrl", void 0);
|
|
385
|
+
_defineProperty(this, "baseUrl", void 0);
|
|
386
|
+
_defineProperty(this, "isVoipWithNoMediaAllowed", void 0);
|
|
387
|
+
_defineProperty(this, "disableVoip", void 0);
|
|
388
|
+
_defineProperty(this, "useLivekitForGroupCalls", void 0);
|
|
345
389
|
// Note: these are all `protected` to let downstream consumers make mistakes if they want to.
|
|
346
390
|
// We don't technically support this usage, but have reasons to do this.
|
|
347
391
|
_defineProperty(this, "canSupportVoip", false);
|
|
@@ -349,15 +393,35 @@ export class MatrixClient extends TypedEventEmitter {
|
|
|
349
393
|
_defineProperty(this, "isGuestAccount", false);
|
|
350
394
|
_defineProperty(this, "ongoingScrollbacks", {});
|
|
351
395
|
_defineProperty(this, "notifTimelineSet", null);
|
|
396
|
+
/**
|
|
397
|
+
* Legacy crypto store used for migration from the legacy crypto to the rust crypto
|
|
398
|
+
* @private
|
|
399
|
+
*/
|
|
400
|
+
_defineProperty(this, "legacyCryptoStore", void 0);
|
|
401
|
+
_defineProperty(this, "verificationMethods", void 0);
|
|
352
402
|
_defineProperty(this, "fallbackICEServerAllowed", false);
|
|
403
|
+
_defineProperty(this, "syncApi", void 0);
|
|
404
|
+
_defineProperty(this, "roomNameGenerator", void 0);
|
|
405
|
+
_defineProperty(this, "pushRules", void 0);
|
|
406
|
+
_defineProperty(this, "syncLeftRoomsPromise", void 0);
|
|
353
407
|
_defineProperty(this, "syncedLeftRooms", false);
|
|
408
|
+
_defineProperty(this, "clientOpts", void 0);
|
|
409
|
+
_defineProperty(this, "clientWellKnownIntervalID", void 0);
|
|
410
|
+
_defineProperty(this, "canResetTimelineCallback", void 0);
|
|
354
411
|
_defineProperty(this, "canSupport", new Map());
|
|
355
412
|
// The pushprocessor caches useful things, so keep one and re-use it
|
|
356
413
|
_defineProperty(this, "pushProcessor", new PushProcessor(this));
|
|
414
|
+
// Promise to a response of the server's /versions response
|
|
415
|
+
// TODO: This should expire: https://github.com/matrix-org/matrix-js-sdk/issues/1020
|
|
416
|
+
_defineProperty(this, "serverVersionsPromise", void 0);
|
|
417
|
+
_defineProperty(this, "clientWellKnown", void 0);
|
|
418
|
+
_defineProperty(this, "clientWellKnownPromise", void 0);
|
|
357
419
|
_defineProperty(this, "turnServers", []);
|
|
358
420
|
_defineProperty(this, "turnServersExpiry", 0);
|
|
421
|
+
_defineProperty(this, "checkTurnServersIntervalID", void 0);
|
|
359
422
|
_defineProperty(this, "txnCtr", 0);
|
|
360
423
|
_defineProperty(this, "mediaHandler", new MediaHandler(this));
|
|
424
|
+
_defineProperty(this, "sessionId", void 0);
|
|
361
425
|
/** IDs of events which are currently being encrypted.
|
|
362
426
|
*
|
|
363
427
|
* This is part of the cancellation mechanism: if the event is no longer listed here when encryption completes,
|
|
@@ -365,6 +429,13 @@ export class MatrixClient extends TypedEventEmitter {
|
|
|
365
429
|
*/
|
|
366
430
|
_defineProperty(this, "eventsBeingEncrypted", new Set());
|
|
367
431
|
_defineProperty(this, "useE2eForGroupCall", true);
|
|
432
|
+
_defineProperty(this, "toDeviceMessageQueue", void 0);
|
|
433
|
+
_defineProperty(this, "livekitServiceURL", void 0);
|
|
434
|
+
_defineProperty(this, "_secretStorage", void 0);
|
|
435
|
+
// A manager for determining which invites should be ignored.
|
|
436
|
+
_defineProperty(this, "ignoredInvites", void 0);
|
|
437
|
+
_defineProperty(this, "matrixRTC", void 0);
|
|
438
|
+
_defineProperty(this, "serverCapabilitiesService", void 0);
|
|
368
439
|
_defineProperty(this, "startCallEventHandler", () => {
|
|
369
440
|
if (this.isInitialSyncComplete()) {
|
|
370
441
|
if (supportsMatrixCall()) {
|
|
@@ -2503,7 +2574,10 @@ export class MatrixClient extends TypedEventEmitter {
|
|
|
2503
2574
|
$delayId: delayId,
|
|
2504
2575
|
$action: action
|
|
2505
2576
|
});
|
|
2506
|
-
|
|
2577
|
+
// Although this endpoint supports being used without authentication,
|
|
2578
|
+
// do authenticate here to make ratelimiting apply per user instead of per source IP address,
|
|
2579
|
+
// if the server supports that
|
|
2580
|
+
return yield _this25.http.authedRequest(Method.Post, path, undefined, undefined, _objectSpread(_objectSpread({}, requestOptions), {}, {
|
|
2507
2581
|
prefix: "".concat(ClientPrefix.Unstable, "/").concat(UNSTABLE_MSC4140_DELAYED_EVENTS)
|
|
2508
2582
|
}));
|
|
2509
2583
|
} catch (e) {
|