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.
- package/CHANGELOG.md +11 -0
- package/README.md +1 -1
- package/lib/@types/AESEncryptedSecretStoragePayload.js +3 -1
- package/lib/@types/IIdentityServerProvider.js +3 -1
- package/lib/@types/PushRules.js +7 -7
- package/lib/@types/PushRules.js.map +1 -1
- package/lib/@types/auth.js +4 -4
- package/lib/@types/auth.js.map +1 -1
- package/lib/@types/beacon.js +2 -2
- package/lib/@types/beacon.js.map +1 -1
- package/lib/@types/common.js +3 -1
- package/lib/@types/crypto.js +3 -1
- package/lib/@types/event.js +20 -20
- package/lib/@types/event.js.map +1 -1
- package/lib/@types/events.js +3 -1
- package/lib/@types/extensible_events.js +6 -6
- package/lib/@types/extensible_events.js.map +1 -1
- package/lib/@types/global.d.js.map +1 -1
- package/lib/@types/json.js +3 -1
- package/lib/@types/local_notifications.js +3 -1
- package/lib/@types/location.js +4 -4
- package/lib/@types/location.js.map +1 -1
- package/lib/@types/matrix-sdk-crypto-wasm.d.js +3 -1
- package/lib/@types/media.js +3 -1
- package/lib/@types/membership.js +1 -1
- package/lib/@types/membership.js.map +1 -1
- package/lib/@types/partials.js +6 -6
- package/lib/@types/partials.js.map +1 -1
- package/lib/@types/polls.js +5 -5
- package/lib/@types/polls.js.map +1 -1
- package/lib/@types/read_receipts.js +2 -2
- package/lib/@types/read_receipts.js.map +1 -1
- package/lib/@types/registration.js +3 -1
- package/lib/@types/requests.js +1 -1
- package/lib/@types/requests.js.map +1 -1
- package/lib/@types/retention.js +1 -1
- package/lib/@types/retention.js.map +1 -1
- package/lib/@types/search.js +1 -1
- package/lib/@types/search.js.map +1 -1
- package/lib/@types/signed.js +3 -1
- package/lib/@types/spaces.js +3 -1
- package/lib/@types/state_events.js +3 -1
- package/lib/@types/synapse.js +3 -1
- package/lib/@types/sync.js +1 -1
- package/lib/@types/sync.js.map +1 -1
- package/lib/@types/threepids.js +1 -1
- package/lib/@types/threepids.js.map +1 -1
- package/lib/@types/topic.js +1 -1
- package/lib/@types/topic.js.map +1 -1
- package/lib/@types/uia.js +3 -1
- package/lib/NamespacedValue.js +8 -8
- package/lib/NamespacedValue.js.map +1 -1
- package/lib/ReEmitter.js +9 -16
- package/lib/ReEmitter.js.map +1 -1
- package/lib/ToDeviceMessageQueue.js +49 -57
- package/lib/ToDeviceMessageQueue.js.map +1 -1
- package/lib/autodiscovery.js +232 -247
- package/lib/autodiscovery.js.map +1 -1
- package/lib/base64.js +1 -1
- package/lib/base64.js.map +1 -1
- package/lib/browser-index.d.ts +2 -2
- package/lib/browser-index.d.ts.map +1 -1
- package/lib/browser-index.js +5 -5
- package/lib/browser-index.js.map +1 -1
- package/lib/capabilityPoller.js +19 -22
- package/lib/capabilityPoller.js.map +1 -1
- package/lib/client.d.ts +2 -8
- package/lib/client.d.ts.map +1 -1
- package/lib/client.js +2043 -2487
- package/lib/client.js.map +1 -1
- package/lib/common-crypto/CryptoBackend.js +2 -2
- package/lib/common-crypto/CryptoBackend.js.map +1 -1
- package/lib/common-crypto/key-passphrase.js.map +1 -1
- package/lib/content-helpers.js +43 -48
- package/lib/content-helpers.js.map +1 -1
- package/lib/content-repo.js +14 -24
- package/lib/content-repo.js.map +1 -1
- package/lib/crypto/store/base.js +6 -6
- package/lib/crypto/store/base.js.map +1 -1
- package/lib/crypto/store/indexeddb-crypto-store-backend.js +190 -238
- package/lib/crypto/store/indexeddb-crypto-store-backend.js.map +1 -1
- package/lib/crypto/store/indexeddb-crypto-store.js +25 -30
- package/lib/crypto/store/indexeddb-crypto-store.js.map +1 -1
- package/lib/crypto/store/localStorage-crypto-store.js +113 -145
- package/lib/crypto/store/localStorage-crypto-store.js.map +1 -1
- package/lib/crypto/store/memory-crypto-store.js +74 -105
- package/lib/crypto/store/memory-crypto-store.js.map +1 -1
- package/lib/crypto-api/CryptoEvent.js +1 -1
- package/lib/crypto-api/CryptoEvent.js.map +1 -1
- package/lib/crypto-api/CryptoEventHandlerMap.js +3 -1
- package/lib/crypto-api/index.d.ts +15 -6
- package/lib/crypto-api/index.d.ts.map +1 -1
- package/lib/crypto-api/index.js +22 -22
- package/lib/crypto-api/index.js.map +1 -1
- package/lib/crypto-api/key-passphrase.js +15 -23
- package/lib/crypto-api/key-passphrase.js.map +1 -1
- package/lib/crypto-api/keybackup.js +3 -1
- package/lib/crypto-api/recovery-key.js +11 -12
- package/lib/crypto-api/recovery-key.js.map +1 -1
- package/lib/crypto-api/verification.js +3 -3
- package/lib/crypto-api/verification.js.map +1 -1
- package/lib/digest.js +7 -14
- package/lib/digest.js.map +1 -1
- package/lib/embedded.d.ts.map +1 -1
- package/lib/embedded.js +380 -505
- package/lib/embedded.js.map +1 -1
- package/lib/errors.js +2 -2
- package/lib/errors.js.map +1 -1
- package/lib/event-mapper.js +10 -12
- package/lib/event-mapper.js.map +1 -1
- package/lib/extensible_events_v1/ExtensibleEvent.js.map +1 -1
- package/lib/extensible_events_v1/InvalidEventError.js.map +1 -1
- package/lib/extensible_events_v1/MessageEvent.js +11 -13
- package/lib/extensible_events_v1/MessageEvent.js.map +1 -1
- package/lib/extensible_events_v1/PollEndEvent.js +3 -4
- package/lib/extensible_events_v1/PollEndEvent.js.map +1 -1
- package/lib/extensible_events_v1/PollResponseEvent.js +5 -6
- package/lib/extensible_events_v1/PollResponseEvent.js.map +1 -1
- package/lib/extensible_events_v1/PollStartEvent.js +8 -10
- package/lib/extensible_events_v1/PollStartEvent.js.map +1 -1
- package/lib/extensible_events_v1/utilities.js.map +1 -1
- package/lib/feature.js +18 -31
- package/lib/feature.js.map +1 -1
- package/lib/filter-component.d.ts.map +1 -1
- package/lib/filter-component.js +20 -26
- package/lib/filter-component.js.map +1 -1
- package/lib/filter.js +14 -17
- package/lib/filter.js.map +1 -1
- package/lib/http-api/errors.js +28 -43
- package/lib/http-api/errors.js.map +1 -1
- package/lib/http-api/fetch.js +141 -159
- package/lib/http-api/fetch.js.map +1 -1
- package/lib/http-api/index.js +17 -20
- package/lib/http-api/index.js.map +1 -1
- package/lib/http-api/interface.js +1 -1
- package/lib/http-api/interface.js.map +1 -1
- package/lib/http-api/method.js +1 -1
- package/lib/http-api/method.js.map +1 -1
- package/lib/http-api/prefix.js +3 -3
- package/lib/http-api/prefix.js.map +1 -1
- package/lib/http-api/refresh.js +74 -94
- package/lib/http-api/refresh.js.map +1 -1
- package/lib/http-api/utils.d.ts +1 -1
- package/lib/http-api/utils.d.ts.map +1 -1
- package/lib/http-api/utils.js +34 -42
- package/lib/http-api/utils.js.map +1 -1
- package/lib/index.js.map +1 -1
- package/lib/indexeddb-helpers.js +3 -3
- package/lib/indexeddb-helpers.js.map +1 -1
- package/lib/indexeddb-worker.js.map +1 -1
- package/lib/interactive-auth.d.ts +5 -5
- package/lib/interactive-auth.d.ts.map +1 -1
- package/lib/interactive-auth.js +172 -204
- package/lib/interactive-auth.js.map +1 -1
- package/lib/logger.js +21 -57
- package/lib/logger.js.map +1 -1
- package/lib/matrix.js +7 -11
- package/lib/matrix.js.map +1 -1
- package/lib/matrixrtc/CallMembership.js +80 -74
- package/lib/matrixrtc/CallMembership.js.map +1 -1
- package/lib/matrixrtc/EncryptionManager.js +1 -1
- package/lib/matrixrtc/EncryptionManager.js.map +1 -1
- package/lib/matrixrtc/IKeyTransport.js +1 -1
- package/lib/matrixrtc/IKeyTransport.js.map +1 -1
- package/lib/matrixrtc/IMembershipManager.js +1 -1
- package/lib/matrixrtc/IMembershipManager.js.map +1 -1
- package/lib/matrixrtc/LivekitTransport.d.ts +1 -1
- package/lib/matrixrtc/LivekitTransport.js +4 -4
- package/lib/matrixrtc/LivekitTransport.js.map +1 -1
- package/lib/matrixrtc/MatrixRTCSession.js +137 -187
- package/lib/matrixrtc/MatrixRTCSession.js.map +1 -1
- package/lib/matrixrtc/MatrixRTCSessionManager.js +36 -41
- package/lib/matrixrtc/MatrixRTCSessionManager.js.map +1 -1
- package/lib/matrixrtc/MembershipManager.js +332 -378
- package/lib/matrixrtc/MembershipManager.js.map +1 -1
- package/lib/matrixrtc/MembershipManagerActionScheduler.js +54 -63
- package/lib/matrixrtc/MembershipManagerActionScheduler.js.map +1 -1
- package/lib/matrixrtc/RTCEncryptionManager.js +119 -143
- package/lib/matrixrtc/RTCEncryptionManager.js.map +1 -1
- package/lib/matrixrtc/ToDeviceKeyTransport.js +53 -58
- package/lib/matrixrtc/ToDeviceKeyTransport.js.map +1 -1
- package/lib/matrixrtc/index.js.map +1 -1
- package/lib/matrixrtc/membershipData/common.js +1 -1
- package/lib/matrixrtc/membershipData/common.js.map +1 -1
- package/lib/matrixrtc/membershipData/index.js.map +1 -1
- package/lib/matrixrtc/membershipData/rtc.js +15 -23
- package/lib/matrixrtc/membershipData/rtc.js.map +1 -1
- package/lib/matrixrtc/membershipData/session.js +4 -5
- package/lib/matrixrtc/membershipData/session.js.map +1 -1
- package/lib/matrixrtc/types.js +4 -6
- package/lib/matrixrtc/types.js.map +1 -1
- package/lib/matrixrtc/utils.js +4 -11
- package/lib/matrixrtc/utils.js.map +1 -1
- package/lib/models/MSC3089Branch.js +91 -116
- package/lib/models/MSC3089Branch.js.map +1 -1
- package/lib/models/MSC3089TreeSpace.js +209 -245
- package/lib/models/MSC3089TreeSpace.js.map +1 -1
- package/lib/models/ToDeviceMessage.js +3 -1
- package/lib/models/beacon.js +14 -13
- package/lib/models/beacon.js.map +1 -1
- package/lib/models/compare-event-ordering.js +13 -13
- package/lib/models/compare-event-ordering.js.map +1 -1
- package/lib/models/device.js +3 -3
- package/lib/models/device.js.map +1 -1
- package/lib/models/event-context.js +5 -8
- package/lib/models/event-context.js.map +1 -1
- package/lib/models/event-status.js +1 -1
- package/lib/models/event-status.js.map +1 -1
- package/lib/models/event-timeline-set.js +88 -94
- package/lib/models/event-timeline-set.js.map +1 -1
- package/lib/models/event-timeline.js +28 -30
- package/lib/models/event-timeline.js.map +1 -1
- package/lib/models/event.js +182 -226
- package/lib/models/event.js.map +1 -1
- package/lib/models/invites-ignorer-types.js +4 -4
- package/lib/models/invites-ignorer-types.js.map +1 -1
- package/lib/models/invites-ignorer.js +159 -179
- package/lib/models/invites-ignorer.js.map +1 -1
- package/lib/models/poll.js +71 -81
- package/lib/models/poll.js.map +1 -1
- package/lib/models/profile-keys.js +2 -2
- package/lib/models/profile-keys.js.map +1 -1
- package/lib/models/read-receipt.js +40 -56
- package/lib/models/read-receipt.js.map +1 -1
- package/lib/models/related-relations.js.map +1 -1
- package/lib/models/relations-container.js +22 -23
- package/lib/models/relations-container.js.map +1 -1
- package/lib/models/relations.js +133 -159
- package/lib/models/relations.js.map +1 -1
- package/lib/models/room-member.js +24 -29
- package/lib/models/room-member.js.map +1 -1
- package/lib/models/room-receipts.js +29 -43
- package/lib/models/room-receipts.js.map +1 -1
- package/lib/models/room-retention.js +74 -83
- package/lib/models/room-retention.js.map +1 -1
- package/lib/models/room-state.js +143 -172
- package/lib/models/room-state.js.map +1 -1
- package/lib/models/room-sticky-events.d.ts +1 -0
- package/lib/models/room-sticky-events.d.ts.map +1 -1
- package/lib/models/room-sticky-events.js +45 -65
- package/lib/models/room-sticky-events.js.map +1 -1
- package/lib/models/room-summary.js.map +1 -1
- package/lib/models/room.d.ts.map +1 -1
- package/lib/models/room.js +765 -909
- package/lib/models/room.js.map +1 -1
- package/lib/models/search-result.js +5 -5
- package/lib/models/search-result.js.map +1 -1
- package/lib/models/thread.js +225 -285
- package/lib/models/thread.js.map +1 -1
- package/lib/models/typed-event-emitter.js +7 -18
- package/lib/models/typed-event-emitter.js.map +1 -1
- package/lib/models/user.js +8 -8
- package/lib/models/user.js.map +1 -1
- package/lib/oidc/authorize.js +208 -241
- package/lib/oidc/authorize.js.map +1 -1
- package/lib/oidc/discovery.js +23 -36
- package/lib/oidc/discovery.js.map +1 -1
- package/lib/oidc/error.js +1 -1
- package/lib/oidc/error.js.map +1 -1
- package/lib/oidc/index.js +1 -0
- package/lib/oidc/index.js.map +1 -1
- package/lib/oidc/register.js +60 -66
- package/lib/oidc/register.js.map +1 -1
- package/lib/oidc/tokenRefresher.js +77 -91
- package/lib/oidc/tokenRefresher.js.map +1 -1
- package/lib/oidc/validate.js +18 -18
- package/lib/oidc/validate.js.map +1 -1
- package/lib/pushprocessor.js +71 -82
- package/lib/pushprocessor.js.map +1 -1
- package/lib/randomstring.js +9 -9
- package/lib/randomstring.js.map +1 -1
- package/lib/realtime-callbacks.js +25 -28
- package/lib/realtime-callbacks.js.map +1 -1
- package/lib/receipt-accumulator.d.ts +2 -0
- package/lib/receipt-accumulator.d.ts.map +1 -1
- package/lib/receipt-accumulator.js +14 -22
- package/lib/receipt-accumulator.js.map +1 -1
- package/lib/rendezvous/MSC4108SignInWithQR.js +271 -302
- package/lib/rendezvous/MSC4108SignInWithQR.js.map +1 -1
- package/lib/rendezvous/RendezvousChannel.js +3 -1
- package/lib/rendezvous/RendezvousCode.js +3 -1
- package/lib/rendezvous/RendezvousError.js.map +1 -1
- package/lib/rendezvous/RendezvousFailureReason.js +2 -2
- package/lib/rendezvous/RendezvousFailureReason.js.map +1 -1
- package/lib/rendezvous/RendezvousIntent.js +1 -1
- package/lib/rendezvous/RendezvousIntent.js.map +1 -1
- package/lib/rendezvous/RendezvousTransport.js +3 -1
- package/lib/rendezvous/channels/MSC4108SecureChannel.js +123 -147
- package/lib/rendezvous/channels/MSC4108SecureChannel.js.map +1 -1
- package/lib/rendezvous/index.js +44 -69
- package/lib/rendezvous/index.js.map +1 -1
- package/lib/rendezvous/transports/MSC4108RendezvousSession.d.ts +1 -1
- package/lib/rendezvous/transports/MSC4108RendezvousSession.js +134 -152
- package/lib/rendezvous/transports/MSC4108RendezvousSession.js.map +1 -1
- package/lib/retentionPolicy.js +6 -9
- package/lib/retentionPolicy.js.map +1 -1
- package/lib/room-hierarchy.js +52 -60
- package/lib/room-hierarchy.js.map +1 -1
- package/lib/rust-crypto/CrossSigningIdentity.js +94 -104
- package/lib/rust-crypto/CrossSigningIdentity.js.map +1 -1
- package/lib/rust-crypto/DehydratedDeviceManager.js +157 -190
- package/lib/rust-crypto/DehydratedDeviceManager.js.map +1 -1
- package/lib/rust-crypto/KeyClaimManager.js +18 -22
- package/lib/rust-crypto/KeyClaimManager.js.map +1 -1
- package/lib/rust-crypto/OutgoingRequestProcessor.js +109 -139
- package/lib/rust-crypto/OutgoingRequestProcessor.js.map +1 -1
- package/lib/rust-crypto/OutgoingRequestsManager.js +66 -80
- package/lib/rust-crypto/OutgoingRequestsManager.js.map +1 -1
- package/lib/rust-crypto/PerSessionKeyBackupDownloader.d.ts +1 -1
- package/lib/rust-crypto/PerSessionKeyBackupDownloader.js +196 -224
- package/lib/rust-crypto/PerSessionKeyBackupDownloader.js.map +1 -1
- package/lib/rust-crypto/RoomEncryptor.js +127 -143
- package/lib/rust-crypto/RoomEncryptor.js.map +1 -1
- package/lib/rust-crypto/backup.js +453 -549
- package/lib/rust-crypto/backup.js.map +1 -1
- package/lib/rust-crypto/constants.js +1 -1
- package/lib/rust-crypto/constants.js.map +1 -1
- package/lib/rust-crypto/device-converter.js +15 -28
- package/lib/rust-crypto/device-converter.js.map +1 -1
- package/lib/rust-crypto/index.js +103 -116
- package/lib/rust-crypto/index.js.map +1 -1
- package/lib/rust-crypto/libolm_migration.js +303 -365
- package/lib/rust-crypto/libolm_migration.js.map +1 -1
- package/lib/rust-crypto/rust-crypto.d.ts +5 -1
- package/lib/rust-crypto/rust-crypto.d.ts.map +1 -1
- package/lib/rust-crypto/rust-crypto.js +1067 -1332
- package/lib/rust-crypto/rust-crypto.js.map +1 -1
- package/lib/rust-crypto/secret-storage.js +12 -25
- package/lib/rust-crypto/secret-storage.js.map +1 -1
- package/lib/rust-crypto/verification.js +137 -189
- package/lib/rust-crypto/verification.js.map +1 -1
- package/lib/scheduler.js +44 -19
- package/lib/scheduler.js.map +1 -1
- package/lib/secret-storage.js +179 -213
- package/lib/secret-storage.js.map +1 -1
- package/lib/serverCapabilities.js +6 -9
- package/lib/serverCapabilities.js.map +1 -1
- package/lib/service-types.js +1 -1
- package/lib/service-types.js.map +1 -1
- package/lib/sliding-sync-sdk.d.ts.map +1 -1
- package/lib/sliding-sync-sdk.js +368 -424
- package/lib/sliding-sync-sdk.js.map +1 -1
- package/lib/sliding-sync.js +135 -171
- package/lib/sliding-sync.js.map +1 -1
- package/lib/store/index.js +3 -1
- package/lib/store/indexeddb-backend.js +3 -1
- package/lib/store/indexeddb-local-backend.js +194 -253
- package/lib/store/indexeddb-local-backend.js.map +1 -1
- package/lib/store/indexeddb-remote-backend.js +33 -63
- package/lib/store/indexeddb-remote-backend.js.map +1 -1
- package/lib/store/indexeddb-store-worker.js +22 -23
- package/lib/store/indexeddb-store-worker.js.map +1 -1
- package/lib/store/indexeddb.js +44 -71
- package/lib/store/indexeddb.js.map +1 -1
- package/lib/store/local-storage-events-emitter.js +2 -2
- package/lib/store/local-storage-events-emitter.js.map +1 -1
- package/lib/store/memory.js +34 -57
- package/lib/store/memory.js.map +1 -1
- package/lib/store/stub.js +22 -35
- package/lib/store/stub.js.map +1 -1
- package/lib/sync-accumulator.js +54 -66
- package/lib/sync-accumulator.js.map +1 -1
- package/lib/sync.d.ts.map +1 -1
- package/lib/sync.js +905 -998
- package/lib/sync.js.map +1 -1
- package/lib/testing.js +63 -105
- package/lib/testing.js.map +1 -1
- package/lib/thread-utils.js +1 -4
- package/lib/thread-utils.js.map +1 -1
- package/lib/timeline-window.js +89 -102
- package/lib/timeline-window.js.map +1 -1
- package/lib/types.js +1 -1
- package/lib/types.js.map +1 -1
- package/lib/utils/decryptAESSecretStorageItem.js +14 -25
- package/lib/utils/decryptAESSecretStorageItem.js.map +1 -1
- package/lib/utils/encryptAESSecretStorageItem.js +27 -38
- package/lib/utils/encryptAESSecretStorageItem.js.map +1 -1
- package/lib/utils/internal/deriveKeys.js +25 -32
- package/lib/utils/internal/deriveKeys.js.map +1 -1
- package/lib/utils/roomVersion.js +1 -1
- package/lib/utils/roomVersion.js.map +1 -1
- package/lib/utils.js +83 -135
- package/lib/utils.js.map +1 -1
- package/lib/version-support.js +3 -3
- package/lib/version-support.js.map +1 -1
- package/lib/webrtc/audioContext.js +5 -6
- package/lib/webrtc/audioContext.js.map +1 -1
- package/lib/webrtc/call.js +1081 -1250
- package/lib/webrtc/call.js.map +1 -1
- package/lib/webrtc/callEventHandler.js +202 -214
- package/lib/webrtc/callEventHandler.js.map +1 -1
- package/lib/webrtc/callEventTypes.js +2 -2
- package/lib/webrtc/callEventTypes.js.map +1 -1
- package/lib/webrtc/callFeed.js +18 -20
- package/lib/webrtc/callFeed.js.map +1 -1
- package/lib/webrtc/groupCall.js +513 -602
- package/lib/webrtc/groupCall.js.map +1 -1
- package/lib/webrtc/groupCallEventHandler.js +59 -62
- package/lib/webrtc/groupCallEventHandler.js.map +1 -1
- package/lib/webrtc/mediaHandler.js +198 -232
- package/lib/webrtc/mediaHandler.js.map +1 -1
- package/lib/webrtc/stats/callFeedStatsReporter.js +16 -20
- package/lib/webrtc/stats/callFeedStatsReporter.js.map +1 -1
- package/lib/webrtc/stats/callStatsReportGatherer.js +67 -75
- package/lib/webrtc/stats/callStatsReportGatherer.js.map +1 -1
- package/lib/webrtc/stats/callStatsReportSummary.js +3 -1
- package/lib/webrtc/stats/connectionStats.js.map +1 -1
- package/lib/webrtc/stats/connectionStatsBuilder.js +2 -2
- package/lib/webrtc/stats/connectionStatsBuilder.js.map +1 -1
- package/lib/webrtc/stats/connectionStatsReportBuilder.js +20 -24
- package/lib/webrtc/stats/connectionStatsReportBuilder.js.map +1 -1
- package/lib/webrtc/stats/groupCallStats.js +6 -8
- package/lib/webrtc/stats/groupCallStats.js.map +1 -1
- package/lib/webrtc/stats/media/mediaSsrcHandler.js +7 -8
- package/lib/webrtc/stats/media/mediaSsrcHandler.js.map +1 -1
- package/lib/webrtc/stats/media/mediaTrackHandler.js +7 -9
- package/lib/webrtc/stats/media/mediaTrackHandler.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 +7 -7
- package/lib/webrtc/stats/media/mediaTrackStatsHandler.js.map +1 -1
- package/lib/webrtc/stats/statsReport.js +1 -1
- package/lib/webrtc/stats/statsReport.js.map +1 -1
- package/lib/webrtc/stats/statsReportEmitter.js.map +1 -1
- package/lib/webrtc/stats/summaryStatsReportGatherer.js +14 -14
- package/lib/webrtc/stats/summaryStatsReportGatherer.js.map +1 -1
- package/lib/webrtc/stats/trackStatsBuilder.js +32 -34
- package/lib/webrtc/stats/trackStatsBuilder.js.map +1 -1
- package/lib/webrtc/stats/transportStats.js +3 -1
- package/lib/webrtc/stats/transportStatsBuilder.js +9 -9
- package/lib/webrtc/stats/transportStatsBuilder.js.map +1 -1
- package/lib/webrtc/stats/valueFormatter.js +1 -1
- package/lib/webrtc/stats/valueFormatter.js.map +1 -1
- package/package.json +18 -33
- package/src/@types/global.d.ts +2 -2
- package/src/ToDeviceMessageQueue.ts +2 -2
- package/src/browser-index.ts +4 -4
- package/src/client.ts +15 -20
- package/src/crypto-api/index.ts +17 -6
- package/src/embedded.ts +4 -6
- package/src/filter-component.ts +1 -0
- package/src/http-api/utils.ts +1 -1
- package/src/interactive-auth.ts +11 -5
- package/src/matrixrtc/LivekitTransport.ts +1 -1
- package/src/matrixrtc/MatrixRTCSession.ts +1 -1
- package/src/models/MSC3089Branch.ts +1 -1
- package/src/models/room-sticky-events.ts +1 -0
- package/src/models/room.ts +9 -11
- package/src/receipt-accumulator.ts +2 -0
- package/src/rendezvous/index.ts +1 -1
- package/src/rendezvous/transports/MSC4108RendezvousSession.ts +2 -2
- package/src/rust-crypto/PerSessionKeyBackupDownloader.ts +1 -1
- package/src/rust-crypto/index.ts +6 -6
- package/src/rust-crypto/rust-crypto.ts +31 -7
- package/src/rust-crypto/verification.ts +1 -1
- package/src/sliding-sync-sdk.ts +5 -7
- package/src/store/indexeddb-local-backend.ts +3 -3
- package/src/sync.ts +6 -8
|
@@ -1,8 +1,5 @@
|
|
|
1
|
-
import
|
|
2
|
-
import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
|
|
1
|
+
import _objectSpread from "@babel/runtime/helpers/objectSpread2";
|
|
3
2
|
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
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; }
|
|
6
3
|
/*
|
|
7
4
|
Copyright 2017 - 2021 The Matrix.org Foundation C.I.C.
|
|
8
5
|
|
|
@@ -25,9 +22,9 @@ function encodeSessionKey(senderCurve25519Key, sessionId) {
|
|
|
25
22
|
return encodeURIComponent(senderCurve25519Key) + "/" + encodeURIComponent(sessionId);
|
|
26
23
|
}
|
|
27
24
|
function decodeSessionKey(key) {
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
25
|
+
const keyParts = key.split("/");
|
|
26
|
+
const senderKey = decodeURIComponent(keyParts[0]);
|
|
27
|
+
const sessionId = decodeURIComponent(keyParts[1]);
|
|
31
28
|
return {
|
|
32
29
|
senderKey,
|
|
33
30
|
sessionId
|
|
@@ -58,12 +55,9 @@ export class MemoryCryptoStore {
|
|
|
58
55
|
*
|
|
59
56
|
* @internal
|
|
60
57
|
*/
|
|
61
|
-
containsData() {
|
|
62
|
-
|
|
63
|
-
return
|
|
64
|
-
// If it contains anything, it should contain an account.
|
|
65
|
-
return _this.account !== null;
|
|
66
|
-
})();
|
|
58
|
+
async containsData() {
|
|
59
|
+
// If it contains anything, it should contain an account.
|
|
60
|
+
return this.account !== null;
|
|
67
61
|
}
|
|
68
62
|
|
|
69
63
|
/**
|
|
@@ -73,12 +67,9 @@ export class MemoryCryptoStore {
|
|
|
73
67
|
*
|
|
74
68
|
* @returns resolves to the store.
|
|
75
69
|
*/
|
|
76
|
-
startup() {
|
|
77
|
-
|
|
78
|
-
return
|
|
79
|
-
// No startup work to do for the memory store.
|
|
80
|
-
return _this2;
|
|
81
|
-
})();
|
|
70
|
+
async startup() {
|
|
71
|
+
// No startup work to do for the memory store.
|
|
72
|
+
return this;
|
|
82
73
|
}
|
|
83
74
|
|
|
84
75
|
/**
|
|
@@ -97,11 +88,8 @@ export class MemoryCryptoStore {
|
|
|
97
88
|
*
|
|
98
89
|
* @internal
|
|
99
90
|
*/
|
|
100
|
-
getMigrationState() {
|
|
101
|
-
|
|
102
|
-
return _asyncToGenerator(function* () {
|
|
103
|
-
return _this3.migrationState;
|
|
104
|
-
})();
|
|
91
|
+
async getMigrationState() {
|
|
92
|
+
return this.migrationState;
|
|
105
93
|
}
|
|
106
94
|
|
|
107
95
|
/**
|
|
@@ -111,11 +99,8 @@ export class MemoryCryptoStore {
|
|
|
111
99
|
*
|
|
112
100
|
* @internal
|
|
113
101
|
*/
|
|
114
|
-
setMigrationState(migrationState) {
|
|
115
|
-
|
|
116
|
-
return _asyncToGenerator(function* () {
|
|
117
|
-
_this4.migrationState = migrationState;
|
|
118
|
-
})();
|
|
102
|
+
async setMigrationState(migrationState) {
|
|
103
|
+
this.migrationState = migrationState;
|
|
119
104
|
}
|
|
120
105
|
|
|
121
106
|
// Olm Account
|
|
@@ -130,7 +115,7 @@ export class MemoryCryptoStore {
|
|
|
130
115
|
func(this.crossSigningKeys);
|
|
131
116
|
}
|
|
132
117
|
getSecretStorePrivateKey(txn, func, type) {
|
|
133
|
-
|
|
118
|
+
const result = this.privateKeys[type];
|
|
134
119
|
func(result || null);
|
|
135
120
|
}
|
|
136
121
|
storeSecretStorePrivateKey(txn, type, key) {
|
|
@@ -140,21 +125,21 @@ export class MemoryCryptoStore {
|
|
|
140
125
|
// Olm Sessions
|
|
141
126
|
|
|
142
127
|
countEndToEndSessions(txn, func) {
|
|
143
|
-
|
|
144
|
-
for (
|
|
128
|
+
let count = 0;
|
|
129
|
+
for (const deviceSessions of Object.values(this.sessions)) {
|
|
145
130
|
count += Object.keys(deviceSessions).length;
|
|
146
131
|
}
|
|
147
132
|
func(count);
|
|
148
133
|
}
|
|
149
134
|
getEndToEndSession(deviceKey, sessionId, txn, func) {
|
|
150
|
-
|
|
135
|
+
const deviceSessions = this.sessions[deviceKey] || {};
|
|
151
136
|
func(deviceSessions[sessionId] || null);
|
|
152
137
|
}
|
|
153
138
|
getEndToEndSessions(deviceKey, txn, func) {
|
|
154
139
|
func(this.sessions[deviceKey] || {});
|
|
155
140
|
}
|
|
156
141
|
storeEndToEndSession(deviceKey, sessionId, sessionInfo, txn) {
|
|
157
|
-
|
|
142
|
+
let deviceSessions = this.sessions[deviceKey];
|
|
158
143
|
if (deviceSessions === undefined) {
|
|
159
144
|
deviceSessions = {};
|
|
160
145
|
this.sessions[deviceKey] = deviceSessions;
|
|
@@ -169,26 +154,23 @@ export class MemoryCryptoStore {
|
|
|
169
154
|
*
|
|
170
155
|
* @internal
|
|
171
156
|
*/
|
|
172
|
-
getEndToEndSessionsBatch() {
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
result
|
|
179
|
-
if (result.length >= SESSION_BATCH_SIZE) {
|
|
180
|
-
return result;
|
|
181
|
-
}
|
|
157
|
+
async getEndToEndSessionsBatch() {
|
|
158
|
+
const result = [];
|
|
159
|
+
for (const deviceSessions of Object.values(this.sessions)) {
|
|
160
|
+
for (const session of Object.values(deviceSessions)) {
|
|
161
|
+
result.push(session);
|
|
162
|
+
if (result.length >= SESSION_BATCH_SIZE) {
|
|
163
|
+
return result;
|
|
182
164
|
}
|
|
183
165
|
}
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
166
|
+
}
|
|
167
|
+
if (result.length === 0) {
|
|
168
|
+
// No sessions left.
|
|
169
|
+
return null;
|
|
170
|
+
}
|
|
188
171
|
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
})();
|
|
172
|
+
// There are fewer sessions than the batch size; return the final batch of sessions.
|
|
173
|
+
return result;
|
|
192
174
|
}
|
|
193
175
|
|
|
194
176
|
/**
|
|
@@ -198,30 +180,28 @@ export class MemoryCryptoStore {
|
|
|
198
180
|
*
|
|
199
181
|
* @internal
|
|
200
182
|
*/
|
|
201
|
-
deleteEndToEndSessionsBatch(sessions) {
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
delete _this6.sessions[deviceKey];
|
|
212
|
-
}
|
|
183
|
+
async deleteEndToEndSessionsBatch(sessions) {
|
|
184
|
+
for (const {
|
|
185
|
+
deviceKey,
|
|
186
|
+
sessionId
|
|
187
|
+
} of sessions) {
|
|
188
|
+
const deviceSessions = this.sessions[deviceKey] || {};
|
|
189
|
+
delete deviceSessions[sessionId];
|
|
190
|
+
if (Object.keys(deviceSessions).length === 0) {
|
|
191
|
+
// No more sessions for this device.
|
|
192
|
+
delete this.sessions[deviceKey];
|
|
213
193
|
}
|
|
214
|
-
}
|
|
194
|
+
}
|
|
215
195
|
}
|
|
216
196
|
|
|
217
197
|
// Inbound Group Sessions
|
|
218
198
|
|
|
219
199
|
getEndToEndInboundGroupSession(senderCurve25519Key, sessionId, txn, func) {
|
|
220
|
-
|
|
200
|
+
const k = encodeSessionKey(senderCurve25519Key, sessionId);
|
|
221
201
|
func(this.inboundGroupSessions[k] || null, this.inboundGroupSessionsWithheld[k] || null);
|
|
222
202
|
}
|
|
223
203
|
storeEndToEndInboundGroupSession(senderCurve25519Key, sessionId, sessionData, txn) {
|
|
224
|
-
|
|
204
|
+
const k = encodeSessionKey(senderCurve25519Key, sessionId);
|
|
225
205
|
this.inboundGroupSessions[k] = sessionData;
|
|
226
206
|
}
|
|
227
207
|
|
|
@@ -232,11 +212,8 @@ export class MemoryCryptoStore {
|
|
|
232
212
|
*
|
|
233
213
|
* @internal
|
|
234
214
|
*/
|
|
235
|
-
countEndToEndInboundGroupSessions() {
|
|
236
|
-
|
|
237
|
-
return _asyncToGenerator(function* () {
|
|
238
|
-
return Object.keys(_this7.inboundGroupSessions).length;
|
|
239
|
-
})();
|
|
215
|
+
async countEndToEndInboundGroupSessions() {
|
|
216
|
+
return Object.keys(this.inboundGroupSessions).length;
|
|
240
217
|
}
|
|
241
218
|
|
|
242
219
|
/**
|
|
@@ -246,30 +223,24 @@ export class MemoryCryptoStore {
|
|
|
246
223
|
*
|
|
247
224
|
* @internal
|
|
248
225
|
*/
|
|
249
|
-
getEndToEndInboundGroupSessionsBatch() {
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
result
|
|
258
|
-
sessionData: session,
|
|
259
|
-
needsBackup: key in _this8.sessionsNeedingBackup
|
|
260
|
-
}));
|
|
261
|
-
if (result.length >= SESSION_BATCH_SIZE) {
|
|
262
|
-
return result;
|
|
263
|
-
}
|
|
264
|
-
}
|
|
265
|
-
if (result.length === 0) {
|
|
266
|
-
// No sessions left.
|
|
267
|
-
return null;
|
|
226
|
+
async getEndToEndInboundGroupSessionsBatch() {
|
|
227
|
+
const result = [];
|
|
228
|
+
for (const [key, session] of Object.entries(this.inboundGroupSessions)) {
|
|
229
|
+
result.push(_objectSpread(_objectSpread({}, decodeSessionKey(key)), {}, {
|
|
230
|
+
sessionData: session,
|
|
231
|
+
needsBackup: key in this.sessionsNeedingBackup
|
|
232
|
+
}));
|
|
233
|
+
if (result.length >= SESSION_BATCH_SIZE) {
|
|
234
|
+
return result;
|
|
268
235
|
}
|
|
236
|
+
}
|
|
237
|
+
if (result.length === 0) {
|
|
238
|
+
// No sessions left.
|
|
239
|
+
return null;
|
|
240
|
+
}
|
|
269
241
|
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
})();
|
|
242
|
+
// There are fewer sessions than the batch size; return the final batch of sessions.
|
|
243
|
+
return result;
|
|
273
244
|
}
|
|
274
245
|
|
|
275
246
|
/**
|
|
@@ -279,16 +250,14 @@ export class MemoryCryptoStore {
|
|
|
279
250
|
*
|
|
280
251
|
* @internal
|
|
281
252
|
*/
|
|
282
|
-
deleteEndToEndInboundGroupSessionsBatch(sessions) {
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
}
|
|
291
|
-
})();
|
|
253
|
+
async deleteEndToEndInboundGroupSessionsBatch(sessions) {
|
|
254
|
+
for (const {
|
|
255
|
+
senderKey,
|
|
256
|
+
sessionId
|
|
257
|
+
} of sessions) {
|
|
258
|
+
const k = encodeSessionKey(senderKey, sessionId);
|
|
259
|
+
delete this.inboundGroupSessions[k];
|
|
260
|
+
}
|
|
292
261
|
}
|
|
293
262
|
|
|
294
263
|
// E2E rooms
|
|
@@ -297,8 +266,8 @@ export class MemoryCryptoStore {
|
|
|
297
266
|
func(this.rooms);
|
|
298
267
|
}
|
|
299
268
|
markSessionsNeedingBackup(sessions) {
|
|
300
|
-
for (
|
|
301
|
-
|
|
269
|
+
for (const session of sessions) {
|
|
270
|
+
const sessionKey = encodeSessionKey(session.senderKey, session.sessionId);
|
|
302
271
|
this.sessionsNeedingBackup[sessionKey] = true;
|
|
303
272
|
}
|
|
304
273
|
return Promise.resolve();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memory-crypto-store.js","names":["safeSet","MigrationState","SESSION_BATCH_SIZE","encodeSessionKey","senderCurve25519Key","sessionId","encodeURIComponent","decodeSessionKey","key","keyParts","split","senderKey","decodeURIComponent","MemoryCryptoStore","constructor","_defineProperty","NOT_STARTED","containsData","_this","_asyncToGenerator","account","startup","_this2","deleteAllData","Promise","resolve","getMigrationState","_this3","migrationState","setMigrationState","_this4","getAccount","txn","func","storeAccount","accountPickle","getCrossSigningKeys","crossSigningKeys","getSecretStorePrivateKey","type","result","privateKeys","storeSecretStorePrivateKey","countEndToEndSessions","count","deviceSessions","Object","values","sessions","keys","length","getEndToEndSession","deviceKey","getEndToEndSessions","storeEndToEndSession","sessionInfo","undefined","getEndToEndSessionsBatch","_this5","session","push","deleteEndToEndSessionsBatch","_this6","_ref2","getEndToEndInboundGroupSession","k","inboundGroupSessions","inboundGroupSessionsWithheld","storeEndToEndInboundGroupSession","sessionData","countEndToEndInboundGroupSessions","_this7","getEndToEndInboundGroupSessionsBatch","_this8","_ref5","entries","_ref4","_slicedToArray","_objectSpread","needsBackup","sessionsNeedingBackup","deleteEndToEndInboundGroupSessionsBatch","_this9","_ref7","getEndToEndRooms","rooms","markSessionsNeedingBackup","sessionKey","doTxn","mode","stores"],"sources":["../../../src/crypto/store/memory-crypto-store.ts"],"sourcesContent":["/*\nCopyright 2017 - 2021 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport { safeSet } from \"../../utils.ts\";\nimport {\n type CryptoStore,\n type ISession,\n type SessionExtended,\n type ISessionInfo,\n type IWithheld,\n MigrationState,\n type Mode,\n type SecretStorePrivateKeys,\n SESSION_BATCH_SIZE,\n type InboundGroupSessionData,\n type IRoomEncryption,\n} from \"./base.ts\";\nimport { type CrossSigningKeyInfo } from \"../../crypto-api/index.ts\";\n\nfunction encodeSessionKey(senderCurve25519Key: string, sessionId: string): string {\n return encodeURIComponent(senderCurve25519Key) + \"/\" + encodeURIComponent(sessionId);\n}\n\nfunction decodeSessionKey(key: string): { senderKey: string; sessionId: string } {\n const keyParts = key.split(\"/\");\n const senderKey = decodeURIComponent(keyParts[0]);\n const sessionId = decodeURIComponent(keyParts[1]);\n return { senderKey, sessionId };\n}\n\n/**\n * Internal module. in-memory storage for e2e.\n */\n\nexport class MemoryCryptoStore implements CryptoStore {\n private migrationState: MigrationState = MigrationState.NOT_STARTED;\n private account: string | null = null;\n private crossSigningKeys: Record<string, CrossSigningKeyInfo> | null = null;\n private privateKeys: Partial<SecretStorePrivateKeys> = {};\n\n private sessions: { [deviceKey: string]: { [sessionId: string]: ISessionInfo } } = {};\n private inboundGroupSessions: { [sessionKey: string]: InboundGroupSessionData } = {};\n private inboundGroupSessionsWithheld: Record<string, IWithheld> = {};\n // Opaque device data object\n private rooms: { [roomId: string]: IRoomEncryption } = {};\n private sessionsNeedingBackup: { [sessionKey: string]: boolean } = {};\n\n /**\n * Returns true if this CryptoStore has ever been initialised (ie, it might contain data).\n *\n * Implementation of {@link CryptoStore.containsData}.\n *\n * @internal\n */\n public async containsData(): Promise<boolean> {\n // If it contains anything, it should contain an account.\n return this.account !== null;\n }\n\n /**\n * Ensure the database exists and is up-to-date.\n *\n * This must be called before the store can be used.\n *\n * @returns resolves to the store.\n */\n public async startup(): Promise<CryptoStore> {\n // No startup work to do for the memory store.\n return this;\n }\n\n /**\n * Delete all data from this store.\n *\n * @returns Promise which resolves when the store has been cleared.\n */\n public deleteAllData(): Promise<void> {\n return Promise.resolve();\n }\n\n /**\n * Get data on how much of the libolm to Rust Crypto migration has been done.\n *\n * Implementation of {@link CryptoStore.getMigrationState}.\n *\n * @internal\n */\n public async getMigrationState(): Promise<MigrationState> {\n return this.migrationState;\n }\n\n /**\n * Set data on how much of the libolm to Rust Crypto migration has been done.\n *\n * Implementation of {@link CryptoStore.setMigrationState}.\n *\n * @internal\n */\n public async setMigrationState(migrationState: MigrationState): Promise<void> {\n this.migrationState = migrationState;\n }\n\n // Olm Account\n\n public getAccount(txn: unknown, func: (accountPickle: string | null) => void): void {\n func(this.account);\n }\n\n public storeAccount(txn: unknown, accountPickle: string): void {\n this.account = accountPickle;\n }\n\n public getCrossSigningKeys(txn: unknown, func: (keys: Record<string, CrossSigningKeyInfo> | null) => void): void {\n func(this.crossSigningKeys);\n }\n\n public getSecretStorePrivateKey<K extends keyof SecretStorePrivateKeys>(\n txn: unknown,\n func: (key: SecretStorePrivateKeys[K] | null) => void,\n type: K,\n ): void {\n const result = this.privateKeys[type] as SecretStorePrivateKeys[K] | undefined;\n func(result || null);\n }\n\n public storeSecretStorePrivateKey<K extends keyof SecretStorePrivateKeys>(\n txn: unknown,\n type: K,\n key: SecretStorePrivateKeys[K],\n ): void {\n this.privateKeys[type] = key;\n }\n\n // Olm Sessions\n\n public countEndToEndSessions(txn: unknown, func: (count: number) => void): void {\n let count = 0;\n for (const deviceSessions of Object.values(this.sessions)) {\n count += Object.keys(deviceSessions).length;\n }\n func(count);\n }\n\n public getEndToEndSession(\n deviceKey: string,\n sessionId: string,\n txn: unknown,\n func: (session: ISessionInfo) => void,\n ): void {\n const deviceSessions = this.sessions[deviceKey] || {};\n func(deviceSessions[sessionId] || null);\n }\n\n public getEndToEndSessions(\n deviceKey: string,\n txn: unknown,\n func: (sessions: { [sessionId: string]: ISessionInfo }) => void,\n ): void {\n func(this.sessions[deviceKey] || {});\n }\n\n public storeEndToEndSession(deviceKey: string, sessionId: string, sessionInfo: ISessionInfo, txn: unknown): void {\n let deviceSessions = this.sessions[deviceKey];\n if (deviceSessions === undefined) {\n deviceSessions = {};\n this.sessions[deviceKey] = deviceSessions;\n }\n safeSet(deviceSessions, sessionId, sessionInfo);\n }\n\n /**\n * Fetch a batch of Olm sessions from the database.\n *\n * Implementation of {@link CryptoStore.getEndToEndSessionsBatch}.\n *\n * @internal\n */\n public async getEndToEndSessionsBatch(): Promise<null | ISessionInfo[]> {\n const result: ISessionInfo[] = [];\n for (const deviceSessions of Object.values(this.sessions)) {\n for (const session of Object.values(deviceSessions)) {\n result.push(session);\n if (result.length >= SESSION_BATCH_SIZE) {\n return result;\n }\n }\n }\n\n if (result.length === 0) {\n // No sessions left.\n return null;\n }\n\n // There are fewer sessions than the batch size; return the final batch of sessions.\n return result;\n }\n\n /**\n * Delete a batch of Olm sessions from the database.\n *\n * Implementation of {@link CryptoStore.deleteEndToEndSessionsBatch}.\n *\n * @internal\n */\n public async deleteEndToEndSessionsBatch(sessions: { deviceKey: string; sessionId: string }[]): Promise<void> {\n for (const { deviceKey, sessionId } of sessions) {\n const deviceSessions = this.sessions[deviceKey] || {};\n delete deviceSessions[sessionId];\n if (Object.keys(deviceSessions).length === 0) {\n // No more sessions for this device.\n delete this.sessions[deviceKey];\n }\n }\n }\n\n // Inbound Group Sessions\n\n public getEndToEndInboundGroupSession(\n senderCurve25519Key: string,\n sessionId: string,\n txn: unknown,\n func: (groupSession: InboundGroupSessionData | null, groupSessionWithheld: IWithheld | null) => void,\n ): void {\n const k = encodeSessionKey(senderCurve25519Key, sessionId);\n func(this.inboundGroupSessions[k] || null, this.inboundGroupSessionsWithheld[k] || null);\n }\n\n public storeEndToEndInboundGroupSession(\n senderCurve25519Key: string,\n sessionId: string,\n sessionData: InboundGroupSessionData,\n txn: unknown,\n ): void {\n const k = encodeSessionKey(senderCurve25519Key, sessionId);\n this.inboundGroupSessions[k] = sessionData;\n }\n\n /**\n * Count the number of Megolm sessions in the database.\n *\n * Implementation of {@link CryptoStore.countEndToEndInboundGroupSessions}.\n *\n * @internal\n */\n public async countEndToEndInboundGroupSessions(): Promise<number> {\n return Object.keys(this.inboundGroupSessions).length;\n }\n\n /**\n * Fetch a batch of Megolm sessions from the database.\n *\n * Implementation of {@link CryptoStore.getEndToEndInboundGroupSessionsBatch}.\n *\n * @internal\n */\n public async getEndToEndInboundGroupSessionsBatch(): Promise<null | SessionExtended[]> {\n const result: SessionExtended[] = [];\n for (const [key, session] of Object.entries(this.inboundGroupSessions)) {\n result.push({\n ...decodeSessionKey(key),\n sessionData: session,\n needsBackup: key in this.sessionsNeedingBackup,\n });\n if (result.length >= SESSION_BATCH_SIZE) {\n return result;\n }\n }\n\n if (result.length === 0) {\n // No sessions left.\n return null;\n }\n\n // There are fewer sessions than the batch size; return the final batch of sessions.\n return result;\n }\n\n /**\n * Delete a batch of Megolm sessions from the database.\n *\n * Implementation of {@link CryptoStore.deleteEndToEndInboundGroupSessionsBatch}.\n *\n * @internal\n */\n public async deleteEndToEndInboundGroupSessionsBatch(\n sessions: { senderKey: string; sessionId: string }[],\n ): Promise<void> {\n for (const { senderKey, sessionId } of sessions) {\n const k = encodeSessionKey(senderKey, sessionId);\n delete this.inboundGroupSessions[k];\n }\n }\n\n // E2E rooms\n\n public getEndToEndRooms(txn: unknown, func: (rooms: Record<string, IRoomEncryption>) => void): void {\n func(this.rooms);\n }\n\n public markSessionsNeedingBackup(sessions: ISession[]): Promise<void> {\n for (const session of sessions) {\n const sessionKey = encodeSessionKey(session.senderKey, session.sessionId);\n this.sessionsNeedingBackup[sessionKey] = true;\n }\n return Promise.resolve();\n }\n\n // Session key backups\n\n public doTxn<T>(mode: Mode, stores: Iterable<string>, func: (txn?: unknown) => T): Promise<T> {\n return Promise.resolve(func(null));\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"memory-crypto-store.js","names":[],"sources":["../../../src/crypto/store/memory-crypto-store.ts"],"sourcesContent":["/*\nCopyright 2017 - 2021 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport { safeSet } from \"../../utils.ts\";\nimport {\n type CryptoStore,\n type ISession,\n type SessionExtended,\n type ISessionInfo,\n type IWithheld,\n MigrationState,\n type Mode,\n type SecretStorePrivateKeys,\n SESSION_BATCH_SIZE,\n type InboundGroupSessionData,\n type IRoomEncryption,\n} from \"./base.ts\";\nimport { type CrossSigningKeyInfo } from \"../../crypto-api/index.ts\";\n\nfunction encodeSessionKey(senderCurve25519Key: string, sessionId: string): string {\n return encodeURIComponent(senderCurve25519Key) + \"/\" + encodeURIComponent(sessionId);\n}\n\nfunction decodeSessionKey(key: string): { senderKey: string; sessionId: string } {\n const keyParts = key.split(\"/\");\n const senderKey = decodeURIComponent(keyParts[0]);\n const sessionId = decodeURIComponent(keyParts[1]);\n return { senderKey, sessionId };\n}\n\n/**\n * Internal module. in-memory storage for e2e.\n */\n\nexport class MemoryCryptoStore implements CryptoStore {\n private migrationState: MigrationState = MigrationState.NOT_STARTED;\n private account: string | null = null;\n private crossSigningKeys: Record<string, CrossSigningKeyInfo> | null = null;\n private privateKeys: Partial<SecretStorePrivateKeys> = {};\n\n private sessions: { [deviceKey: string]: { [sessionId: string]: ISessionInfo } } = {};\n private inboundGroupSessions: { [sessionKey: string]: InboundGroupSessionData } = {};\n private inboundGroupSessionsWithheld: Record<string, IWithheld> = {};\n // Opaque device data object\n private rooms: { [roomId: string]: IRoomEncryption } = {};\n private sessionsNeedingBackup: { [sessionKey: string]: boolean } = {};\n\n /**\n * Returns true if this CryptoStore has ever been initialised (ie, it might contain data).\n *\n * Implementation of {@link CryptoStore.containsData}.\n *\n * @internal\n */\n public async containsData(): Promise<boolean> {\n // If it contains anything, it should contain an account.\n return this.account !== null;\n }\n\n /**\n * Ensure the database exists and is up-to-date.\n *\n * This must be called before the store can be used.\n *\n * @returns resolves to the store.\n */\n public async startup(): Promise<CryptoStore> {\n // No startup work to do for the memory store.\n return this;\n }\n\n /**\n * Delete all data from this store.\n *\n * @returns Promise which resolves when the store has been cleared.\n */\n public deleteAllData(): Promise<void> {\n return Promise.resolve();\n }\n\n /**\n * Get data on how much of the libolm to Rust Crypto migration has been done.\n *\n * Implementation of {@link CryptoStore.getMigrationState}.\n *\n * @internal\n */\n public async getMigrationState(): Promise<MigrationState> {\n return this.migrationState;\n }\n\n /**\n * Set data on how much of the libolm to Rust Crypto migration has been done.\n *\n * Implementation of {@link CryptoStore.setMigrationState}.\n *\n * @internal\n */\n public async setMigrationState(migrationState: MigrationState): Promise<void> {\n this.migrationState = migrationState;\n }\n\n // Olm Account\n\n public getAccount(txn: unknown, func: (accountPickle: string | null) => void): void {\n func(this.account);\n }\n\n public storeAccount(txn: unknown, accountPickle: string): void {\n this.account = accountPickle;\n }\n\n public getCrossSigningKeys(txn: unknown, func: (keys: Record<string, CrossSigningKeyInfo> | null) => void): void {\n func(this.crossSigningKeys);\n }\n\n public getSecretStorePrivateKey<K extends keyof SecretStorePrivateKeys>(\n txn: unknown,\n func: (key: SecretStorePrivateKeys[K] | null) => void,\n type: K,\n ): void {\n const result = this.privateKeys[type] as SecretStorePrivateKeys[K] | undefined;\n func(result || null);\n }\n\n public storeSecretStorePrivateKey<K extends keyof SecretStorePrivateKeys>(\n txn: unknown,\n type: K,\n key: SecretStorePrivateKeys[K],\n ): void {\n this.privateKeys[type] = key;\n }\n\n // Olm Sessions\n\n public countEndToEndSessions(txn: unknown, func: (count: number) => void): void {\n let count = 0;\n for (const deviceSessions of Object.values(this.sessions)) {\n count += Object.keys(deviceSessions).length;\n }\n func(count);\n }\n\n public getEndToEndSession(\n deviceKey: string,\n sessionId: string,\n txn: unknown,\n func: (session: ISessionInfo) => void,\n ): void {\n const deviceSessions = this.sessions[deviceKey] || {};\n func(deviceSessions[sessionId] || null);\n }\n\n public getEndToEndSessions(\n deviceKey: string,\n txn: unknown,\n func: (sessions: { [sessionId: string]: ISessionInfo }) => void,\n ): void {\n func(this.sessions[deviceKey] || {});\n }\n\n public storeEndToEndSession(deviceKey: string, sessionId: string, sessionInfo: ISessionInfo, txn: unknown): void {\n let deviceSessions = this.sessions[deviceKey];\n if (deviceSessions === undefined) {\n deviceSessions = {};\n this.sessions[deviceKey] = deviceSessions;\n }\n safeSet(deviceSessions, sessionId, sessionInfo);\n }\n\n /**\n * Fetch a batch of Olm sessions from the database.\n *\n * Implementation of {@link CryptoStore.getEndToEndSessionsBatch}.\n *\n * @internal\n */\n public async getEndToEndSessionsBatch(): Promise<null | ISessionInfo[]> {\n const result: ISessionInfo[] = [];\n for (const deviceSessions of Object.values(this.sessions)) {\n for (const session of Object.values(deviceSessions)) {\n result.push(session);\n if (result.length >= SESSION_BATCH_SIZE) {\n return result;\n }\n }\n }\n\n if (result.length === 0) {\n // No sessions left.\n return null;\n }\n\n // There are fewer sessions than the batch size; return the final batch of sessions.\n return result;\n }\n\n /**\n * Delete a batch of Olm sessions from the database.\n *\n * Implementation of {@link CryptoStore.deleteEndToEndSessionsBatch}.\n *\n * @internal\n */\n public async deleteEndToEndSessionsBatch(sessions: { deviceKey: string; sessionId: string }[]): Promise<void> {\n for (const { deviceKey, sessionId } of sessions) {\n const deviceSessions = this.sessions[deviceKey] || {};\n delete deviceSessions[sessionId];\n if (Object.keys(deviceSessions).length === 0) {\n // No more sessions for this device.\n delete this.sessions[deviceKey];\n }\n }\n }\n\n // Inbound Group Sessions\n\n public getEndToEndInboundGroupSession(\n senderCurve25519Key: string,\n sessionId: string,\n txn: unknown,\n func: (groupSession: InboundGroupSessionData | null, groupSessionWithheld: IWithheld | null) => void,\n ): void {\n const k = encodeSessionKey(senderCurve25519Key, sessionId);\n func(this.inboundGroupSessions[k] || null, this.inboundGroupSessionsWithheld[k] || null);\n }\n\n public storeEndToEndInboundGroupSession(\n senderCurve25519Key: string,\n sessionId: string,\n sessionData: InboundGroupSessionData,\n txn: unknown,\n ): void {\n const k = encodeSessionKey(senderCurve25519Key, sessionId);\n this.inboundGroupSessions[k] = sessionData;\n }\n\n /**\n * Count the number of Megolm sessions in the database.\n *\n * Implementation of {@link CryptoStore.countEndToEndInboundGroupSessions}.\n *\n * @internal\n */\n public async countEndToEndInboundGroupSessions(): Promise<number> {\n return Object.keys(this.inboundGroupSessions).length;\n }\n\n /**\n * Fetch a batch of Megolm sessions from the database.\n *\n * Implementation of {@link CryptoStore.getEndToEndInboundGroupSessionsBatch}.\n *\n * @internal\n */\n public async getEndToEndInboundGroupSessionsBatch(): Promise<null | SessionExtended[]> {\n const result: SessionExtended[] = [];\n for (const [key, session] of Object.entries(this.inboundGroupSessions)) {\n result.push({\n ...decodeSessionKey(key),\n sessionData: session,\n needsBackup: key in this.sessionsNeedingBackup,\n });\n if (result.length >= SESSION_BATCH_SIZE) {\n return result;\n }\n }\n\n if (result.length === 0) {\n // No sessions left.\n return null;\n }\n\n // There are fewer sessions than the batch size; return the final batch of sessions.\n return result;\n }\n\n /**\n * Delete a batch of Megolm sessions from the database.\n *\n * Implementation of {@link CryptoStore.deleteEndToEndInboundGroupSessionsBatch}.\n *\n * @internal\n */\n public async deleteEndToEndInboundGroupSessionsBatch(\n sessions: { senderKey: string; sessionId: string }[],\n ): Promise<void> {\n for (const { senderKey, sessionId } of sessions) {\n const k = encodeSessionKey(senderKey, sessionId);\n delete this.inboundGroupSessions[k];\n }\n }\n\n // E2E rooms\n\n public getEndToEndRooms(txn: unknown, func: (rooms: Record<string, IRoomEncryption>) => void): void {\n func(this.rooms);\n }\n\n public markSessionsNeedingBackup(sessions: ISession[]): Promise<void> {\n for (const session of sessions) {\n const sessionKey = encodeSessionKey(session.senderKey, session.sessionId);\n this.sessionsNeedingBackup[sessionKey] = true;\n }\n return Promise.resolve();\n }\n\n // Session key backups\n\n public doTxn<T>(mode: Mode, stores: Iterable<string>, func: (txn?: unknown) => T): Promise<T> {\n return Promise.resolve(func(null));\n }\n}\n"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAAS,OAAO,QAAQ,gBAAgB;AACxC,SAMI,cAAc,EAGd,kBAAkB,QAGf,WAAW;AAGlB,SAAS,gBAAgB,CAAC,mBAA2B,EAAE,SAAiB,EAAU;EAC9E,OAAO,kBAAkB,CAAC,mBAAmB,CAAC,GAAG,GAAG,GAAG,kBAAkB,CAAC,SAAS,CAAC;AACxF;AAEA,SAAS,gBAAgB,CAAC,GAAW,EAA4C;EAC7E,MAAM,QAAQ,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC;EAC/B,MAAM,SAAS,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;EACjD,MAAM,SAAS,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;EACjD,OAAO;IAAE,SAAS;IAAE;EAAU,CAAC;AACnC;;AAEA;AACA;AACA;;AAEA,OAAO,MAAM,iBAAiB,CAAwB;EAAA;IAAA,wCACT,cAAc,CAAC,WAAW;IAAA,iCAClC,IAAI;IAAA,0CACkC,IAAI;IAAA,qCACpB,CAAC,CAAC;IAAA,kCAE0B,CAAC,CAAC;IAAA,8CACH,CAAC,CAAC;IAAA,sDAClB,CAAC,CAAC;IACpE;IAAA,+BACuD,CAAC,CAAC;IAAA,+CACU,CAAC,CAAC;EAAA;EAErE;AACJ;AACA;AACA;AACA;AACA;AACA;EACI,MAAa,YAAY,GAAqB;IAC1C;IACA,OAAO,IAAI,CAAC,OAAO,KAAK,IAAI;EAChC;;EAEA;AACJ;AACA;AACA;AACA;AACA;AACA;EACI,MAAa,OAAO,GAAyB;IACzC;IACA,OAAO,IAAI;EACf;;EAEA;AACJ;AACA;AACA;AACA;EACW,aAAa,GAAkB;IAClC,OAAO,OAAO,CAAC,OAAO,CAAC,CAAC;EAC5B;;EAEA;AACJ;AACA;AACA;AACA;AACA;AACA;EACI,MAAa,iBAAiB,GAA4B;IACtD,OAAO,IAAI,CAAC,cAAc;EAC9B;;EAEA;AACJ;AACA;AACA;AACA;AACA;AACA;EACI,MAAa,iBAAiB,CAAC,cAA8B,EAAiB;IAC1E,IAAI,CAAC,cAAc,GAAG,cAAc;EACxC;;EAEA;;EAEO,UAAU,CAAC,GAAY,EAAE,IAA4C,EAAQ;IAChF,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;EACtB;EAEO,YAAY,CAAC,GAAY,EAAE,aAAqB,EAAQ;IAC3D,IAAI,CAAC,OAAO,GAAG,aAAa;EAChC;EAEO,mBAAmB,CAAC,GAAY,EAAE,IAAgE,EAAQ;IAC7G,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC;EAC/B;EAEO,wBAAwB,CAC3B,GAAY,EACZ,IAAqD,EACrD,IAAO,EACH;IACJ,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAA0C;IAC9E,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC;EACxB;EAEO,0BAA0B,CAC7B,GAAY,EACZ,IAAO,EACP,GAA8B,EAC1B;IACJ,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,GAAG;EAChC;;EAEA;;EAEO,qBAAqB,CAAC,GAAY,EAAE,IAA6B,EAAQ;IAC5E,IAAI,KAAK,GAAG,CAAC;IACb,KAAK,MAAM,cAAc,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;MACvD,KAAK,IAAI,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,MAAM;IAC/C;IACA,IAAI,CAAC,KAAK,CAAC;EACf;EAEO,kBAAkB,CACrB,SAAiB,EACjB,SAAiB,EACjB,GAAY,EACZ,IAAqC,EACjC;IACJ,MAAM,cAAc,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IACrD,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC;EAC3C;EAEO,mBAAmB,CACtB,SAAiB,EACjB,GAAY,EACZ,IAA+D,EAC3D;IACJ,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;EACxC;EAEO,oBAAoB,CAAC,SAAiB,EAAE,SAAiB,EAAE,WAAyB,EAAE,GAAY,EAAQ;IAC7G,IAAI,cAAc,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC;IAC7C,IAAI,cAAc,KAAK,SAAS,EAAE;MAC9B,cAAc,GAAG,CAAC,CAAC;MACnB,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,cAAc;IAC7C;IACA,OAAO,CAAC,cAAc,EAAE,SAAS,EAAE,WAAW,CAAC;EACnD;;EAEA;AACJ;AACA;AACA;AACA;AACA;AACA;EACI,MAAa,wBAAwB,GAAmC;IACpE,MAAM,MAAsB,GAAG,EAAE;IACjC,KAAK,MAAM,cAAc,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;MACvD,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,EAAE;QACjD,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC;QACpB,IAAI,MAAM,CAAC,MAAM,IAAI,kBAAkB,EAAE;UACrC,OAAO,MAAM;QACjB;MACJ;IACJ;IAEA,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE;MACrB;MACA,OAAO,IAAI;IACf;;IAEA;IACA,OAAO,MAAM;EACjB;;EAEA;AACJ;AACA;AACA;AACA;AACA;AACA;EACI,MAAa,2BAA2B,CAAC,QAAoD,EAAiB;IAC1G,KAAK,MAAM;MAAE,SAAS;MAAE;IAAU,CAAC,IAAI,QAAQ,EAAE;MAC7C,MAAM,cAAc,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;MACrD,OAAO,cAAc,CAAC,SAAS,CAAC;MAChC,IAAI,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE;QAC1C;QACA,OAAO,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC;MACnC;IACJ;EACJ;;EAEA;;EAEO,8BAA8B,CACjC,mBAA2B,EAC3B,SAAiB,EACjB,GAAY,EACZ,IAAoG,EAChG;IACJ,MAAM,CAAC,GAAG,gBAAgB,CAAC,mBAAmB,EAAE,SAAS,CAAC;IAC1D,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,IAAI,CAAC,4BAA4B,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;EAC5F;EAEO,gCAAgC,CACnC,mBAA2B,EAC3B,SAAiB,EACjB,WAAoC,EACpC,GAAY,EACR;IACJ,MAAM,CAAC,GAAG,gBAAgB,CAAC,mBAAmB,EAAE,SAAS,CAAC;IAC1D,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,GAAG,WAAW;EAC9C;;EAEA;AACJ;AACA;AACA;AACA;AACA;AACA;EACI,MAAa,iCAAiC,GAAoB;IAC9D,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,MAAM;EACxD;;EAEA;AACJ;AACA;AACA;AACA;AACA;AACA;EACI,MAAa,oCAAoC,GAAsC;IACnF,MAAM,MAAyB,GAAG,EAAE;IACpC,KAAK,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,oBAAoB,CAAC,EAAE;MACpE,MAAM,CAAC,IAAI,iCACJ,gBAAgB,CAAC,GAAG,CAAC;QACxB,WAAW,EAAE,OAAO;QACpB,WAAW,EAAE,GAAG,IAAI,IAAI,CAAC;MAAqB,EACjD,CAAC;MACF,IAAI,MAAM,CAAC,MAAM,IAAI,kBAAkB,EAAE;QACrC,OAAO,MAAM;MACjB;IACJ;IAEA,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE;MACrB;MACA,OAAO,IAAI;IACf;;IAEA;IACA,OAAO,MAAM;EACjB;;EAEA;AACJ;AACA;AACA;AACA;AACA;AACA;EACI,MAAa,uCAAuC,CAChD,QAAoD,EACvC;IACb,KAAK,MAAM;MAAE,SAAS;MAAE;IAAU,CAAC,IAAI,QAAQ,EAAE;MAC7C,MAAM,CAAC,GAAG,gBAAgB,CAAC,SAAS,EAAE,SAAS,CAAC;MAChD,OAAO,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC;IACvC;EACJ;;EAEA;;EAEO,gBAAgB,CAAC,GAAY,EAAE,IAAsD,EAAQ;IAChG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;EACpB;EAEO,yBAAyB,CAAC,QAAoB,EAAiB;IAClE,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE;MAC5B,MAAM,UAAU,GAAG,gBAAgB,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,SAAS,CAAC;MACzE,IAAI,CAAC,qBAAqB,CAAC,UAAU,CAAC,GAAG,IAAI;IACjD;IACA,OAAO,OAAO,CAAC,OAAO,CAAC,CAAC;EAC5B;;EAEA;;EAEO,KAAK,CAAI,IAAU,EAAE,MAAwB,EAAE,IAA0B,EAAc;IAC1F,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;EACtC;AACJ","ignoreList":[]}
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
/**
|
|
18
18
|
* Cryptography-related events emitted by the {@link matrix.MatrixClient}.
|
|
19
19
|
*/
|
|
20
|
-
export
|
|
20
|
+
export let CryptoEvent = /*#__PURE__*/function (CryptoEvent) {
|
|
21
21
|
/**
|
|
22
22
|
* Fires when the trust status of a user changes.
|
|
23
23
|
* The payload is a pair (userId, userTrustLevel). The trust level is one of the values from UserVerificationStatus.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CryptoEvent.js","names":[
|
|
1
|
+
{"version":3,"file":"CryptoEvent.js","names":[],"sources":["../../src/crypto-api/CryptoEvent.ts"],"sourcesContent":["/*\n * Copyright 2024 The Matrix.org Foundation C.I.C.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/**\n * Cryptography-related events emitted by the {@link matrix.MatrixClient}.\n */\nexport enum CryptoEvent {\n /**\n * Fires when the trust status of a user changes.\n * The payload is a pair (userId, userTrustLevel). The trust level is one of the values from UserVerificationStatus.\n */\n UserTrustStatusChanged = \"userTrustStatusChanged\",\n\n /**\n * Fires when the key backup status changes.\n * The payload is a boolean indicating whether the key backup is enabled.\n */\n KeyBackupStatus = \"crypto.keyBackupStatus\",\n\n /**\n * Fires when we failed to back up the keys\n * The payload is the error code of the error that occurred.\n */\n KeyBackupFailed = \"crypto.keyBackupFailed\",\n\n /**\n * Fires when the number of sessions that can be backed up changes.\n * The payload is the remaining number of sessions that can be backed up.\n */\n KeyBackupSessionsRemaining = \"crypto.keyBackupSessionsRemaining\",\n\n /**\n * Fires when a new valid backup decryption key is in cache.\n * This will happen when a secret is received from another session, from secret storage,\n * or when a new backup is created from this session.\n *\n * The payload is the version of the backup for which we have the key for.\n *\n * This event is only fired by the rust crypto backend.\n */\n KeyBackupDecryptionKeyCached = \"crypto.keyBackupDecryptionKeyCached\",\n\n /**\n * Fires when a key verification request is received.\n * The payload is a VerificationRequest object representing the request.\n */\n VerificationRequestReceived = \"crypto.verificationRequestReceived\",\n\n /** @deprecated Use {@link DevicesUpdated} instead when using rust crypto */\n WillUpdateDevices = \"crypto.willUpdateDevices\",\n\n /**\n * Fires whenever the stored devices for a user have been updated\n * The payload is a pair (userIds, initialFetch).\n */\n DevicesUpdated = \"crypto.devicesUpdated\",\n\n /**\n * Fires when the user's cross-signing keys have changed or cross-signing\n * has been enabled/disabled. The client can use getStoredCrossSigningForUser\n * with the user ID of the logged in user to check if cross-signing is\n * enabled on the account. If enabled, it can test whether the current key\n * is trusted using with checkUserTrust with the user ID of the logged\n * in user. The checkOwnCrossSigningTrust function may be used to reconcile\n * the trust in the account key.\n *\n * The cross-signing API is currently UNSTABLE and may change without notice.\n * @experimental\n */\n KeysChanged = \"crossSigning.keysChanged\",\n\n /**\n * Fires when data is being migrated from legacy crypto to rust crypto.\n *\n * The payload is a pair `(progress, total)`, where `progress` is the number of steps completed so far, and\n * `total` is the total number of steps. When migration is complete, a final instance of the event is emitted, with\n * `progress === total === -1`.\n */\n LegacyCryptoStoreMigrationProgress = \"crypto.legacyCryptoStoreMigrationProgress\",\n\n /**\n * Fires when a new dehydrated device is created locally.\n *\n * After the client calls {@link CryptoApi.startDehydration}, this event\n * will be fired every time a new dehydrated device is created. It may fire\n * before `startDehydration` returns.\n */\n DehydratedDeviceCreated = \"dehydration.DehydratedDeviceCreated\",\n\n /**\n * Fires when a new dehydrated device is successfully uploaded to the server.\n *\n * This should fire shortly after {@link DehydratedDeviceCreated} fires. If\n * upload is unsuccessful, this will be reported either by an error thrown\n * by {@link CryptoApi.startDehydration} (for errors that happen before\n * `startDehydration` returns), or by firing {@link DehydratedDeviceRotationError}\n * (for errors that happen during regular rotation of the dehydrated device)\n */\n DehydratedDeviceUploaded = \"dehydration.DehydratedDeviceUploaded\",\n\n /**\n * Fires when rehydration has started.\n *\n * After the client calls {@link CryptoApi.startDehydration}, this event will\n * fire if a dehydrated device is found and we attempt to rehydrate it.\n */\n RehydrationStarted = \"dehydration.RehydrationStarted\",\n\n /**\n * Fires during rehydration, to inform the application of rehydration progress.\n *\n * The payload is a pair `[roomKeyCount: number, toDeviceCount: number]`,\n * where `roomKeyCount` is the number of room keys that have been received\n * so far, and `toDeviceCount` is the number of to-device messages received\n * so far (including the messages containing room keys).\n */\n RehydrationProgress = \"dehydration.RehydrationProgress\",\n\n /** Fires when rehydration has completed successfully. */\n RehydrationCompleted = \"dehydration.RehydrationCompleted\",\n\n /** Fires when there was an error in rehydration.\n *\n * The payload is an error message as a string.\n */\n RehydrationError = \"dehydration.RehydrationError\",\n\n /**\n * Fires when a dehydrated device key has been cached in the local database.\n */\n DehydrationKeyCached = \"dehydration.DehydrationKeyCached\",\n\n /**\n * Fires when an error occurs during periodic rotation of the dehydrated device.\n *\n * The payload is an error message as a string.\n */\n DehydratedDeviceRotationError = \"dehydration.DehydratedDeviceRotationError\",\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAY,WAAW,0BAAX,WAAW;EACnB;AACJ;AACA;AACA;EAJY,WAAW;EAOnB;AACJ;AACA;AACA;EAVY,WAAW;EAanB;AACJ;AACA;AACA;EAhBY,WAAW;EAmBnB;AACJ;AACA;AACA;EAtBY,WAAW;EAyBnB;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EAjCY,WAAW;EAoCnB;AACJ;AACA;AACA;EAvCY,WAAW;EA0CnB;EA1CQ,WAAW;EA6CnB;AACJ;AACA;AACA;EAhDY,WAAW;EAmDnB;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EA9DY,WAAW;EAiEnB;AACJ;AACA;AACA;AACA;AACA;AACA;EAvEY,WAAW;EA0EnB;AACJ;AACA;AACA;AACA;AACA;AACA;EAhFY,WAAW;EAmFnB;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EA3FY,WAAW;EA8FnB;AACJ;AACA;AACA;AACA;AACA;EAnGY,WAAW;EAsGnB;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;EA7GY,WAAW;EAgHnB;EAhHQ,WAAW;EAmHnB;AACJ;AACA;AACA;EAtHY,WAAW;EAyHnB;AACJ;AACA;EA3HY,WAAW;EA8HnB;AACJ;AACA;AACA;AACA;EAlIY,WAAW;EAAA,OAAX,WAAW;AAAA","ignoreList":[]}
|
|
@@ -49,8 +49,6 @@ export interface StartDehydrationOpts {
|
|
|
49
49
|
}
|
|
50
50
|
/**
|
|
51
51
|
* Public interface to the cryptography parts of the js-sdk
|
|
52
|
-
*
|
|
53
|
-
* @remarks Currently, this is a work-in-progress. In time, more methods will be added here.
|
|
54
52
|
*/
|
|
55
53
|
export interface CryptoApi {
|
|
56
54
|
/**
|
|
@@ -224,9 +222,16 @@ export interface CryptoApi {
|
|
|
224
222
|
*
|
|
225
223
|
* This is useful if the user was previously verified but is not anymore
|
|
226
224
|
* ({@link UserVerificationStatus.wasCrossSigningVerified}) and it is not possible to verify him again now.
|
|
227
|
-
*
|
|
228
225
|
*/
|
|
229
226
|
withdrawVerificationRequirement(userId: string): Promise<void>;
|
|
227
|
+
/**
|
|
228
|
+
* Get the given user's public cross-signing keys, if they have published any, and we have fetched them to
|
|
229
|
+
* our store.
|
|
230
|
+
*
|
|
231
|
+
* Normally this is only useful to applications as debug info, since the SDK handles keeping track of a
|
|
232
|
+
* user's identity, and whether their devices are verified.
|
|
233
|
+
*/
|
|
234
|
+
getUserCrossSigningKeys(userId: string): Promise<Partial<CrossSigningKeys> | null>;
|
|
230
235
|
/**
|
|
231
236
|
* Get the verification status of a given device.
|
|
232
237
|
*
|
|
@@ -1044,10 +1049,14 @@ export interface CreateSecretStorageOpts {
|
|
|
1044
1049
|
}
|
|
1045
1050
|
/** Types of cross-signing key */
|
|
1046
1051
|
export declare enum CrossSigningKey {
|
|
1047
|
-
Master = "
|
|
1048
|
-
SelfSigning = "
|
|
1049
|
-
UserSigning = "
|
|
1052
|
+
Master = "master_key",
|
|
1053
|
+
SelfSigning = "self_signing_key",
|
|
1054
|
+
UserSigning = "user_signing_key"
|
|
1050
1055
|
}
|
|
1056
|
+
/** All of a user's cross-signing keys.
|
|
1057
|
+
* @see https://spec.matrix.org/v1.7/client-server-api/#post_matrixclientv3keysdevice_signingupload
|
|
1058
|
+
*/
|
|
1059
|
+
export type CrossSigningKeys = Record<CrossSigningKey, CrossSigningKeyInfo>;
|
|
1051
1060
|
/**
|
|
1052
1061
|
* Information on one of the cross-signing keys.
|
|
1053
1062
|
* @see https://spec.matrix.org/v1.7/client-server-api/#post_matrixclientv3keysdevice_signingupload
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/crypto-api/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/crypto-api/index.ts"],"names":[],"mappings":"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"}
|