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
package/lib/utils.js
CHANGED
|
@@ -1,8 +1,4 @@
|
|
|
1
|
-
import
|
|
2
|
-
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
3
|
-
import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
|
|
4
|
-
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
5
|
-
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
1
|
+
import _objectSpread from "@babel/runtime/helpers/objectSpread2";
|
|
6
2
|
/*
|
|
7
3
|
Copyright 2015, 2016, 2019, 2023 The Matrix.org Foundation C.I.C.
|
|
8
4
|
|
|
@@ -27,7 +23,7 @@ import unhomoglyph from "unhomoglyph";
|
|
|
27
23
|
import promiseRetry from "p-retry";
|
|
28
24
|
import { M_TIMESTAMP } from "./@types/location.js";
|
|
29
25
|
import { ReceiptType } from "./@types/read_receipts.js";
|
|
30
|
-
|
|
26
|
+
const interns = new Map();
|
|
31
27
|
|
|
32
28
|
/**
|
|
33
29
|
* Internalises a string, reusing a known pointer or storing the pointer
|
|
@@ -59,24 +55,17 @@ export function internaliseString(str) {
|
|
|
59
55
|
* @returns The encoded string e.g. foo=bar&baz=taz
|
|
60
56
|
*/
|
|
61
57
|
export function encodeParams(params, urlSearchParams) {
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
});
|
|
72
|
-
} else {
|
|
73
|
-
searchParams.append(key, String(val));
|
|
74
|
-
}
|
|
58
|
+
const searchParams = urlSearchParams ?? new URLSearchParams();
|
|
59
|
+
for (const [key, val] of Object.entries(params)) {
|
|
60
|
+
if (val !== undefined && val !== null) {
|
|
61
|
+
if (Array.isArray(val)) {
|
|
62
|
+
val.forEach(v => {
|
|
63
|
+
searchParams.append(key, String(v));
|
|
64
|
+
});
|
|
65
|
+
} else {
|
|
66
|
+
searchParams.append(key, String(val));
|
|
75
67
|
}
|
|
76
|
-
}
|
|
77
|
-
_ref2;
|
|
78
|
-
for (var _ref3 of Object.entries(params)) {
|
|
79
|
-
_loop();
|
|
68
|
+
}
|
|
80
69
|
}
|
|
81
70
|
return searchParams;
|
|
82
71
|
}
|
|
@@ -84,7 +73,7 @@ export function encodeParams(params, urlSearchParams) {
|
|
|
84
73
|
* Replace a stable parameter with the unstable naming for params
|
|
85
74
|
*/
|
|
86
75
|
export function replaceParam(stable, unstable, dict) {
|
|
87
|
-
|
|
76
|
+
const result = _objectSpread(_objectSpread({}, dict), {}, {
|
|
88
77
|
[unstable]: dict[stable]
|
|
89
78
|
});
|
|
90
79
|
delete result[stable];
|
|
@@ -101,10 +90,10 @@ export function replaceParam(stable, unstable, dict) {
|
|
|
101
90
|
* for native web compatibility
|
|
102
91
|
*/
|
|
103
92
|
export function decodeParams(query) {
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
for (
|
|
107
|
-
|
|
93
|
+
const o = {};
|
|
94
|
+
const params = new URLSearchParams(query);
|
|
95
|
+
for (const key of params.keys()) {
|
|
96
|
+
const val = params.getAll(key);
|
|
108
97
|
o[key] = val.length === 1 ? val[0] : val;
|
|
109
98
|
}
|
|
110
99
|
return o;
|
|
@@ -119,11 +108,11 @@ export function decodeParams(query) {
|
|
|
119
108
|
* @returns The result of replacing all template variables e.g. '/foo/baz'.
|
|
120
109
|
*/
|
|
121
110
|
export function encodeUri(pathTemplate, variables) {
|
|
122
|
-
for (
|
|
111
|
+
for (const key in variables) {
|
|
123
112
|
if (!variables.hasOwnProperty(key)) {
|
|
124
113
|
continue;
|
|
125
114
|
}
|
|
126
|
-
|
|
115
|
+
const value = variables[key];
|
|
127
116
|
if (value === undefined || value === null) {
|
|
128
117
|
continue;
|
|
129
118
|
}
|
|
@@ -143,7 +132,7 @@ export function encodeUri(pathTemplate, variables) {
|
|
|
143
132
|
* @returns True if an element was removed.
|
|
144
133
|
*/
|
|
145
134
|
export function removeElement(array, fn, reverse) {
|
|
146
|
-
|
|
135
|
+
let i;
|
|
147
136
|
if (reverse) {
|
|
148
137
|
for (i = array.length - 1; i >= 0; i--) {
|
|
149
138
|
if (fn(array[i], i, array)) {
|
|
@@ -179,7 +168,7 @@ export function isFunction(value) {
|
|
|
179
168
|
*/
|
|
180
169
|
// note using 'keys' here would shadow the 'keys' function defined above
|
|
181
170
|
export function checkObjectHasKeys(obj, keys) {
|
|
182
|
-
for (
|
|
171
|
+
for (const key of keys) {
|
|
183
172
|
if (!obj.hasOwnProperty(key)) {
|
|
184
173
|
throw new Error("Missing required key: " + key);
|
|
185
174
|
}
|
|
@@ -252,22 +241,22 @@ export function deepCompare(x, y) {
|
|
|
252
241
|
if (x.length !== y.length) {
|
|
253
242
|
return false;
|
|
254
243
|
}
|
|
255
|
-
for (
|
|
244
|
+
for (let i = 0; i < x.length; i++) {
|
|
256
245
|
if (!deepCompare(x[i], y[i])) {
|
|
257
246
|
return false;
|
|
258
247
|
}
|
|
259
248
|
}
|
|
260
249
|
} else {
|
|
261
250
|
// check that all of y's direct keys are in x
|
|
262
|
-
for (
|
|
251
|
+
for (const p in y) {
|
|
263
252
|
if (y.hasOwnProperty(p) !== x.hasOwnProperty(p)) {
|
|
264
253
|
return false;
|
|
265
254
|
}
|
|
266
255
|
}
|
|
267
256
|
|
|
268
257
|
// finally, compare each of x's keys with y
|
|
269
|
-
for (
|
|
270
|
-
if (y.hasOwnProperty(
|
|
258
|
+
for (const p in x) {
|
|
259
|
+
if (y.hasOwnProperty(p) !== x.hasOwnProperty(p) || !deepCompare(x[p], y[p])) {
|
|
271
260
|
return false;
|
|
272
261
|
}
|
|
273
262
|
}
|
|
@@ -289,11 +278,8 @@ export function deepSortedObjectEntries(obj) {
|
|
|
289
278
|
|
|
290
279
|
// Apparently these are object types...
|
|
291
280
|
if (obj === null || obj === undefined || Array.isArray(obj)) return obj;
|
|
292
|
-
|
|
293
|
-
for (
|
|
294
|
-
var _ref5 = _slicedToArray(_ref6, 2);
|
|
295
|
-
var k = _ref5[0];
|
|
296
|
-
var v = _ref5[1];
|
|
281
|
+
const pairs = [];
|
|
282
|
+
for (const [k, v] of Object.entries(obj)) {
|
|
297
283
|
pairs.push([k, deepSortedObjectEntries(v)]);
|
|
298
284
|
}
|
|
299
285
|
|
|
@@ -355,7 +341,7 @@ export function normalize(str) {
|
|
|
355
341
|
// Zero width no-break space (BOM) U+FEFF
|
|
356
342
|
// Blank/invisible characters (U2800, U2062-U2063)
|
|
357
343
|
// eslint-disable-next-line no-misleading-character-class
|
|
358
|
-
|
|
344
|
+
const removeHiddenCharsRegex = /[\u2000-\u200F\u202A-\u202F\u0300-\u036F\uFEFF\u061C\u2800\u2062-\u2063\s]/g;
|
|
359
345
|
export function escapeRegExp(string) {
|
|
360
346
|
return string.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
|
|
361
347
|
}
|
|
@@ -370,7 +356,7 @@ export function globToRegexp(glob) {
|
|
|
370
356
|
return escapeRegExp(glob).replace(/\\\*/g, ".*").replace(/\?/g, ".");
|
|
371
357
|
}
|
|
372
358
|
export function ensureNoTrailingSlash(url) {
|
|
373
|
-
if (url
|
|
359
|
+
if (url?.endsWith("/")) {
|
|
374
360
|
return url.slice(0, -1);
|
|
375
361
|
} else {
|
|
376
362
|
return url;
|
|
@@ -393,8 +379,14 @@ export function sleep(ms, value) {
|
|
|
393
379
|
* @param name - The name of the operation.
|
|
394
380
|
* @param block - The block to execute.
|
|
395
381
|
*/
|
|
396
|
-
export function logDuration(
|
|
397
|
-
|
|
382
|
+
export async function logDuration(logger, name, block) {
|
|
383
|
+
const start = Date.now();
|
|
384
|
+
try {
|
|
385
|
+
return await block();
|
|
386
|
+
} finally {
|
|
387
|
+
const end = Date.now();
|
|
388
|
+
logger.debug(`[Perf]: ${name} took ${end - start}ms`);
|
|
389
|
+
}
|
|
398
390
|
}
|
|
399
391
|
|
|
400
392
|
/**
|
|
@@ -404,25 +396,13 @@ export function logDuration(_x, _x2, _x3) {
|
|
|
404
396
|
* @param name - The name of the operation.
|
|
405
397
|
* @param block - The block to execute.
|
|
406
398
|
*/
|
|
407
|
-
function _logDuration() {
|
|
408
|
-
_logDuration = _asyncToGenerator(function* (logger, name, block) {
|
|
409
|
-
var start = Date.now();
|
|
410
|
-
try {
|
|
411
|
-
return yield block();
|
|
412
|
-
} finally {
|
|
413
|
-
var end = Date.now();
|
|
414
|
-
logger.debug("[Perf]: ".concat(name, " took ").concat(end - start, "ms"));
|
|
415
|
-
}
|
|
416
|
-
});
|
|
417
|
-
return _logDuration.apply(this, arguments);
|
|
418
|
-
}
|
|
419
399
|
export function logDurationSync(logger, name, block) {
|
|
420
|
-
|
|
400
|
+
const start = Date.now();
|
|
421
401
|
try {
|
|
422
402
|
return block();
|
|
423
403
|
} finally {
|
|
424
|
-
|
|
425
|
-
logger.debug(
|
|
404
|
+
const end = Date.now();
|
|
405
|
+
logger.debug(`[Perf]: ${name} took ${end - start}ms`);
|
|
426
406
|
}
|
|
427
407
|
}
|
|
428
408
|
|
|
@@ -438,25 +418,23 @@ export function immediate() {
|
|
|
438
418
|
export function isNullOrUndefined(val) {
|
|
439
419
|
return val === null || val === undefined;
|
|
440
420
|
}
|
|
441
|
-
export function promiseMapSeries(
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
) {
|
|
447
|
-
for (var o of promises) {
|
|
448
|
-
yield fn(yield o);
|
|
449
|
-
}
|
|
450
|
-
});
|
|
451
|
-
return _promiseMapSeries.apply(this, arguments);
|
|
421
|
+
export async function promiseMapSeries(promises, fn // if async we don't care about the type as we only await resolution
|
|
422
|
+
) {
|
|
423
|
+
for (const o of promises) {
|
|
424
|
+
await fn(await o);
|
|
425
|
+
}
|
|
452
426
|
}
|
|
453
427
|
export function promiseTry(fn) {
|
|
454
428
|
return Promise.resolve(fn());
|
|
455
429
|
}
|
|
456
430
|
|
|
457
431
|
// Creates and awaits all promises, running no more than `chunkSize` at the same time
|
|
458
|
-
export function chunkPromises(
|
|
459
|
-
|
|
432
|
+
export async function chunkPromises(fns, chunkSize) {
|
|
433
|
+
const results = [];
|
|
434
|
+
for (let i = 0; i < fns.length; i += chunkSize) {
|
|
435
|
+
results.push(...(await Promise.all(fns.slice(i, i + chunkSize).map(fn => fn()))));
|
|
436
|
+
}
|
|
437
|
+
return results;
|
|
460
438
|
}
|
|
461
439
|
|
|
462
440
|
/**
|
|
@@ -470,25 +448,14 @@ export function chunkPromises(_x6, _x7) {
|
|
|
470
448
|
* retrying will ba aborted if this return false.
|
|
471
449
|
* @returns The promise for the retried operation.
|
|
472
450
|
*/
|
|
473
|
-
function _chunkPromises() {
|
|
474
|
-
_chunkPromises = _asyncToGenerator(function* (fns, chunkSize) {
|
|
475
|
-
var results = [];
|
|
476
|
-
for (var i = 0; i < fns.length; i += chunkSize) {
|
|
477
|
-
results.push(...(yield Promise.all(fns.slice(i, i + chunkSize).map(fn => fn()))));
|
|
478
|
-
}
|
|
479
|
-
return results;
|
|
480
|
-
});
|
|
481
|
-
return _chunkPromises.apply(this, arguments);
|
|
482
|
-
}
|
|
483
451
|
export function simpleRetryOperation(promiseFn, shouldRetry) {
|
|
484
452
|
return promiseRetry(attempt => {
|
|
485
453
|
return promiseFn(attempt);
|
|
486
454
|
}, {
|
|
487
455
|
retries: Infinity,
|
|
488
|
-
shouldRetry: shouldRetry ?
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
} : undefined,
|
|
456
|
+
shouldRetry: shouldRetry ? ({
|
|
457
|
+
error
|
|
458
|
+
}) => shouldRetry(error) : undefined,
|
|
492
459
|
factor: 2,
|
|
493
460
|
minTimeout: 3000,
|
|
494
461
|
// ms
|
|
@@ -505,9 +472,9 @@ export function simpleRetryOperation(promiseFn, shouldRetry) {
|
|
|
505
472
|
* The default alphabet used by string averaging in this SDK. This matches
|
|
506
473
|
* all usefully printable ASCII characters (0x20-0x7E, inclusive).
|
|
507
474
|
*/
|
|
508
|
-
export
|
|
509
|
-
|
|
510
|
-
for (
|
|
475
|
+
export const DEFAULT_ALPHABET = (() => {
|
|
476
|
+
let str = "";
|
|
477
|
+
for (let c = 0x20; c <= 0x7e; c++) {
|
|
511
478
|
str += String.fromCharCode(c);
|
|
512
479
|
}
|
|
513
480
|
return str;
|
|
@@ -523,8 +490,7 @@ export var DEFAULT_ALPHABET = (() => {
|
|
|
523
490
|
* @param alphabet - The alphabet to use as a single string.
|
|
524
491
|
* @returns The padded string.
|
|
525
492
|
*/
|
|
526
|
-
export function alphabetPad(s, n) {
|
|
527
|
-
var alphabet = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : DEFAULT_ALPHABET;
|
|
493
|
+
export function alphabetPad(s, n, alphabet = DEFAULT_ALPHABET) {
|
|
528
494
|
return s.padEnd(n, alphabet[0]);
|
|
529
495
|
}
|
|
530
496
|
|
|
@@ -536,21 +502,19 @@ export function alphabetPad(s, n) {
|
|
|
536
502
|
* @param alphabet - The alphabet to use as a single string.
|
|
537
503
|
* @returns The baseN number encoded as a string from the alphabet.
|
|
538
504
|
*/
|
|
539
|
-
export function baseToString(n) {
|
|
540
|
-
var alphabet = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : DEFAULT_ALPHABET;
|
|
505
|
+
export function baseToString(n, alphabet = DEFAULT_ALPHABET) {
|
|
541
506
|
// Developer note: the stringToBase() function offsets the character set by 1 so that repeated
|
|
542
507
|
// characters (ie: "aaaaaa" in a..z) don't come out as zero. We have to reverse this here as
|
|
543
508
|
// otherwise we'll be wrong in our conversion. Undoing a +1 before an exponent isn't very fun
|
|
544
509
|
// though, so we rely on a lengthy amount of `x - 1` and integer division rules to reach a
|
|
545
510
|
// sane state. This also means we have to do rollover detection: see below.
|
|
546
511
|
|
|
547
|
-
|
|
512
|
+
const len = BigInt(alphabet.length);
|
|
548
513
|
if (n <= len) {
|
|
549
|
-
|
|
550
|
-
return (_alphabet = alphabet[Number(n) - 1]) !== null && _alphabet !== void 0 ? _alphabet : "";
|
|
514
|
+
return alphabet[Number(n) - 1] ?? "";
|
|
551
515
|
}
|
|
552
|
-
|
|
553
|
-
|
|
516
|
+
let d = n / len;
|
|
517
|
+
let r = Number(n % len) - 1;
|
|
554
518
|
|
|
555
519
|
// Rollover detection: if the remainder is negative, it means that the string needs
|
|
556
520
|
// to roll over by 1 character downwards (ie: in a..z, the previous to "aaa" would be
|
|
@@ -570,9 +534,8 @@ export function baseToString(n) {
|
|
|
570
534
|
* @param alphabet - The alphabet to use as a single string.
|
|
571
535
|
* @returns The baseN number.
|
|
572
536
|
*/
|
|
573
|
-
export function stringToBase(s) {
|
|
574
|
-
|
|
575
|
-
var len = BigInt(alphabet.length);
|
|
537
|
+
export function stringToBase(s, alphabet = DEFAULT_ALPHABET) {
|
|
538
|
+
const len = BigInt(alphabet.length);
|
|
576
539
|
|
|
577
540
|
// In our conversion to baseN we do a couple performance optimizations to avoid using
|
|
578
541
|
// excess CPU and such. To create baseN numbers, the input string needs to be reversed
|
|
@@ -586,9 +549,9 @@ export function stringToBase(s) {
|
|
|
586
549
|
// Developer caution: we carefully cast to BigInt here to avoid losing precision. We cannot
|
|
587
550
|
// rely on Math.pow() (for example) to be capable of handling our insane numbers.
|
|
588
551
|
|
|
589
|
-
|
|
590
|
-
for (
|
|
591
|
-
|
|
552
|
+
let result = BigInt(0);
|
|
553
|
+
for (let i = s.length - 1, j = BigInt(0); i >= 0; i--, j++) {
|
|
554
|
+
const charIndex = s.charCodeAt(i) - alphabet.charCodeAt(0);
|
|
592
555
|
|
|
593
556
|
// We add 1 to the char index to offset the whole numbering scheme. We unpack this in
|
|
594
557
|
// the baseToString() function.
|
|
@@ -606,12 +569,11 @@ export function stringToBase(s) {
|
|
|
606
569
|
* @param alphabet - The alphabet to use as a single string.
|
|
607
570
|
* @returns The midpoint between the strings, as a string.
|
|
608
571
|
*/
|
|
609
|
-
export function averageBetweenStrings(a, b) {
|
|
610
|
-
|
|
611
|
-
|
|
612
|
-
|
|
613
|
-
|
|
614
|
-
var avg = (baseA + baseB) / BigInt(2);
|
|
572
|
+
export function averageBetweenStrings(a, b, alphabet = DEFAULT_ALPHABET) {
|
|
573
|
+
const padN = Math.max(a.length, b.length);
|
|
574
|
+
const baseA = stringToBase(alphabetPad(a, padN, alphabet), alphabet);
|
|
575
|
+
const baseB = stringToBase(alphabetPad(b, padN, alphabet), alphabet);
|
|
576
|
+
const avg = (baseA + baseB) / BigInt(2);
|
|
615
577
|
|
|
616
578
|
// Detect integer division conflicts. This happens when two numbers are divided too close so
|
|
617
579
|
// we lose a .5 precision. We need to add a padding character in these cases.
|
|
@@ -629,8 +591,7 @@ export function averageBetweenStrings(a, b) {
|
|
|
629
591
|
* @param alphabet - The alphabet to use as a single string.
|
|
630
592
|
* @returns The string which follows the input string.
|
|
631
593
|
*/
|
|
632
|
-
export function nextString(s) {
|
|
633
|
-
var alphabet = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : DEFAULT_ALPHABET;
|
|
594
|
+
export function nextString(s, alphabet = DEFAULT_ALPHABET) {
|
|
634
595
|
return baseToString(stringToBase(s, alphabet) + BigInt(1), alphabet);
|
|
635
596
|
}
|
|
636
597
|
|
|
@@ -642,8 +603,7 @@ export function nextString(s) {
|
|
|
642
603
|
* @param alphabet - The alphabet to use as a single string.
|
|
643
604
|
* @returns The string which precedes the input string.
|
|
644
605
|
*/
|
|
645
|
-
export function prevString(s) {
|
|
646
|
-
var alphabet = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : DEFAULT_ALPHABET;
|
|
606
|
+
export function prevString(s, alphabet = DEFAULT_ALPHABET) {
|
|
647
607
|
return baseToString(stringToBase(s, alphabet) - BigInt(1), alphabet);
|
|
648
608
|
}
|
|
649
609
|
|
|
@@ -672,12 +632,8 @@ export function lexicographicCompare(a, b) {
|
|
|
672
632
|
*
|
|
673
633
|
* @returns the target object
|
|
674
634
|
*/
|
|
675
|
-
export function recursivelyAssign(target, source) {
|
|
676
|
-
|
|
677
|
-
for (var _ref0 of Object.entries(source)) {
|
|
678
|
-
var _ref9 = _slicedToArray(_ref0, 2);
|
|
679
|
-
var sourceKey = _ref9[0];
|
|
680
|
-
var sourceValue = _ref9[1];
|
|
635
|
+
export function recursivelyAssign(target, source, ignoreNullish = false) {
|
|
636
|
+
for (const [sourceKey, sourceValue] of Object.entries(source)) {
|
|
681
637
|
if (target[sourceKey] instanceof Object && sourceValue) {
|
|
682
638
|
recursivelyAssign(target[sourceKey], sourceValue);
|
|
683
639
|
continue;
|
|
@@ -690,8 +646,7 @@ export function recursivelyAssign(target, source) {
|
|
|
690
646
|
return target;
|
|
691
647
|
}
|
|
692
648
|
function getContentTimestampWithFallback(event) {
|
|
693
|
-
|
|
694
|
-
return (_M_TIMESTAMP$findIn = M_TIMESTAMP.findIn(event.getContent())) !== null && _M_TIMESTAMP$findIn !== void 0 ? _M_TIMESTAMP$findIn : -1;
|
|
649
|
+
return M_TIMESTAMP.findIn(event.getContent()) ?? -1;
|
|
695
650
|
}
|
|
696
651
|
|
|
697
652
|
/**
|
|
@@ -709,14 +664,10 @@ export function isSupportedReceiptType(receiptType) {
|
|
|
709
664
|
* Determines whether two maps are equal.
|
|
710
665
|
* @param eq - The equivalence relation to compare values by. Defaults to strict equality.
|
|
711
666
|
*/
|
|
712
|
-
export function mapsEqual(x, y) {
|
|
713
|
-
var eq = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : (v1, v2) => v1 === v2;
|
|
667
|
+
export function mapsEqual(x, y, eq = (v1, v2) => v1 === v2) {
|
|
714
668
|
if (x.size !== y.size) return false;
|
|
715
|
-
for (
|
|
716
|
-
|
|
717
|
-
var k = _ref10[0];
|
|
718
|
-
var v1 = _ref10[1];
|
|
719
|
-
var v2 = y.get(k);
|
|
669
|
+
for (const [k, v1] of x) {
|
|
670
|
+
const v2 = y.get(k);
|
|
720
671
|
if (v2 === undefined || !eq(v1, v2)) return false;
|
|
721
672
|
}
|
|
722
673
|
return true;
|
|
@@ -738,11 +689,8 @@ function processMapToObjectValue(value) {
|
|
|
738
689
|
* Also supports sub-lists of Maps.
|
|
739
690
|
*/
|
|
740
691
|
export function recursiveMapToObject(map) {
|
|
741
|
-
|
|
742
|
-
for (
|
|
743
|
-
var _ref13 = _slicedToArray(_ref14, 2);
|
|
744
|
-
var key = _ref13[0];
|
|
745
|
-
var value = _ref13[1];
|
|
692
|
+
const targetMap = new Map();
|
|
693
|
+
for (const [key, value] of map) {
|
|
746
694
|
targetMap.set(key, processMapToObjectValue(value));
|
|
747
695
|
}
|
|
748
696
|
return Object.fromEntries(targetMap.entries());
|