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/oidc/authorize.js
CHANGED
|
@@ -1,7 +1,4 @@
|
|
|
1
|
-
import
|
|
2
|
-
import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
|
|
3
|
-
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; }
|
|
4
|
-
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";
|
|
5
2
|
/*
|
|
6
3
|
Copyright 2023 The Matrix.org Foundation C.I.C.
|
|
7
4
|
|
|
@@ -42,26 +39,21 @@ import { Method } from "../http-api/index.js";
|
|
|
42
39
|
* Generate the scope used in authorization request with OIDC OP
|
|
43
40
|
* @returns scope
|
|
44
41
|
*/
|
|
45
|
-
export
|
|
46
|
-
|
|
47
|
-
return
|
|
42
|
+
export const generateScope = deviceId => {
|
|
43
|
+
const safeDeviceId = deviceId ?? secureRandomString(10);
|
|
44
|
+
return `openid urn:matrix:org.matrix.msc2967.client:api:* urn:matrix:org.matrix.msc2967.client:device:${safeDeviceId}`;
|
|
48
45
|
};
|
|
49
46
|
|
|
50
47
|
// https://www.rfc-editor.org/rfc/rfc7636
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
});
|
|
61
|
-
return function generateCodeChallenge(_x) {
|
|
62
|
-
return _ref.apply(this, arguments);
|
|
63
|
-
};
|
|
64
|
-
}();
|
|
48
|
+
const generateCodeChallenge = async codeVerifier => {
|
|
49
|
+
if (!globalThis.crypto.subtle) {
|
|
50
|
+
// @TODO(kerrya) should this be allowed? configurable?
|
|
51
|
+
logger.warn("A secure context is required to generate code challenge. Using plain text code challenge");
|
|
52
|
+
return codeVerifier;
|
|
53
|
+
}
|
|
54
|
+
const hashBuffer = await sha256(codeVerifier);
|
|
55
|
+
return encodeUnpaddedBase64Url(hashBuffer);
|
|
56
|
+
};
|
|
65
57
|
|
|
66
58
|
/**
|
|
67
59
|
* Generate authorization params to pass to {@link generateAuthorizationUrl}.
|
|
@@ -71,16 +63,15 @@ var generateCodeChallenge = /*#__PURE__*/function () {
|
|
|
71
63
|
* @param redirectUri - absolute url for OP to redirect to after authorization
|
|
72
64
|
* @returns AuthorizationParams
|
|
73
65
|
*/
|
|
74
|
-
export
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
};
|
|
66
|
+
export const generateAuthorizationParams = ({
|
|
67
|
+
redirectUri
|
|
68
|
+
}) => ({
|
|
69
|
+
scope: generateScope(),
|
|
70
|
+
redirectUri,
|
|
71
|
+
state: secureRandomString(8),
|
|
72
|
+
nonce: secureRandomString(8),
|
|
73
|
+
codeVerifier: secureRandomString(64) // https://tools.ietf.org/html/rfc7636#section-4.1 length needs to be 43-128 characters
|
|
74
|
+
});
|
|
84
75
|
|
|
85
76
|
/**
|
|
86
77
|
* @deprecated use generateOidcAuthorizationUrl
|
|
@@ -91,29 +82,25 @@ export var generateAuthorizationParams = _ref2 => {
|
|
|
91
82
|
* @param authorizationParams - params to be used in the url
|
|
92
83
|
* @returns a Promise with the url as a string
|
|
93
84
|
*/
|
|
94
|
-
export
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
return function generateAuthorizationUrl(_x2, _x3, _x4) {
|
|
114
|
-
return _ref4.apply(this, arguments);
|
|
115
|
-
};
|
|
116
|
-
}();
|
|
85
|
+
export const generateAuthorizationUrl = async (authorizationUrl, clientId, {
|
|
86
|
+
scope,
|
|
87
|
+
redirectUri,
|
|
88
|
+
state,
|
|
89
|
+
nonce,
|
|
90
|
+
codeVerifier
|
|
91
|
+
}) => {
|
|
92
|
+
const url = new URL(authorizationUrl);
|
|
93
|
+
url.searchParams.append("response_mode", "query");
|
|
94
|
+
url.searchParams.append("response_type", "code");
|
|
95
|
+
url.searchParams.append("redirect_uri", redirectUri);
|
|
96
|
+
url.searchParams.append("client_id", clientId);
|
|
97
|
+
url.searchParams.append("state", state);
|
|
98
|
+
url.searchParams.append("scope", scope);
|
|
99
|
+
url.searchParams.append("nonce", nonce);
|
|
100
|
+
url.searchParams.append("code_challenge_method", "S256");
|
|
101
|
+
url.searchParams.append("code_challenge", await generateCodeChallenge(codeVerifier));
|
|
102
|
+
return url.toString();
|
|
103
|
+
};
|
|
117
104
|
|
|
118
105
|
/**
|
|
119
106
|
* @experimental
|
|
@@ -133,50 +120,45 @@ export var generateAuthorizationUrl = /*#__PURE__*/function () {
|
|
|
133
120
|
* See {@link https://openid.net/specs/openid-connect-core-1_0.html#AuthRequest OIDC core 3.1.2.1}.
|
|
134
121
|
* @returns a Promise with the url as a string
|
|
135
122
|
*/
|
|
136
|
-
export
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
identityServerUrl
|
|
166
|
-
};
|
|
167
|
-
var request = yield oidcClient.createSigninRequest({
|
|
168
|
-
state: userState,
|
|
169
|
-
nonce,
|
|
170
|
-
prompt,
|
|
171
|
-
url_state: urlState,
|
|
172
|
-
login_hint: loginHint
|
|
173
|
-
});
|
|
174
|
-
return request.url;
|
|
175
|
-
});
|
|
176
|
-
return function generateOidcAuthorizationUrl(_x5) {
|
|
177
|
-
return _ref6.apply(this, arguments);
|
|
123
|
+
export const generateOidcAuthorizationUrl = async ({
|
|
124
|
+
metadata,
|
|
125
|
+
redirectUri,
|
|
126
|
+
clientId,
|
|
127
|
+
homeserverUrl,
|
|
128
|
+
identityServerUrl,
|
|
129
|
+
nonce,
|
|
130
|
+
prompt,
|
|
131
|
+
urlState,
|
|
132
|
+
loginHint,
|
|
133
|
+
responseMode = "query"
|
|
134
|
+
}) => {
|
|
135
|
+
const scope = generateScope();
|
|
136
|
+
const oidcClient = new OidcClient(_objectSpread(_objectSpread({}, metadata), {}, {
|
|
137
|
+
client_id: clientId,
|
|
138
|
+
redirect_uri: redirectUri,
|
|
139
|
+
authority: metadata.issuer,
|
|
140
|
+
response_mode: responseMode,
|
|
141
|
+
response_type: "code",
|
|
142
|
+
scope,
|
|
143
|
+
stateStore: new WebStorageStateStore({
|
|
144
|
+
prefix: "mx_oidc_",
|
|
145
|
+
store: window.sessionStorage
|
|
146
|
+
})
|
|
147
|
+
}));
|
|
148
|
+
const userState = {
|
|
149
|
+
homeserverUrl,
|
|
150
|
+
nonce,
|
|
151
|
+
identityServerUrl
|
|
178
152
|
};
|
|
179
|
-
|
|
153
|
+
const request = await oidcClient.createSigninRequest({
|
|
154
|
+
state: userState,
|
|
155
|
+
nonce,
|
|
156
|
+
prompt,
|
|
157
|
+
url_state: urlState,
|
|
158
|
+
login_hint: loginHint
|
|
159
|
+
});
|
|
160
|
+
return request.url;
|
|
161
|
+
};
|
|
180
162
|
|
|
181
163
|
/**
|
|
182
164
|
* Normalize token_type to use capital case to make consuming the token response easier
|
|
@@ -187,7 +169,7 @@ export var generateOidcAuthorizationUrl = /*#__PURE__*/function () {
|
|
|
187
169
|
* @param response - validated token response
|
|
188
170
|
* @returns response with token_type set to 'Bearer'
|
|
189
171
|
*/
|
|
190
|
-
|
|
172
|
+
const normalizeBearerTokenResponseTokenType = response => ({
|
|
191
173
|
id_token: response.id_token,
|
|
192
174
|
scope: response.scope,
|
|
193
175
|
expires_at: response.expires_at,
|
|
@@ -210,88 +192,82 @@ var normalizeBearerTokenResponseTokenType = response => ({
|
|
|
210
192
|
* @throws An `Error` with `message` set to an entry in {@link OidcError},
|
|
211
193
|
* when the request fails, or the returned token response is invalid.
|
|
212
194
|
*/
|
|
213
|
-
export
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
reconstructedUrl.hash = "#".concat(params.toString());
|
|
230
|
-
}
|
|
195
|
+
export const completeAuthorizationCodeGrant = async (code, state, responseMode = "query") => {
|
|
196
|
+
/**
|
|
197
|
+
* Element Web strips and changes the url on starting the app
|
|
198
|
+
* Use the code and state from query params to rebuild a url
|
|
199
|
+
* so that oidc-client can parse it
|
|
200
|
+
*/
|
|
201
|
+
const reconstructedUrl = new URL(window.location.origin);
|
|
202
|
+
const params = new URLSearchParams({
|
|
203
|
+
code,
|
|
204
|
+
state
|
|
205
|
+
});
|
|
206
|
+
if (responseMode === "query") {
|
|
207
|
+
reconstructedUrl.search = params.toString();
|
|
208
|
+
} else {
|
|
209
|
+
reconstructedUrl.hash = `#${params.toString()}`;
|
|
210
|
+
}
|
|
231
211
|
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
212
|
+
// set oidc-client to use our logger
|
|
213
|
+
Log.setLogger(logger);
|
|
214
|
+
try {
|
|
215
|
+
const response = new SigninResponse(params);
|
|
216
|
+
const stateStore = new WebStorageStateStore({
|
|
217
|
+
prefix: "mx_oidc_",
|
|
218
|
+
store: window.sessionStorage
|
|
219
|
+
});
|
|
240
220
|
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
221
|
+
// retrieve the state we put in storage at the start of oidc auth flow
|
|
222
|
+
const stateString = await stateStore.get(response.state);
|
|
223
|
+
if (!stateString) {
|
|
224
|
+
throw new Error(OidcError.MissingOrInvalidStoredState);
|
|
225
|
+
}
|
|
246
226
|
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
227
|
+
// hydrate the sign in state and create a client
|
|
228
|
+
// the stored sign in state includes oidc configuration we set at the start of the oidc login flow
|
|
229
|
+
const signInState = await SigninState.fromStorageString(stateString);
|
|
230
|
+
const client = new OidcClient(_objectSpread(_objectSpread({}, signInState), {}, {
|
|
231
|
+
stateStore
|
|
232
|
+
}));
|
|
253
233
|
|
|
254
|
-
|
|
255
|
-
|
|
234
|
+
// validate the code and state, and attempt to swap the code for tokens
|
|
235
|
+
const signinResponse = await client.processSigninResponse(reconstructedUrl.href);
|
|
256
236
|
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
237
|
+
// extra values we stored at the start of the login flow
|
|
238
|
+
// used to complete login in the client
|
|
239
|
+
const userState = signinResponse.userState;
|
|
240
|
+
validateStoredUserState(userState);
|
|
261
241
|
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
242
|
+
// throws when response is invalid
|
|
243
|
+
validateBearerTokenResponse(signinResponse);
|
|
244
|
+
if (signinResponse.id_token) {
|
|
245
|
+
// The token is not yet in the Matrix spec so consider it optional
|
|
246
|
+
// throws when token is invalid
|
|
247
|
+
validateIdToken(signinResponse.id_token, client.settings.authority, client.settings.client_id, userState.nonce);
|
|
248
|
+
}
|
|
249
|
+
const normalizedTokenResponse = normalizeBearerTokenResponseTokenType(signinResponse);
|
|
250
|
+
return {
|
|
251
|
+
oidcClientSettings: {
|
|
252
|
+
clientId: client.settings.client_id,
|
|
253
|
+
issuer: client.settings.authority
|
|
254
|
+
},
|
|
255
|
+
tokenResponse: normalizedTokenResponse,
|
|
256
|
+
homeserverUrl: userState.homeserverUrl,
|
|
257
|
+
identityServerUrl: userState.identityServerUrl,
|
|
258
|
+
idTokenClaims: signinResponse.profile
|
|
259
|
+
};
|
|
260
|
+
} catch (error) {
|
|
261
|
+
logger.error("Oidc login failed", error);
|
|
262
|
+
const errorType = error.message;
|
|
283
263
|
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
}
|
|
288
|
-
throw new Error(OidcError.CodeExchangeFailed);
|
|
264
|
+
// rethrow errors that we recognise
|
|
265
|
+
if (Object.values(OidcError).includes(errorType)) {
|
|
266
|
+
throw error;
|
|
289
267
|
}
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
};
|
|
294
|
-
}();
|
|
268
|
+
throw new Error(OidcError.CodeExchangeFailed);
|
|
269
|
+
}
|
|
270
|
+
};
|
|
295
271
|
|
|
296
272
|
/**
|
|
297
273
|
* Response from the OIDC token endpoint when exchanging a token for grant_type device_code.
|
|
@@ -314,32 +290,28 @@ export var completeAuthorizationCodeGrant = /*#__PURE__*/function () {
|
|
|
314
290
|
* @returns a promise that resolves to a device access token response,
|
|
315
291
|
* or an error response if the user denies authorization or the device code expires.
|
|
316
292
|
*/
|
|
317
|
-
export
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
});
|
|
337
|
-
return yield response.json();
|
|
293
|
+
export const startDeviceAuthorization = async ({
|
|
294
|
+
clientId,
|
|
295
|
+
scope,
|
|
296
|
+
metadata
|
|
297
|
+
}) => {
|
|
298
|
+
const body = new URLSearchParams({
|
|
299
|
+
client_id: clientId,
|
|
300
|
+
scope: scope
|
|
301
|
+
}).toString();
|
|
302
|
+
const url = metadata.device_authorization_endpoint;
|
|
303
|
+
if (!url) {
|
|
304
|
+
throw new Error("No device_authorization_endpoint given");
|
|
305
|
+
}
|
|
306
|
+
const response = await fetch(url, {
|
|
307
|
+
method: Method.Post,
|
|
308
|
+
headers: {
|
|
309
|
+
"Content-Type": "application/x-www-form-urlencoded"
|
|
310
|
+
},
|
|
311
|
+
body
|
|
338
312
|
});
|
|
339
|
-
return
|
|
340
|
-
|
|
341
|
-
};
|
|
342
|
-
}();
|
|
313
|
+
return await response.json();
|
|
314
|
+
};
|
|
343
315
|
|
|
344
316
|
/**
|
|
345
317
|
* Polls the OIDC token endpoint until we get a device access token response, or encounter an unrecoverable error.
|
|
@@ -350,49 +322,44 @@ export var startDeviceAuthorization = /*#__PURE__*/function () {
|
|
|
350
322
|
* @returns a promise that resolves to a device access token response,
|
|
351
323
|
* or an error response if the user denies authorization or the device code expires.
|
|
352
324
|
*/
|
|
353
|
-
export
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
error: "expired"
|
|
392
|
-
};
|
|
393
|
-
});
|
|
394
|
-
return function waitForDeviceAuthorization(_x9) {
|
|
395
|
-
return _ref1.apply(this, arguments);
|
|
325
|
+
export const waitForDeviceAuthorization = async ({
|
|
326
|
+
session,
|
|
327
|
+
metadata,
|
|
328
|
+
clientId
|
|
329
|
+
}) => {
|
|
330
|
+
let interval = (session.interval ?? 5) * 1000; // poll interval
|
|
331
|
+
const expiration = Date.now() + session.expires_in * 1000;
|
|
332
|
+
do {
|
|
333
|
+
const body = new URLSearchParams({
|
|
334
|
+
device_code: session.device_code,
|
|
335
|
+
grant_type: OAuthGrantType.DeviceAuthorization,
|
|
336
|
+
client_id: clientId
|
|
337
|
+
}).toString();
|
|
338
|
+
const response = await fetch(metadata.token_endpoint, {
|
|
339
|
+
method: Method.Post,
|
|
340
|
+
headers: {
|
|
341
|
+
"Content-Type": "application/x-www-form-urlencoded"
|
|
342
|
+
},
|
|
343
|
+
body
|
|
344
|
+
});
|
|
345
|
+
if (response.ok) {
|
|
346
|
+
return await response.json();
|
|
347
|
+
}
|
|
348
|
+
const errorResponse = await response.json();
|
|
349
|
+
switch (errorResponse.error) {
|
|
350
|
+
case "authorization_pending":
|
|
351
|
+
break;
|
|
352
|
+
case "slow_down":
|
|
353
|
+
interval += 5000;
|
|
354
|
+
break;
|
|
355
|
+
case "access_denied":
|
|
356
|
+
case "expired_token":
|
|
357
|
+
return errorResponse;
|
|
358
|
+
}
|
|
359
|
+
await sleep(interval);
|
|
360
|
+
} while (Date.now() < expiration);
|
|
361
|
+
return {
|
|
362
|
+
error: "expired"
|
|
396
363
|
};
|
|
397
|
-
}
|
|
364
|
+
};
|
|
398
365
|
//# sourceMappingURL=authorize.js.map
|