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,4 +1,3 @@
|
|
|
1
|
-
import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
|
|
2
1
|
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
3
2
|
/*
|
|
4
3
|
Copyright 2020 The Matrix.org Foundation C.I.C.
|
|
@@ -25,8 +24,8 @@ import { RoomEvent } from "../models/room.js";
|
|
|
25
24
|
|
|
26
25
|
// Don't ring unless we'd be ringing for at least 3 seconds: the user needs some
|
|
27
26
|
// time to press the 'accept' button
|
|
28
|
-
|
|
29
|
-
export
|
|
27
|
+
const RING_GRACE_PERIOD = 3000;
|
|
28
|
+
export let CallEventHandlerEvent = /*#__PURE__*/function (CallEventHandlerEvent) {
|
|
30
29
|
CallEventHandlerEvent["Incoming"] = "Call.incoming";
|
|
31
30
|
return CallEventHandlerEvent;
|
|
32
31
|
}({});
|
|
@@ -42,7 +41,7 @@ export class CallEventHandler {
|
|
|
42
41
|
_defineProperty(this, "eventBufferPromiseChain", void 0);
|
|
43
42
|
_defineProperty(this, "onSync", () => {
|
|
44
43
|
// Process the current event buffer and start queuing into a new one.
|
|
45
|
-
|
|
44
|
+
const currentEventBuffer = this.callEventBuffer;
|
|
46
45
|
this.callEventBuffer = [];
|
|
47
46
|
|
|
48
47
|
// Ensure correct ordering by only processing this queue after the previous one has finished processing
|
|
@@ -56,7 +55,7 @@ export class CallEventHandler {
|
|
|
56
55
|
this.callEventBuffer.push(event);
|
|
57
56
|
});
|
|
58
57
|
_defineProperty(this, "onToDeviceEvent", event => {
|
|
59
|
-
|
|
58
|
+
const content = event.getContent();
|
|
60
59
|
if (!content.call_id) {
|
|
61
60
|
this.callEventBuffer.push(event);
|
|
62
61
|
return;
|
|
@@ -68,28 +67,28 @@ export class CallEventHandler {
|
|
|
68
67
|
this.callEventBuffer.push(event);
|
|
69
68
|
return;
|
|
70
69
|
}
|
|
71
|
-
|
|
70
|
+
const nextSeq = this.nextSeqByCall.get(content.call_id) || 0;
|
|
72
71
|
if (content.seq !== nextSeq) {
|
|
73
72
|
if (!this.toDeviceEventBuffers.has(content.call_id)) {
|
|
74
73
|
this.toDeviceEventBuffers.set(content.call_id, []);
|
|
75
74
|
}
|
|
76
|
-
|
|
77
|
-
|
|
75
|
+
const buffer = this.toDeviceEventBuffers.get(content.call_id);
|
|
76
|
+
const index = buffer.findIndex(e => e.getContent().seq > content.seq);
|
|
78
77
|
if (index === -1) {
|
|
79
78
|
buffer.push(event);
|
|
80
79
|
} else {
|
|
81
80
|
buffer.splice(index, 0, event);
|
|
82
81
|
}
|
|
83
82
|
} else {
|
|
84
|
-
|
|
83
|
+
const callId = content.call_id;
|
|
85
84
|
this.callEventBuffer.push(event);
|
|
86
85
|
this.nextSeqByCall.set(callId, content.seq + 1);
|
|
87
|
-
|
|
88
|
-
|
|
86
|
+
const buffer = this.toDeviceEventBuffers.get(callId);
|
|
87
|
+
let nextEvent = buffer && buffer.shift();
|
|
89
88
|
while (nextEvent && nextEvent.getContent().seq === this.nextSeqByCall.get(callId)) {
|
|
90
89
|
this.callEventBuffer.push(nextEvent);
|
|
91
90
|
this.nextSeqByCall.set(callId, nextEvent.getContent().seq + 1);
|
|
92
|
-
nextEvent =
|
|
91
|
+
nextEvent = buffer.shift();
|
|
93
92
|
}
|
|
94
93
|
}
|
|
95
94
|
});
|
|
@@ -116,229 +115,218 @@ export class CallEventHandler {
|
|
|
116
115
|
this.client.removeListener(RoomEvent.Timeline, this.onRoomTimeline);
|
|
117
116
|
this.client.removeListener(ClientEvent.ToDeviceEvent, this.onToDeviceEvent);
|
|
118
117
|
}
|
|
119
|
-
evaluateEventBuffer(eventBuffer) {
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
});
|
|
127
|
-
var ignoreCallIds = new Set();
|
|
118
|
+
async evaluateEventBuffer(eventBuffer) {
|
|
119
|
+
await Promise.all(eventBuffer.map(event => this.client.decryptEventIfNeeded(event)));
|
|
120
|
+
const callEvents = eventBuffer.filter(event => {
|
|
121
|
+
const eventType = event.getType();
|
|
122
|
+
return eventType.startsWith("m.call.") || eventType.startsWith("org.matrix.call.");
|
|
123
|
+
});
|
|
124
|
+
const ignoreCallIds = new Set();
|
|
128
125
|
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
}
|
|
126
|
+
// inspect the buffer and mark all calls which have been answered
|
|
127
|
+
// or hung up before passing them to the call event handler.
|
|
128
|
+
for (const event of callEvents) {
|
|
129
|
+
const eventType = event.getType();
|
|
130
|
+
if (eventType === EventType.CallAnswer || eventType === EventType.CallHangup) {
|
|
131
|
+
ignoreCallIds.add(event.getContent().call_id);
|
|
136
132
|
}
|
|
133
|
+
}
|
|
137
134
|
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
}
|
|
146
|
-
try {
|
|
147
|
-
yield _this.handleCallEvent(_event);
|
|
148
|
-
} catch (e) {
|
|
149
|
-
logger.error("CallEventHandler evaluateEventBuffer() caught exception handling call event", e);
|
|
150
|
-
}
|
|
135
|
+
// Process call events in the order that they were received
|
|
136
|
+
for (const event of callEvents) {
|
|
137
|
+
const eventType = event.getType();
|
|
138
|
+
const callId = event.getContent().call_id;
|
|
139
|
+
if (eventType === EventType.CallInvite && ignoreCallIds.has(callId)) {
|
|
140
|
+
// This call has previously been answered or hung up: ignore it
|
|
141
|
+
continue;
|
|
151
142
|
}
|
|
152
|
-
|
|
143
|
+
try {
|
|
144
|
+
await this.handleCallEvent(event);
|
|
145
|
+
} catch (e) {
|
|
146
|
+
logger.error("CallEventHandler evaluateEventBuffer() caught exception handling call event", e);
|
|
147
|
+
}
|
|
148
|
+
}
|
|
153
149
|
}
|
|
154
|
-
handleCallEvent(event) {
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
if (!groupCall) {
|
|
170
|
-
logger.warn("CallEventHandler handleCallEvent() could not find a group call - ignoring event (groupCallId=".concat(groupCallId, ", type=").concat(type, ")"));
|
|
171
|
-
return;
|
|
172
|
-
}
|
|
173
|
-
opponentDeviceId = content.device_id;
|
|
174
|
-
if (!opponentDeviceId) {
|
|
175
|
-
logger.warn("CallEventHandler handleCallEvent() could not find a device id - ignoring event (senderId=".concat(senderId, ")"));
|
|
176
|
-
groupCall.emit(GroupCallEvent.Error, new GroupCallUnknownDeviceError(senderId));
|
|
177
|
-
return;
|
|
178
|
-
}
|
|
179
|
-
if (content.dest_session_id !== _this2.client.getSessionId()) {
|
|
180
|
-
logger.warn("CallEventHandler handleCallEvent() call event does not match current session id - ignoring");
|
|
181
|
-
return;
|
|
182
|
-
}
|
|
150
|
+
async handleCallEvent(event) {
|
|
151
|
+
this.client.emit(ClientEvent.ReceivedVoipEvent, event);
|
|
152
|
+
const content = event.getContent();
|
|
153
|
+
const callRoomId = event.getRoomId() || this.client.groupCallEventHandler.getGroupCallById(content.conf_id)?.room?.roomId;
|
|
154
|
+
const groupCallId = content.conf_id;
|
|
155
|
+
const type = event.getType();
|
|
156
|
+
const senderId = event.getSender();
|
|
157
|
+
let call = content.call_id ? this.calls.get(content.call_id) : undefined;
|
|
158
|
+
let opponentDeviceId;
|
|
159
|
+
let groupCall;
|
|
160
|
+
if (groupCallId) {
|
|
161
|
+
groupCall = this.client.groupCallEventHandler.getGroupCallById(groupCallId);
|
|
162
|
+
if (!groupCall) {
|
|
163
|
+
logger.warn(`CallEventHandler handleCallEvent() could not find a group call - ignoring event (groupCallId=${groupCallId}, type=${type})`);
|
|
164
|
+
return;
|
|
183
165
|
}
|
|
184
|
-
|
|
185
|
-
if (!
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
}
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
166
|
+
opponentDeviceId = content.device_id;
|
|
167
|
+
if (!opponentDeviceId) {
|
|
168
|
+
logger.warn(`CallEventHandler handleCallEvent() could not find a device id - ignoring event (senderId=${senderId})`);
|
|
169
|
+
groupCall.emit(GroupCallEvent.Error, new GroupCallUnknownDeviceError(senderId));
|
|
170
|
+
return;
|
|
171
|
+
}
|
|
172
|
+
if (content.dest_session_id !== this.client.getSessionId()) {
|
|
173
|
+
logger.warn("CallEventHandler handleCallEvent() call event does not match current session id - ignoring");
|
|
174
|
+
return;
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
const weSentTheEvent = senderId === this.client.credentials.userId && (opponentDeviceId === undefined || opponentDeviceId === this.client.getDeviceId());
|
|
178
|
+
if (!callRoomId) return;
|
|
179
|
+
if (type === EventType.CallInvite) {
|
|
180
|
+
// ignore invites you send
|
|
181
|
+
if (weSentTheEvent) return;
|
|
182
|
+
// expired call
|
|
183
|
+
if (event.getLocalAge() > content.lifetime - RING_GRACE_PERIOD) return;
|
|
184
|
+
// stale/old invite event
|
|
185
|
+
if (call && call.state === CallState.Ended) return;
|
|
186
|
+
if (call) {
|
|
187
|
+
logger.warn(`CallEventHandler handleCallEvent() already has a call but got an invite - clobbering (callId=${content.call_id})`);
|
|
188
|
+
}
|
|
189
|
+
if (content.invitee && content.invitee !== this.client.getUserId()) {
|
|
190
|
+
return; // This invite was meant for another user in the room
|
|
191
|
+
}
|
|
192
|
+
const timeUntilTurnCresExpire = (this.client.getTurnServersExpiry() ?? 0) - Date.now();
|
|
193
|
+
logger.info("CallEventHandler handleCallEvent() current turn creds expire in " + timeUntilTurnCresExpire + " ms");
|
|
194
|
+
call = createNewMatrixCall(this.client, callRoomId, {
|
|
195
|
+
forceTURN: this.client.forceTURN,
|
|
196
|
+
opponentDeviceId,
|
|
197
|
+
groupCallId,
|
|
198
|
+
opponentSessionId: content.sender_session_id
|
|
199
|
+
}) ?? undefined;
|
|
200
|
+
if (!call) {
|
|
201
|
+
logger.log(`CallEventHandler handleCallEvent() this client does not support WebRTC (callId=${content.call_id})`);
|
|
202
|
+
// don't hang up the call: there could be other clients
|
|
203
|
+
// connected that do support WebRTC and declining the
|
|
204
|
+
// the call on their behalf would be really annoying.
|
|
205
|
+
return;
|
|
206
|
+
}
|
|
207
|
+
call.callId = content.call_id;
|
|
208
|
+
const stats = groupCall?.getGroupCallStats();
|
|
209
|
+
if (stats) {
|
|
210
|
+
call.initStats(stats);
|
|
211
|
+
}
|
|
212
|
+
try {
|
|
213
|
+
await call.initWithInvite(event);
|
|
214
|
+
} catch (e) {
|
|
215
|
+
if (e instanceof CallError) {
|
|
216
|
+
if (e.code === GroupCallErrorCode.UnknownDevice) {
|
|
217
|
+
groupCall?.emit(GroupCallEvent.Error, e);
|
|
218
|
+
} else {
|
|
219
|
+
logger.error(e);
|
|
230
220
|
}
|
|
231
221
|
}
|
|
232
|
-
|
|
222
|
+
}
|
|
223
|
+
this.calls.set(call.callId, call);
|
|
233
224
|
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
}
|
|
225
|
+
// if we stashed candidate events for that call ID, play them back now
|
|
226
|
+
if (this.candidateEventsByCall.get(call.callId)) {
|
|
227
|
+
for (const ev of this.candidateEventsByCall.get(call.callId)) {
|
|
228
|
+
call.onRemoteIceCandidatesReceived(ev);
|
|
239
229
|
}
|
|
230
|
+
}
|
|
240
231
|
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
break;
|
|
249
|
-
}
|
|
232
|
+
// Were we trying to call that user (room)?
|
|
233
|
+
let existingCall;
|
|
234
|
+
for (const thisCall of this.calls.values()) {
|
|
235
|
+
const isCalling = [CallState.WaitLocalMedia, CallState.CreateOffer, CallState.InviteSent].includes(thisCall.state);
|
|
236
|
+
if (call.roomId === thisCall.roomId && thisCall.direction === CallDirection.Outbound && call.getOpponentMember()?.userId === thisCall.invitee && isCalling) {
|
|
237
|
+
existingCall = thisCall;
|
|
238
|
+
break;
|
|
250
239
|
}
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
logger.log("CallEventHandler handleCallEvent() detected glare - hanging up incoming call (incomingId=".concat(call.callId, ", outgoingId=").concat(existingCall.callId, ")"));
|
|
257
|
-
call.hangup(CallErrorCode.Replaced, true);
|
|
258
|
-
}
|
|
240
|
+
}
|
|
241
|
+
if (existingCall) {
|
|
242
|
+
if (existingCall.callId > call.callId) {
|
|
243
|
+
logger.log(`CallEventHandler handleCallEvent() detected glare - answering incoming call and canceling outgoing call (incomingId=${call.callId}, outgoingId=${existingCall.callId})`);
|
|
244
|
+
existingCall.replacedBy(call);
|
|
259
245
|
} else {
|
|
260
|
-
|
|
246
|
+
logger.log(`CallEventHandler handleCallEvent() detected glare - hanging up incoming call (incomingId=${call.callId}, outgoingId=${existingCall.callId})`);
|
|
247
|
+
call.hangup(CallErrorCode.Replaced, true);
|
|
261
248
|
}
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
call.onRemoteIceCandidatesReceived(event);
|
|
249
|
+
} else {
|
|
250
|
+
this.client.emit(CallEventHandlerEvent.Incoming, call);
|
|
251
|
+
}
|
|
252
|
+
return;
|
|
253
|
+
} else if (type === EventType.CallCandidates) {
|
|
254
|
+
if (weSentTheEvent) return;
|
|
255
|
+
if (!call) {
|
|
256
|
+
// store the candidates; we may get a call eventually.
|
|
257
|
+
if (!this.candidateEventsByCall.has(content.call_id)) {
|
|
258
|
+
this.candidateEventsByCall.set(content.call_id, []);
|
|
273
259
|
}
|
|
274
|
-
|
|
275
|
-
} else
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
260
|
+
this.candidateEventsByCall.get(content.call_id).push(event);
|
|
261
|
+
} else {
|
|
262
|
+
call.onRemoteIceCandidatesReceived(event);
|
|
263
|
+
}
|
|
264
|
+
return;
|
|
265
|
+
} else if ([EventType.CallHangup, EventType.CallReject].includes(type)) {
|
|
266
|
+
// Note that we also observe our own hangups here so we can see
|
|
267
|
+
// if we've already rejected a call that would otherwise be valid
|
|
268
|
+
if (!call) {
|
|
269
|
+
// if not live, store the fact that the call has ended because
|
|
270
|
+
// we're probably getting events backwards so
|
|
271
|
+
// the hangup will come before the invite
|
|
272
|
+
call = createNewMatrixCall(this.client, callRoomId, {
|
|
273
|
+
opponentDeviceId,
|
|
274
|
+
opponentSessionId: content.sender_session_id
|
|
275
|
+
}) ?? undefined;
|
|
276
|
+
if (call) {
|
|
277
|
+
call.callId = content.call_id;
|
|
278
|
+
call.initWithHangup(event);
|
|
279
|
+
this.calls.set(content.call_id, call);
|
|
280
|
+
}
|
|
281
|
+
} else {
|
|
282
|
+
if (call.state !== CallState.Ended) {
|
|
283
|
+
if (type === EventType.CallHangup) {
|
|
284
|
+
call.onHangupReceived(content);
|
|
285
|
+
} else {
|
|
286
|
+
call.onRejectReceived(content);
|
|
291
287
|
}
|
|
292
|
-
} else {
|
|
293
|
-
if (call.state !== CallState.Ended) {
|
|
294
|
-
if (type === EventType.CallHangup) {
|
|
295
|
-
call.onHangupReceived(content);
|
|
296
|
-
} else {
|
|
297
|
-
call.onRejectReceived(content);
|
|
298
|
-
}
|
|
299
288
|
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
}
|
|
289
|
+
// @ts-expect-error typescript thinks the state can't be 'ended' because we're
|
|
290
|
+
// inside the if block where it wasn't, but it could have changed because
|
|
291
|
+
// on[Hangup|Reject]Received are side-effecty.
|
|
292
|
+
if (call.state === CallState.Ended) this.calls.delete(content.call_id);
|
|
305
293
|
}
|
|
306
|
-
return;
|
|
307
294
|
}
|
|
295
|
+
return;
|
|
296
|
+
}
|
|
308
297
|
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
}
|
|
322
|
-
} else {
|
|
323
|
-
call.onAnswerReceived(event);
|
|
298
|
+
// The following events need a call and a peer connection
|
|
299
|
+
if (!call || !call.hasPeerConnection) {
|
|
300
|
+
logger.info(`CallEventHandler handleCallEvent() discarding possible call event as we don't have a call (type=${type})`);
|
|
301
|
+
return;
|
|
302
|
+
}
|
|
303
|
+
// Ignore remote echo
|
|
304
|
+
if (event.getContent().party_id === call.ourPartyId) return;
|
|
305
|
+
switch (type) {
|
|
306
|
+
case EventType.CallAnswer:
|
|
307
|
+
if (weSentTheEvent) {
|
|
308
|
+
if (call.state === CallState.Ringing) {
|
|
309
|
+
call.onAnsweredElsewhere(content);
|
|
324
310
|
}
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
311
|
+
} else {
|
|
312
|
+
call.onAnswerReceived(event);
|
|
313
|
+
}
|
|
314
|
+
break;
|
|
315
|
+
case EventType.CallSelectAnswer:
|
|
316
|
+
call.onSelectAnswerReceived(event);
|
|
317
|
+
break;
|
|
318
|
+
case EventType.CallNegotiate:
|
|
319
|
+
call.onNegotiateReceived(event);
|
|
320
|
+
break;
|
|
321
|
+
case EventType.CallAssertedIdentity:
|
|
322
|
+
case EventType.CallAssertedIdentityPrefix:
|
|
323
|
+
call.onAssertedIdentityReceived(event);
|
|
324
|
+
break;
|
|
325
|
+
case EventType.CallSDPStreamMetadataChanged:
|
|
326
|
+
case EventType.CallSDPStreamMetadataChangedPrefix:
|
|
327
|
+
call.onSDPStreamMetadataChangedReceived(event);
|
|
328
|
+
break;
|
|
329
|
+
}
|
|
342
330
|
}
|
|
343
331
|
}
|
|
344
332
|
//# sourceMappingURL=callEventHandler.js.map
|