@unwanted/matrix-sdk-mini 34.12.0 → 36.0.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/git-revision.txt +1 -1
- package/lib/@types/event.d.ts +25 -19
- package/lib/@types/event.d.ts.map +1 -1
- package/lib/@types/event.js +5 -0
- package/lib/@types/event.js.map +1 -1
- package/lib/@types/global.d.js +0 -2
- package/lib/@types/global.d.js.map +1 -1
- package/lib/autodiscovery.d.ts +1 -1
- package/lib/autodiscovery.d.ts.map +1 -1
- package/lib/autodiscovery.js.map +1 -1
- package/lib/base64.d.ts +3 -6
- package/lib/base64.d.ts.map +1 -1
- package/lib/base64.js +43 -36
- package/lib/base64.js.map +1 -1
- package/lib/browser-index.d.ts.map +1 -1
- package/lib/browser-index.js +0 -11
- package/lib/browser-index.js.map +1 -1
- package/lib/client.d.ts +45 -1306
- package/lib/client.d.ts.map +1 -1
- package/lib/client.js +406 -2963
- package/lib/client.js.map +1 -1
- package/lib/digest.d.ts +2 -2
- package/lib/digest.d.ts.map +1 -1
- package/lib/digest.js +2 -2
- package/lib/digest.js.map +1 -1
- package/lib/embedded.d.ts +2 -23
- package/lib/embedded.d.ts.map +1 -1
- package/lib/embedded.js +82 -209
- package/lib/embedded.js.map +1 -1
- package/lib/event-mapper.d.ts.map +1 -1
- package/lib/event-mapper.js +0 -4
- package/lib/event-mapper.js.map +1 -1
- package/lib/feature.d.ts.map +1 -1
- package/lib/feature.js +2 -1
- package/lib/feature.js.map +1 -1
- package/lib/http-api/errors.d.ts +3 -3
- package/lib/http-api/errors.js +3 -3
- package/lib/http-api/errors.js.map +1 -1
- package/lib/http-api/utils.js +2 -2
- package/lib/http-api/utils.js.map +1 -1
- package/lib/matrix.d.ts +0 -25
- package/lib/matrix.d.ts.map +1 -1
- package/lib/matrix.js +1 -30
- package/lib/matrix.js.map +1 -1
- package/lib/models/MSC3089Branch.d.ts.map +1 -1
- package/lib/models/MSC3089Branch.js +0 -3
- package/lib/models/MSC3089Branch.js.map +1 -1
- package/lib/models/event-timeline-set.d.ts +6 -10
- package/lib/models/event-timeline-set.d.ts.map +1 -1
- package/lib/models/event-timeline-set.js +28 -36
- package/lib/models/event-timeline-set.js.map +1 -1
- package/lib/models/event-timeline.d.ts +7 -2
- package/lib/models/event-timeline.d.ts.map +1 -1
- package/lib/models/event-timeline.js +9 -30
- package/lib/models/event-timeline.js.map +1 -1
- package/lib/models/event.d.ts +12 -96
- package/lib/models/event.d.ts.map +1 -1
- package/lib/models/event.js +59 -286
- package/lib/models/event.js.map +1 -1
- package/lib/models/invites-ignorer-types.d.ts +27 -0
- package/lib/models/invites-ignorer-types.d.ts.map +1 -0
- package/lib/models/invites-ignorer-types.js +36 -0
- package/lib/models/invites-ignorer-types.js.map +1 -0
- package/lib/models/invites-ignorer.d.ts +2 -26
- package/lib/models/invites-ignorer.d.ts.map +1 -1
- package/lib/models/invites-ignorer.js +2 -27
- package/lib/models/invites-ignorer.js.map +1 -1
- package/lib/models/poll.d.ts.map +1 -1
- package/lib/models/poll.js +1 -5
- package/lib/models/poll.js.map +1 -1
- package/lib/models/relations-container.d.ts.map +1 -1
- package/lib/models/relations-container.js +1 -7
- package/lib/models/relations-container.js.map +1 -1
- package/lib/models/relations.d.ts +0 -1
- package/lib/models/relations.d.ts.map +1 -1
- package/lib/models/relations.js +0 -8
- package/lib/models/relations.js.map +1 -1
- package/lib/models/room-member.d.ts +6 -1
- package/lib/models/room-member.d.ts.map +1 -1
- package/lib/models/room-member.js +7 -1
- package/lib/models/room-member.js.map +1 -1
- package/lib/models/room-state.d.ts +2 -13
- package/lib/models/room-state.d.ts.map +1 -1
- package/lib/models/room-state.js +12 -56
- package/lib/models/room-state.js.map +1 -1
- package/lib/models/room.d.ts +8 -21
- package/lib/models/room.d.ts.map +1 -1
- package/lib/models/room.js +128 -163
- package/lib/models/room.js.map +1 -1
- package/lib/models/thread.d.ts.map +1 -1
- package/lib/models/thread.js +5 -4
- package/lib/models/thread.js.map +1 -1
- package/lib/oidc/authorize.d.ts +2 -2
- package/lib/oidc/authorize.d.ts.map +1 -1
- package/lib/oidc/authorize.js +5 -5
- package/lib/oidc/authorize.js.map +1 -1
- package/lib/oidc/discovery.d.ts +8 -0
- package/lib/oidc/discovery.d.ts.map +1 -1
- package/lib/oidc/discovery.js +22 -11
- package/lib/oidc/discovery.js.map +1 -1
- package/lib/oidc/index.d.ts +3 -4
- package/lib/oidc/index.d.ts.map +1 -1
- package/lib/oidc/index.js.map +1 -1
- package/lib/oidc/register.js +3 -3
- package/lib/oidc/register.js.map +1 -1
- package/lib/oidc/tokenRefresher.d.ts.map +1 -1
- package/lib/oidc/tokenRefresher.js +6 -5
- package/lib/oidc/tokenRefresher.js.map +1 -1
- package/lib/oidc/validate.d.ts +9 -23
- package/lib/oidc/validate.d.ts.map +1 -1
- package/lib/oidc/validate.js +13 -28
- package/lib/oidc/validate.js.map +1 -1
- package/lib/randomstring.d.ts +30 -3
- package/lib/randomstring.d.ts.map +1 -1
- package/lib/randomstring.js +68 -16
- package/lib/randomstring.js.map +1 -1
- package/lib/sliding-sync-sdk.d.ts +3 -4
- package/lib/sliding-sync-sdk.d.ts.map +1 -1
- package/lib/sliding-sync-sdk.js +55 -102
- package/lib/sliding-sync-sdk.js.map +1 -1
- package/lib/sliding-sync.js +9 -6
- package/lib/sliding-sync.js.map +1 -1
- package/lib/store/indexeddb-local-backend.js +4 -2
- package/lib/store/indexeddb-local-backend.js.map +1 -1
- package/lib/store/indexeddb.d.ts +1 -1
- package/lib/store/indexeddb.d.ts.map +1 -1
- package/lib/store/indexeddb.js.map +1 -1
- package/lib/sync-accumulator.d.ts +6 -4
- package/lib/sync-accumulator.d.ts.map +1 -1
- package/lib/sync-accumulator.js +23 -12
- package/lib/sync-accumulator.js.map +1 -1
- package/lib/sync.d.ts +10 -13
- package/lib/sync.d.ts.map +1 -1
- package/lib/sync.js +94 -115
- package/lib/sync.js.map +1 -1
- package/lib/testing.d.ts +13 -44
- package/lib/testing.d.ts.map +1 -1
- package/lib/testing.js +36 -99
- package/lib/testing.js.map +1 -1
- package/lib/types.d.ts +0 -1
- package/lib/types.d.ts.map +1 -1
- package/lib/types.js.map +1 -1
- package/package.json +14 -15
- package/src/@types/event.ts +19 -36
- package/src/@types/global.d.ts +21 -4
- package/src/autodiscovery.ts +1 -1
- package/src/base64.ts +38 -40
- package/src/browser-index.ts +0 -11
- package/src/client.ts +175 -3136
- package/src/digest.ts +3 -3
- package/src/embedded.ts +43 -149
- package/src/event-mapper.ts +0 -4
- package/src/feature.ts +1 -0
- package/src/http-api/errors.ts +3 -3
- package/src/http-api/utils.ts +2 -2
- package/src/matrix.ts +0 -41
- package/src/models/MSC3089Branch.ts +0 -3
- package/src/models/event-timeline-set.ts +17 -38
- package/src/models/event-timeline.ts +11 -26
- package/src/models/event.ts +54 -295
- package/src/models/invites-ignorer-types.ts +48 -0
- package/src/models/invites-ignorer.ts +7 -42
- package/src/models/poll.ts +0 -6
- package/src/models/relations-container.ts +1 -8
- package/src/models/relations.ts +0 -8
- package/src/models/room-member.ts +16 -1
- package/src/models/room-state.ts +4 -37
- package/src/models/room.ts +34 -69
- package/src/models/thread.ts +4 -3
- package/src/oidc/authorize.ts +7 -7
- package/src/oidc/discovery.ts +16 -10
- package/src/oidc/index.ts +3 -4
- package/src/oidc/register.ts +3 -3
- package/src/oidc/tokenRefresher.ts +3 -2
- package/src/oidc/validate.ts +40 -63
- package/src/randomstring.ts +65 -19
- package/src/sliding-sync-sdk.ts +10 -83
- package/src/sliding-sync.ts +6 -6
- package/src/store/indexeddb-local-backend.ts +2 -2
- package/src/store/indexeddb.ts +1 -1
- package/src/sync-accumulator.ts +33 -16
- package/src/sync.ts +112 -143
- package/src/testing.ts +36 -103
- package/src/types.ts +0 -1
- package/CHANGELOG.md +0 -5910
- package/lib/@types/AESEncryptedSecretStoragePayload.d.ts +0 -14
- package/lib/@types/AESEncryptedSecretStoragePayload.d.ts.map +0 -1
- package/lib/@types/AESEncryptedSecretStoragePayload.js +0 -1
- package/lib/@types/AESEncryptedSecretStoragePayload.js.map +0 -1
- package/lib/@types/crypto.d.ts +0 -47
- package/lib/@types/crypto.d.ts.map +0 -1
- package/lib/@types/crypto.js +0 -1
- package/lib/@types/crypto.js.map +0 -1
- package/lib/@types/matrix-sdk-crypto-wasm.d.js +0 -1
- package/lib/@types/matrix-sdk-crypto-wasm.d.js.map +0 -1
- package/lib/common-crypto/CryptoBackend.d.ts +0 -240
- package/lib/common-crypto/CryptoBackend.d.ts.map +0 -1
- package/lib/common-crypto/CryptoBackend.js +0 -73
- package/lib/common-crypto/CryptoBackend.js.map +0 -1
- package/lib/common-crypto/key-passphrase.d.ts +0 -14
- package/lib/common-crypto/key-passphrase.d.ts.map +0 -1
- package/lib/common-crypto/key-passphrase.js +0 -33
- package/lib/common-crypto/key-passphrase.js.map +0 -1
- package/lib/crypto/CrossSigning.d.ts +0 -184
- package/lib/crypto/CrossSigning.d.ts.map +0 -1
- package/lib/crypto/CrossSigning.js +0 -718
- package/lib/crypto/CrossSigning.js.map +0 -1
- package/lib/crypto/DeviceList.d.ts +0 -216
- package/lib/crypto/DeviceList.d.ts.map +0 -1
- package/lib/crypto/DeviceList.js +0 -892
- package/lib/crypto/DeviceList.js.map +0 -1
- package/lib/crypto/EncryptionSetup.d.ts +0 -152
- package/lib/crypto/EncryptionSetup.d.ts.map +0 -1
- package/lib/crypto/EncryptionSetup.js +0 -356
- package/lib/crypto/EncryptionSetup.js.map +0 -1
- package/lib/crypto/OlmDevice.d.ts +0 -457
- package/lib/crypto/OlmDevice.d.ts.map +0 -1
- package/lib/crypto/OlmDevice.js +0 -1241
- package/lib/crypto/OlmDevice.js.map +0 -1
- package/lib/crypto/OutgoingRoomKeyRequestManager.d.ts +0 -109
- package/lib/crypto/OutgoingRoomKeyRequestManager.d.ts.map +0 -1
- package/lib/crypto/OutgoingRoomKeyRequestManager.js +0 -415
- package/lib/crypto/OutgoingRoomKeyRequestManager.js.map +0 -1
- package/lib/crypto/RoomList.d.ts +0 -26
- package/lib/crypto/RoomList.d.ts.map +0 -1
- package/lib/crypto/RoomList.js +0 -71
- package/lib/crypto/RoomList.js.map +0 -1
- package/lib/crypto/SecretSharing.d.ts +0 -24
- package/lib/crypto/SecretSharing.d.ts.map +0 -1
- package/lib/crypto/SecretSharing.js +0 -194
- package/lib/crypto/SecretSharing.js.map +0 -1
- package/lib/crypto/SecretStorage.d.ts +0 -55
- package/lib/crypto/SecretStorage.d.ts.map +0 -1
- package/lib/crypto/SecretStorage.js +0 -118
- package/lib/crypto/SecretStorage.js.map +0 -1
- package/lib/crypto/aes.d.ts +0 -6
- package/lib/crypto/aes.d.ts.map +0 -1
- package/lib/crypto/aes.js +0 -24
- package/lib/crypto/aes.js.map +0 -1
- package/lib/crypto/algorithms/base.d.ts +0 -156
- package/lib/crypto/algorithms/base.d.ts.map +0 -1
- package/lib/crypto/algorithms/base.js +0 -187
- package/lib/crypto/algorithms/base.js.map +0 -1
- package/lib/crypto/algorithms/index.d.ts +0 -4
- package/lib/crypto/algorithms/index.d.ts.map +0 -1
- package/lib/crypto/algorithms/index.js +0 -20
- package/lib/crypto/algorithms/index.js.map +0 -1
- package/lib/crypto/algorithms/megolm.d.ts +0 -385
- package/lib/crypto/algorithms/megolm.d.ts.map +0 -1
- package/lib/crypto/algorithms/megolm.js +0 -1822
- package/lib/crypto/algorithms/megolm.js.map +0 -1
- package/lib/crypto/algorithms/olm.d.ts +0 -5
- package/lib/crypto/algorithms/olm.d.ts.map +0 -1
- package/lib/crypto/algorithms/olm.js +0 -299
- package/lib/crypto/algorithms/olm.js.map +0 -1
- package/lib/crypto/api.d.ts +0 -32
- package/lib/crypto/api.d.ts.map +0 -1
- package/lib/crypto/api.js +0 -22
- package/lib/crypto/api.js.map +0 -1
- package/lib/crypto/backup.d.ts +0 -227
- package/lib/crypto/backup.d.ts.map +0 -1
- package/lib/crypto/backup.js +0 -824
- package/lib/crypto/backup.js.map +0 -1
- package/lib/crypto/crypto.d.ts +0 -3
- package/lib/crypto/crypto.d.ts.map +0 -1
- package/lib/crypto/crypto.js +0 -19
- package/lib/crypto/crypto.js.map +0 -1
- package/lib/crypto/dehydration.d.ts +0 -34
- package/lib/crypto/dehydration.d.ts.map +0 -1
- package/lib/crypto/dehydration.js +0 -252
- package/lib/crypto/dehydration.js.map +0 -1
- package/lib/crypto/device-converter.d.ts +0 -9
- package/lib/crypto/device-converter.d.ts.map +0 -1
- package/lib/crypto/device-converter.js +0 -42
- package/lib/crypto/device-converter.js.map +0 -1
- package/lib/crypto/deviceinfo.d.ts +0 -99
- package/lib/crypto/deviceinfo.d.ts.map +0 -1
- package/lib/crypto/deviceinfo.js +0 -148
- package/lib/crypto/deviceinfo.js.map +0 -1
- package/lib/crypto/index.d.ts +0 -1210
- package/lib/crypto/index.d.ts.map +0 -1
- package/lib/crypto/index.js +0 -4101
- package/lib/crypto/index.js.map +0 -1
- package/lib/crypto/key_passphrase.d.ts +0 -14
- package/lib/crypto/key_passphrase.d.ts.map +0 -1
- package/lib/crypto/key_passphrase.js +0 -44
- package/lib/crypto/key_passphrase.js.map +0 -1
- package/lib/crypto/keybackup.d.ts +0 -18
- package/lib/crypto/keybackup.d.ts.map +0 -1
- package/lib/crypto/keybackup.js +0 -1
- package/lib/crypto/keybackup.js.map +0 -1
- package/lib/crypto/olmlib.d.ts +0 -129
- package/lib/crypto/olmlib.d.ts.map +0 -1
- package/lib/crypto/olmlib.js +0 -492
- package/lib/crypto/olmlib.js.map +0 -1
- package/lib/crypto/recoverykey.d.ts +0 -2
- package/lib/crypto/recoverykey.d.ts.map +0 -1
- package/lib/crypto/recoverykey.js +0 -19
- package/lib/crypto/recoverykey.js.map +0 -1
- package/lib/crypto/store/base.d.ts +0 -252
- package/lib/crypto/store/base.d.ts.map +0 -1
- package/lib/crypto/store/base.js +0 -64
- package/lib/crypto/store/base.js.map +0 -1
- package/lib/crypto/store/indexeddb-crypto-store-backend.d.ts +0 -187
- package/lib/crypto/store/indexeddb-crypto-store-backend.d.ts.map +0 -1
- package/lib/crypto/store/indexeddb-crypto-store-backend.js +0 -1145
- package/lib/crypto/store/indexeddb-crypto-store-backend.js.map +0 -1
- package/lib/crypto/store/indexeddb-crypto-store.d.ts +0 -432
- package/lib/crypto/store/indexeddb-crypto-store.d.ts.map +0 -1
- package/lib/crypto/store/indexeddb-crypto-store.js +0 -728
- package/lib/crypto/store/indexeddb-crypto-store.js.map +0 -1
- package/lib/crypto/store/localStorage-crypto-store.d.ts +0 -119
- package/lib/crypto/store/localStorage-crypto-store.d.ts.map +0 -1
- package/lib/crypto/store/localStorage-crypto-store.js +0 -531
- package/lib/crypto/store/localStorage-crypto-store.js.map +0 -1
- package/lib/crypto/store/memory-crypto-store.d.ts +0 -215
- package/lib/crypto/store/memory-crypto-store.d.ts.map +0 -1
- package/lib/crypto/store/memory-crypto-store.js +0 -622
- package/lib/crypto/store/memory-crypto-store.js.map +0 -1
- package/lib/crypto/verification/Base.d.ts +0 -105
- package/lib/crypto/verification/Base.d.ts.map +0 -1
- package/lib/crypto/verification/Base.js +0 -372
- package/lib/crypto/verification/Base.js.map +0 -1
- package/lib/crypto/verification/Error.d.ts +0 -35
- package/lib/crypto/verification/Error.d.ts.map +0 -1
- package/lib/crypto/verification/Error.js +0 -86
- package/lib/crypto/verification/Error.js.map +0 -1
- package/lib/crypto/verification/IllegalMethod.d.ts +0 -15
- package/lib/crypto/verification/IllegalMethod.d.ts.map +0 -1
- package/lib/crypto/verification/IllegalMethod.js +0 -43
- package/lib/crypto/verification/IllegalMethod.js.map +0 -1
- package/lib/crypto/verification/QRCode.d.ts +0 -51
- package/lib/crypto/verification/QRCode.d.ts.map +0 -1
- package/lib/crypto/verification/QRCode.js +0 -277
- package/lib/crypto/verification/QRCode.js.map +0 -1
- package/lib/crypto/verification/SAS.d.ts +0 -27
- package/lib/crypto/verification/SAS.d.ts.map +0 -1
- package/lib/crypto/verification/SAS.js +0 -485
- package/lib/crypto/verification/SAS.js.map +0 -1
- package/lib/crypto/verification/SASDecimal.d.ts +0 -8
- package/lib/crypto/verification/SASDecimal.d.ts.map +0 -1
- package/lib/crypto/verification/SASDecimal.js +0 -34
- package/lib/crypto/verification/SASDecimal.js.map +0 -1
- package/lib/crypto/verification/request/Channel.d.ts +0 -18
- package/lib/crypto/verification/request/Channel.d.ts.map +0 -1
- package/lib/crypto/verification/request/Channel.js +0 -1
- package/lib/crypto/verification/request/Channel.js.map +0 -1
- package/lib/crypto/verification/request/InRoomChannel.d.ts +0 -113
- package/lib/crypto/verification/request/InRoomChannel.d.ts.map +0 -1
- package/lib/crypto/verification/request/InRoomChannel.js +0 -351
- package/lib/crypto/verification/request/InRoomChannel.js.map +0 -1
- package/lib/crypto/verification/request/ToDeviceChannel.d.ts +0 -105
- package/lib/crypto/verification/request/ToDeviceChannel.d.ts.map +0 -1
- package/lib/crypto/verification/request/ToDeviceChannel.js +0 -328
- package/lib/crypto/verification/request/ToDeviceChannel.js.map +0 -1
- package/lib/crypto/verification/request/VerificationRequest.d.ts +0 -227
- package/lib/crypto/verification/request/VerificationRequest.d.ts.map +0 -1
- package/lib/crypto/verification/request/VerificationRequest.js +0 -937
- package/lib/crypto/verification/request/VerificationRequest.js.map +0 -1
- package/lib/crypto-api/CryptoEvent.d.ts +0 -69
- package/lib/crypto-api/CryptoEvent.d.ts.map +0 -1
- package/lib/crypto-api/CryptoEvent.js +0 -33
- package/lib/crypto-api/CryptoEvent.js.map +0 -1
- package/lib/crypto-api/CryptoEventHandlerMap.d.ts +0 -16
- package/lib/crypto-api/CryptoEventHandlerMap.d.ts.map +0 -1
- package/lib/crypto-api/CryptoEventHandlerMap.js +0 -22
- package/lib/crypto-api/CryptoEventHandlerMap.js.map +0 -1
- package/lib/crypto-api/index.d.ts +0 -978
- package/lib/crypto-api/index.d.ts.map +0 -1
- package/lib/crypto-api/index.js +0 -304
- package/lib/crypto-api/index.js.map +0 -1
- package/lib/crypto-api/key-passphrase.d.ts +0 -11
- package/lib/crypto-api/key-passphrase.d.ts.map +0 -1
- package/lib/crypto-api/key-passphrase.js +0 -51
- package/lib/crypto-api/key-passphrase.js.map +0 -1
- package/lib/crypto-api/keybackup.d.ts +0 -88
- package/lib/crypto-api/keybackup.d.ts.map +0 -1
- package/lib/crypto-api/keybackup.js +0 -1
- package/lib/crypto-api/keybackup.js.map +0 -1
- package/lib/crypto-api/recovery-key.d.ts +0 -11
- package/lib/crypto-api/recovery-key.d.ts.map +0 -1
- package/lib/crypto-api/recovery-key.js +0 -65
- package/lib/crypto-api/recovery-key.js.map +0 -1
- package/lib/crypto-api/verification.d.ts +0 -344
- package/lib/crypto-api/verification.d.ts.map +0 -1
- package/lib/crypto-api/verification.js +0 -91
- package/lib/crypto-api/verification.js.map +0 -1
- package/lib/matrixrtc/CallMembership.d.ts +0 -66
- package/lib/matrixrtc/CallMembership.d.ts.map +0 -1
- package/lib/matrixrtc/CallMembership.js +0 -197
- package/lib/matrixrtc/CallMembership.js.map +0 -1
- package/lib/matrixrtc/LivekitFocus.d.ts +0 -16
- package/lib/matrixrtc/LivekitFocus.d.ts.map +0 -1
- package/lib/matrixrtc/LivekitFocus.js +0 -20
- package/lib/matrixrtc/LivekitFocus.js.map +0 -1
- package/lib/matrixrtc/MatrixRTCSession.d.ts +0 -295
- package/lib/matrixrtc/MatrixRTCSession.d.ts.map +0 -1
- package/lib/matrixrtc/MatrixRTCSession.js +0 -1043
- package/lib/matrixrtc/MatrixRTCSession.js.map +0 -1
- package/lib/matrixrtc/MatrixRTCSessionManager.d.ts +0 -40
- package/lib/matrixrtc/MatrixRTCSessionManager.d.ts.map +0 -1
- package/lib/matrixrtc/MatrixRTCSessionManager.js +0 -146
- package/lib/matrixrtc/MatrixRTCSessionManager.js.map +0 -1
- package/lib/matrixrtc/focus.d.ts +0 -10
- package/lib/matrixrtc/focus.d.ts.map +0 -1
- package/lib/matrixrtc/focus.js +0 -1
- package/lib/matrixrtc/focus.js.map +0 -1
- package/lib/matrixrtc/index.d.ts +0 -7
- package/lib/matrixrtc/index.d.ts.map +0 -1
- package/lib/matrixrtc/index.js +0 -21
- package/lib/matrixrtc/index.js.map +0 -1
- package/lib/matrixrtc/types.d.ts +0 -19
- package/lib/matrixrtc/types.d.ts.map +0 -1
- package/lib/matrixrtc/types.js +0 -1
- package/lib/matrixrtc/types.js.map +0 -1
- package/lib/rendezvous/MSC4108SignInWithQR.d.ts +0 -112
- package/lib/rendezvous/MSC4108SignInWithQR.d.ts.map +0 -1
- package/lib/rendezvous/MSC4108SignInWithQR.js +0 -392
- package/lib/rendezvous/MSC4108SignInWithQR.js.map +0 -1
- package/lib/rendezvous/RendezvousChannel.d.ts +0 -27
- package/lib/rendezvous/RendezvousChannel.d.ts.map +0 -1
- package/lib/rendezvous/RendezvousChannel.js +0 -1
- package/lib/rendezvous/RendezvousChannel.js.map +0 -1
- package/lib/rendezvous/RendezvousCode.d.ts +0 -9
- package/lib/rendezvous/RendezvousCode.d.ts.map +0 -1
- package/lib/rendezvous/RendezvousCode.js +0 -1
- package/lib/rendezvous/RendezvousCode.js.map +0 -1
- package/lib/rendezvous/RendezvousError.d.ts +0 -6
- package/lib/rendezvous/RendezvousError.d.ts.map +0 -1
- package/lib/rendezvous/RendezvousError.js +0 -23
- package/lib/rendezvous/RendezvousError.js.map +0 -1
- package/lib/rendezvous/RendezvousFailureReason.d.ts +0 -31
- package/lib/rendezvous/RendezvousFailureReason.d.ts.map +0 -1
- package/lib/rendezvous/RendezvousFailureReason.js +0 -38
- package/lib/rendezvous/RendezvousFailureReason.js.map +0 -1
- package/lib/rendezvous/RendezvousIntent.d.ts +0 -5
- package/lib/rendezvous/RendezvousIntent.d.ts.map +0 -1
- package/lib/rendezvous/RendezvousIntent.js +0 -22
- package/lib/rendezvous/RendezvousIntent.js.map +0 -1
- package/lib/rendezvous/RendezvousTransport.d.ts +0 -36
- package/lib/rendezvous/RendezvousTransport.d.ts.map +0 -1
- package/lib/rendezvous/RendezvousTransport.js +0 -1
- package/lib/rendezvous/RendezvousTransport.js.map +0 -1
- package/lib/rendezvous/channels/MSC4108SecureChannel.d.ts +0 -58
- package/lib/rendezvous/channels/MSC4108SecureChannel.d.ts.map +0 -1
- package/lib/rendezvous/channels/MSC4108SecureChannel.js +0 -246
- package/lib/rendezvous/channels/MSC4108SecureChannel.js.map +0 -1
- package/lib/rendezvous/channels/index.d.ts +0 -2
- package/lib/rendezvous/channels/index.d.ts.map +0 -1
- package/lib/rendezvous/channels/index.js +0 -18
- package/lib/rendezvous/channels/index.js.map +0 -1
- package/lib/rendezvous/index.d.ts +0 -10
- package/lib/rendezvous/index.d.ts.map +0 -1
- package/lib/rendezvous/index.js +0 -23
- package/lib/rendezvous/index.js.map +0 -1
- package/lib/rendezvous/transports/MSC4108RendezvousSession.d.ts +0 -61
- package/lib/rendezvous/transports/MSC4108RendezvousSession.d.ts.map +0 -1
- package/lib/rendezvous/transports/MSC4108RendezvousSession.js +0 -253
- package/lib/rendezvous/transports/MSC4108RendezvousSession.js.map +0 -1
- package/lib/rendezvous/transports/index.d.ts +0 -2
- package/lib/rendezvous/transports/index.d.ts.map +0 -1
- package/lib/rendezvous/transports/index.js +0 -18
- package/lib/rendezvous/transports/index.js.map +0 -1
- package/lib/rust-crypto/CrossSigningIdentity.d.ts +0 -33
- package/lib/rust-crypto/CrossSigningIdentity.d.ts.map +0 -1
- package/lib/rust-crypto/CrossSigningIdentity.js +0 -157
- package/lib/rust-crypto/CrossSigningIdentity.js.map +0 -1
- package/lib/rust-crypto/DehydratedDeviceManager.d.ts +0 -98
- package/lib/rust-crypto/DehydratedDeviceManager.d.ts.map +0 -1
- package/lib/rust-crypto/DehydratedDeviceManager.js +0 -285
- package/lib/rust-crypto/DehydratedDeviceManager.js.map +0 -1
- package/lib/rust-crypto/KeyClaimManager.d.ts +0 -33
- package/lib/rust-crypto/KeyClaimManager.d.ts.map +0 -1
- package/lib/rust-crypto/KeyClaimManager.js +0 -82
- package/lib/rust-crypto/KeyClaimManager.js.map +0 -1
- package/lib/rust-crypto/OutgoingRequestProcessor.d.ts +0 -43
- package/lib/rust-crypto/OutgoingRequestProcessor.d.ts.map +0 -1
- package/lib/rust-crypto/OutgoingRequestProcessor.js +0 -195
- package/lib/rust-crypto/OutgoingRequestProcessor.js.map +0 -1
- package/lib/rust-crypto/OutgoingRequestsManager.d.ts +0 -47
- package/lib/rust-crypto/OutgoingRequestsManager.d.ts.map +0 -1
- package/lib/rust-crypto/OutgoingRequestsManager.js +0 -148
- package/lib/rust-crypto/OutgoingRequestsManager.js.map +0 -1
- package/lib/rust-crypto/PerSessionKeyBackupDownloader.d.ts +0 -120
- package/lib/rust-crypto/PerSessionKeyBackupDownloader.d.ts.map +0 -1
- package/lib/rust-crypto/PerSessionKeyBackupDownloader.js +0 -467
- package/lib/rust-crypto/PerSessionKeyBackupDownloader.js.map +0 -1
- package/lib/rust-crypto/RoomEncryptor.d.ts +0 -98
- package/lib/rust-crypto/RoomEncryptor.d.ts.map +0 -1
- package/lib/rust-crypto/RoomEncryptor.js +0 -299
- package/lib/rust-crypto/RoomEncryptor.js.map +0 -1
- package/lib/rust-crypto/backup.d.ts +0 -254
- package/lib/rust-crypto/backup.d.ts.map +0 -1
- package/lib/rust-crypto/backup.js +0 -837
- package/lib/rust-crypto/backup.js.map +0 -1
- package/lib/rust-crypto/constants.d.ts +0 -3
- package/lib/rust-crypto/constants.d.ts.map +0 -1
- package/lib/rust-crypto/constants.js +0 -19
- package/lib/rust-crypto/constants.js.map +0 -1
- package/lib/rust-crypto/device-converter.d.ts +0 -28
- package/lib/rust-crypto/device-converter.d.ts.map +0 -1
- package/lib/rust-crypto/device-converter.js +0 -123
- package/lib/rust-crypto/device-converter.js.map +0 -1
- package/lib/rust-crypto/index.d.ts +0 -61
- package/lib/rust-crypto/index.d.ts.map +0 -1
- package/lib/rust-crypto/index.js +0 -152
- package/lib/rust-crypto/index.js.map +0 -1
- package/lib/rust-crypto/libolm_migration.d.ts +0 -81
- package/lib/rust-crypto/libolm_migration.d.ts.map +0 -1
- package/lib/rust-crypto/libolm_migration.js +0 -459
- package/lib/rust-crypto/libolm_migration.js.map +0 -1
- package/lib/rust-crypto/rust-crypto.d.ts +0 -556
- package/lib/rust-crypto/rust-crypto.d.ts.map +0 -1
- package/lib/rust-crypto/rust-crypto.js +0 -2016
- package/lib/rust-crypto/rust-crypto.js.map +0 -1
- package/lib/rust-crypto/secret-storage.d.ts +0 -22
- package/lib/rust-crypto/secret-storage.d.ts.map +0 -1
- package/lib/rust-crypto/secret-storage.js +0 -63
- package/lib/rust-crypto/secret-storage.js.map +0 -1
- package/lib/rust-crypto/verification.d.ts +0 -319
- package/lib/rust-crypto/verification.d.ts.map +0 -1
- package/lib/rust-crypto/verification.js +0 -816
- package/lib/rust-crypto/verification.js.map +0 -1
- package/lib/secret-storage.d.ts +0 -370
- package/lib/secret-storage.d.ts.map +0 -1
- package/lib/secret-storage.js +0 -466
- package/lib/secret-storage.js.map +0 -1
- package/lib/utils/decryptAESSecretStorageItem.d.ts +0 -12
- package/lib/utils/decryptAESSecretStorageItem.d.ts.map +0 -1
- package/lib/utils/decryptAESSecretStorageItem.js +0 -50
- package/lib/utils/decryptAESSecretStorageItem.js.map +0 -1
- package/lib/utils/encryptAESSecretStorageItem.d.ts +0 -16
- package/lib/utils/encryptAESSecretStorageItem.d.ts.map +0 -1
- package/lib/utils/encryptAESSecretStorageItem.js +0 -68
- package/lib/utils/encryptAESSecretStorageItem.js.map +0 -1
- package/lib/utils/internal/deriveKeys.d.ts +0 -10
- package/lib/utils/internal/deriveKeys.d.ts.map +0 -1
- package/lib/utils/internal/deriveKeys.js +0 -60
- package/lib/utils/internal/deriveKeys.js.map +0 -1
- package/lib/webrtc/audioContext.d.ts +0 -15
- package/lib/webrtc/audioContext.d.ts.map +0 -1
- package/lib/webrtc/audioContext.js +0 -46
- package/lib/webrtc/audioContext.js.map +0 -1
- package/lib/webrtc/call.d.ts +0 -560
- package/lib/webrtc/call.d.ts.map +0 -1
- package/lib/webrtc/call.js +0 -2541
- package/lib/webrtc/call.js.map +0 -1
- package/lib/webrtc/callEventHandler.d.ts +0 -37
- package/lib/webrtc/callEventHandler.d.ts.map +0 -1
- package/lib/webrtc/callEventHandler.js +0 -344
- package/lib/webrtc/callEventHandler.js.map +0 -1
- package/lib/webrtc/callEventTypes.d.ts +0 -73
- package/lib/webrtc/callEventTypes.d.ts.map +0 -1
- package/lib/webrtc/callEventTypes.js +0 -13
- package/lib/webrtc/callEventTypes.js.map +0 -1
- package/lib/webrtc/callFeed.d.ts +0 -128
- package/lib/webrtc/callFeed.d.ts.map +0 -1
- package/lib/webrtc/callFeed.js +0 -289
- package/lib/webrtc/callFeed.js.map +0 -1
- package/lib/webrtc/groupCall.d.ts +0 -323
- package/lib/webrtc/groupCall.d.ts.map +0 -1
- package/lib/webrtc/groupCall.js +0 -1337
- package/lib/webrtc/groupCall.js.map +0 -1
- package/lib/webrtc/groupCallEventHandler.d.ts +0 -31
- package/lib/webrtc/groupCallEventHandler.d.ts.map +0 -1
- package/lib/webrtc/groupCallEventHandler.js +0 -178
- package/lib/webrtc/groupCallEventHandler.js.map +0 -1
- package/lib/webrtc/mediaHandler.d.ts +0 -89
- package/lib/webrtc/mediaHandler.d.ts.map +0 -1
- package/lib/webrtc/mediaHandler.js +0 -437
- package/lib/webrtc/mediaHandler.js.map +0 -1
- package/lib/webrtc/stats/callFeedStatsReporter.d.ts +0 -8
- package/lib/webrtc/stats/callFeedStatsReporter.d.ts.map +0 -1
- package/lib/webrtc/stats/callFeedStatsReporter.js +0 -82
- package/lib/webrtc/stats/callFeedStatsReporter.js.map +0 -1
- package/lib/webrtc/stats/callStatsReportGatherer.d.ts +0 -25
- package/lib/webrtc/stats/callStatsReportGatherer.d.ts.map +0 -1
- package/lib/webrtc/stats/callStatsReportGatherer.js +0 -199
- package/lib/webrtc/stats/callStatsReportGatherer.js.map +0 -1
- package/lib/webrtc/stats/callStatsReportSummary.d.ts +0 -17
- package/lib/webrtc/stats/callStatsReportSummary.d.ts.map +0 -1
- package/lib/webrtc/stats/callStatsReportSummary.js +0 -1
- package/lib/webrtc/stats/callStatsReportSummary.js.map +0 -1
- package/lib/webrtc/stats/connectionStats.d.ts +0 -28
- package/lib/webrtc/stats/connectionStats.d.ts.map +0 -1
- package/lib/webrtc/stats/connectionStats.js +0 -26
- package/lib/webrtc/stats/connectionStats.js.map +0 -1
- package/lib/webrtc/stats/connectionStatsBuilder.d.ts +0 -5
- package/lib/webrtc/stats/connectionStatsBuilder.d.ts.map +0 -1
- package/lib/webrtc/stats/connectionStatsBuilder.js +0 -27
- package/lib/webrtc/stats/connectionStatsBuilder.js.map +0 -1
- package/lib/webrtc/stats/connectionStatsReportBuilder.d.ts +0 -7
- package/lib/webrtc/stats/connectionStatsReportBuilder.d.ts.map +0 -1
- package/lib/webrtc/stats/connectionStatsReportBuilder.js +0 -121
- package/lib/webrtc/stats/connectionStatsReportBuilder.js.map +0 -1
- package/lib/webrtc/stats/groupCallStats.d.ts +0 -22
- package/lib/webrtc/stats/groupCallStats.d.ts.map +0 -1
- package/lib/webrtc/stats/groupCallStats.js +0 -78
- package/lib/webrtc/stats/groupCallStats.js.map +0 -1
- package/lib/webrtc/stats/media/mediaSsrcHandler.d.ts +0 -10
- package/lib/webrtc/stats/media/mediaSsrcHandler.d.ts.map +0 -1
- package/lib/webrtc/stats/media/mediaSsrcHandler.js +0 -57
- package/lib/webrtc/stats/media/mediaSsrcHandler.js.map +0 -1
- package/lib/webrtc/stats/media/mediaTrackHandler.d.ts +0 -12
- package/lib/webrtc/stats/media/mediaTrackHandler.d.ts.map +0 -1
- package/lib/webrtc/stats/media/mediaTrackHandler.js +0 -62
- package/lib/webrtc/stats/media/mediaTrackHandler.js.map +0 -1
- package/lib/webrtc/stats/media/mediaTrackStats.d.ts +0 -86
- package/lib/webrtc/stats/media/mediaTrackStats.d.ts.map +0 -1
- package/lib/webrtc/stats/media/mediaTrackStats.js +0 -142
- package/lib/webrtc/stats/media/mediaTrackStats.js.map +0 -1
- package/lib/webrtc/stats/media/mediaTrackStatsHandler.d.ts +0 -22
- package/lib/webrtc/stats/media/mediaTrackStatsHandler.d.ts.map +0 -1
- package/lib/webrtc/stats/media/mediaTrackStatsHandler.js +0 -76
- package/lib/webrtc/stats/media/mediaTrackStatsHandler.js.map +0 -1
- package/lib/webrtc/stats/statsReport.d.ts +0 -99
- package/lib/webrtc/stats/statsReport.d.ts.map +0 -1
- package/lib/webrtc/stats/statsReport.js +0 -32
- package/lib/webrtc/stats/statsReport.js.map +0 -1
- package/lib/webrtc/stats/statsReportEmitter.d.ts +0 -15
- package/lib/webrtc/stats/statsReportEmitter.d.ts.map +0 -1
- package/lib/webrtc/stats/statsReportEmitter.js +0 -33
- package/lib/webrtc/stats/statsReportEmitter.js.map +0 -1
- package/lib/webrtc/stats/summaryStatsReportGatherer.d.ts +0 -16
- package/lib/webrtc/stats/summaryStatsReportGatherer.d.ts.map +0 -1
- package/lib/webrtc/stats/summaryStatsReportGatherer.js +0 -116
- package/lib/webrtc/stats/summaryStatsReportGatherer.js.map +0 -1
- package/lib/webrtc/stats/trackStatsBuilder.d.ts +0 -19
- package/lib/webrtc/stats/trackStatsBuilder.d.ts.map +0 -1
- package/lib/webrtc/stats/trackStatsBuilder.js +0 -168
- package/lib/webrtc/stats/trackStatsBuilder.js.map +0 -1
- package/lib/webrtc/stats/transportStats.d.ts +0 -11
- package/lib/webrtc/stats/transportStats.d.ts.map +0 -1
- package/lib/webrtc/stats/transportStats.js +0 -1
- package/lib/webrtc/stats/transportStats.js.map +0 -1
- package/lib/webrtc/stats/transportStatsBuilder.d.ts +0 -5
- package/lib/webrtc/stats/transportStatsBuilder.d.ts.map +0 -1
- package/lib/webrtc/stats/transportStatsBuilder.js +0 -34
- package/lib/webrtc/stats/transportStatsBuilder.js.map +0 -1
- package/lib/webrtc/stats/valueFormatter.d.ts +0 -4
- package/lib/webrtc/stats/valueFormatter.d.ts.map +0 -1
- package/lib/webrtc/stats/valueFormatter.js +0 -25
- package/lib/webrtc/stats/valueFormatter.js.map +0 -1
- package/src/@types/AESEncryptedSecretStoragePayload.ts +0 -29
- package/src/@types/crypto.ts +0 -73
- package/src/@types/matrix-sdk-crypto-wasm.d.ts +0 -44
- package/src/common-crypto/CryptoBackend.ts +0 -302
- package/src/common-crypto/README.md +0 -4
- package/src/common-crypto/key-passphrase.ts +0 -43
- package/src/crypto/CrossSigning.ts +0 -773
- package/src/crypto/DeviceList.ts +0 -989
- package/src/crypto/EncryptionSetup.ts +0 -351
- package/src/crypto/OlmDevice.ts +0 -1500
- package/src/crypto/OutgoingRoomKeyRequestManager.ts +0 -485
- package/src/crypto/RoomList.ts +0 -70
- package/src/crypto/SecretSharing.ts +0 -240
- package/src/crypto/SecretStorage.ts +0 -136
- package/src/crypto/aes.ts +0 -23
- package/src/crypto/algorithms/base.ts +0 -236
- package/src/crypto/algorithms/index.ts +0 -20
- package/src/crypto/algorithms/megolm.ts +0 -2216
- package/src/crypto/algorithms/olm.ts +0 -381
- package/src/crypto/api.ts +0 -70
- package/src/crypto/backup.ts +0 -922
- package/src/crypto/crypto.ts +0 -18
- package/src/crypto/dehydration.ts +0 -272
- package/src/crypto/device-converter.ts +0 -45
- package/src/crypto/deviceinfo.ts +0 -158
- package/src/crypto/index.ts +0 -4418
- package/src/crypto/key_passphrase.ts +0 -42
- package/src/crypto/keybackup.ts +0 -47
- package/src/crypto/olmlib.ts +0 -539
- package/src/crypto/recoverykey.ts +0 -18
- package/src/crypto/store/base.ts +0 -348
- package/src/crypto/store/indexeddb-crypto-store-backend.ts +0 -1250
- package/src/crypto/store/indexeddb-crypto-store.ts +0 -845
- package/src/crypto/store/localStorage-crypto-store.ts +0 -579
- package/src/crypto/store/memory-crypto-store.ts +0 -680
- package/src/crypto/verification/Base.ts +0 -409
- package/src/crypto/verification/Error.ts +0 -76
- package/src/crypto/verification/IllegalMethod.ts +0 -50
- package/src/crypto/verification/QRCode.ts +0 -310
- package/src/crypto/verification/SAS.ts +0 -494
- package/src/crypto/verification/SASDecimal.ts +0 -37
- package/src/crypto/verification/request/Channel.ts +0 -34
- package/src/crypto/verification/request/InRoomChannel.ts +0 -371
- package/src/crypto/verification/request/ToDeviceChannel.ts +0 -354
- package/src/crypto/verification/request/VerificationRequest.ts +0 -976
- package/src/crypto-api/CryptoEvent.ts +0 -93
- package/src/crypto-api/CryptoEventHandlerMap.ts +0 -32
- package/src/crypto-api/index.ts +0 -1175
- package/src/crypto-api/key-passphrase.ts +0 -58
- package/src/crypto-api/keybackup.ts +0 -115
- package/src/crypto-api/recovery-key.ts +0 -69
- package/src/crypto-api/verification.ts +0 -408
- package/src/matrixrtc/CallMembership.ts +0 -247
- package/src/matrixrtc/LivekitFocus.ts +0 -39
- package/src/matrixrtc/MatrixRTCSession.ts +0 -1319
- package/src/matrixrtc/MatrixRTCSessionManager.ts +0 -166
- package/src/matrixrtc/focus.ts +0 -25
- package/src/matrixrtc/index.ts +0 -22
- package/src/matrixrtc/types.ts +0 -36
- package/src/rendezvous/MSC4108SignInWithQR.ts +0 -444
- package/src/rendezvous/RendezvousChannel.ts +0 -48
- package/src/rendezvous/RendezvousCode.ts +0 -25
- package/src/rendezvous/RendezvousError.ts +0 -26
- package/src/rendezvous/RendezvousFailureReason.ts +0 -49
- package/src/rendezvous/RendezvousIntent.ts +0 -20
- package/src/rendezvous/RendezvousTransport.ts +0 -58
- package/src/rendezvous/channels/MSC4108SecureChannel.ts +0 -270
- package/src/rendezvous/channels/index.ts +0 -17
- package/src/rendezvous/index.ts +0 -25
- package/src/rendezvous/transports/MSC4108RendezvousSession.ts +0 -270
- package/src/rendezvous/transports/index.ts +0 -17
- package/src/rust-crypto/CrossSigningIdentity.ts +0 -183
- package/src/rust-crypto/DehydratedDeviceManager.ts +0 -306
- package/src/rust-crypto/KeyClaimManager.ts +0 -86
- package/src/rust-crypto/OutgoingRequestProcessor.ts +0 -236
- package/src/rust-crypto/OutgoingRequestsManager.ts +0 -143
- package/src/rust-crypto/PerSessionKeyBackupDownloader.ts +0 -501
- package/src/rust-crypto/RoomEncryptor.ts +0 -352
- package/src/rust-crypto/backup.ts +0 -881
- package/src/rust-crypto/constants.ts +0 -18
- package/src/rust-crypto/device-converter.ts +0 -128
- package/src/rust-crypto/index.ts +0 -237
- package/src/rust-crypto/libolm_migration.ts +0 -530
- package/src/rust-crypto/rust-crypto.ts +0 -2205
- package/src/rust-crypto/secret-storage.ts +0 -60
- package/src/rust-crypto/verification.ts +0 -830
- package/src/secret-storage.ts +0 -693
- package/src/utils/decryptAESSecretStorageItem.ts +0 -54
- package/src/utils/encryptAESSecretStorageItem.ts +0 -73
- package/src/utils/internal/deriveKeys.ts +0 -63
- package/src/webrtc/audioContext.ts +0 -44
- package/src/webrtc/call.ts +0 -3074
- package/src/webrtc/callEventHandler.ts +0 -425
- package/src/webrtc/callEventTypes.ts +0 -93
- package/src/webrtc/callFeed.ts +0 -364
- package/src/webrtc/groupCall.ts +0 -1735
- package/src/webrtc/groupCallEventHandler.ts +0 -234
- package/src/webrtc/mediaHandler.ts +0 -484
- package/src/webrtc/stats/callFeedStatsReporter.ts +0 -94
- package/src/webrtc/stats/callStatsReportGatherer.ts +0 -219
- package/src/webrtc/stats/callStatsReportSummary.ts +0 -30
- package/src/webrtc/stats/connectionStats.ts +0 -47
- package/src/webrtc/stats/connectionStatsBuilder.ts +0 -28
- package/src/webrtc/stats/connectionStatsReportBuilder.ts +0 -140
- package/src/webrtc/stats/groupCallStats.ts +0 -93
- package/src/webrtc/stats/media/mediaSsrcHandler.ts +0 -57
- package/src/webrtc/stats/media/mediaTrackHandler.ts +0 -76
- package/src/webrtc/stats/media/mediaTrackStats.ts +0 -176
- package/src/webrtc/stats/media/mediaTrackStatsHandler.ts +0 -90
- package/src/webrtc/stats/statsReport.ts +0 -133
- package/src/webrtc/stats/statsReportEmitter.ts +0 -49
- package/src/webrtc/stats/summaryStatsReportGatherer.ts +0 -148
- package/src/webrtc/stats/trackStatsBuilder.ts +0 -207
- package/src/webrtc/stats/transportStats.ts +0 -26
- package/src/webrtc/stats/transportStatsBuilder.ts +0 -48
- package/src/webrtc/stats/valueFormatter.ts +0 -27
package/src/models/poll.ts
CHANGED
@@ -48,9 +48,6 @@ const filterResponseRelations = (
|
|
48
48
|
responseEvents: MatrixEvent[];
|
49
49
|
} => {
|
50
50
|
const responseEvents = relationEvents.filter((event) => {
|
51
|
-
if (event.isDecryptionFailure()) {
|
52
|
-
return;
|
53
|
-
}
|
54
51
|
return (
|
55
52
|
M_POLL_RESPONSE.matches(event.getType()) &&
|
56
53
|
// From MSC3381:
|
@@ -172,8 +169,6 @@ export class Poll extends TypedEventEmitter<Exclude<PollEvent, PollEvent.New>, P
|
|
172
169
|
},
|
173
170
|
);
|
174
171
|
|
175
|
-
await Promise.all(allRelations.events.map((event) => this.matrixClient.decryptEventIfNeeded(event)));
|
176
|
-
|
177
172
|
const responses =
|
178
173
|
this.responses ||
|
179
174
|
new Relations("m.reference", M_POLL_RESPONSE.name, this.matrixClient, [M_POLL_RESPONSE.altName!]);
|
@@ -235,7 +230,6 @@ export class Poll extends TypedEventEmitter<Exclude<PollEvent, PollEvent.New>, P
|
|
235
230
|
|
236
231
|
private countUndecryptableEvents = (events: MatrixEvent[]): void => {
|
237
232
|
const undecryptableEventIds = events
|
238
|
-
.filter((event) => event.isDecryptionFailure())
|
239
233
|
.map((event) => event.getId()!);
|
240
234
|
|
241
235
|
const previousCount = this.undecryptableRelationsCount;
|
@@ -98,18 +98,11 @@ export class RelationsContainer {
|
|
98
98
|
if (!relation) return;
|
99
99
|
|
100
100
|
const onEventDecrypted = (): void => {
|
101
|
-
if (event.isDecryptionFailure()) {
|
102
|
-
// This could for example happen if the encryption keys are not yet available.
|
103
|
-
// The event may still be decrypted later. Register the listener again.
|
104
|
-
event.once(MatrixEventEvent.Decrypted, onEventDecrypted);
|
105
|
-
return;
|
106
|
-
}
|
107
|
-
|
108
101
|
this.aggregateChildEvent(event, timelineSet);
|
109
102
|
};
|
110
103
|
|
111
104
|
// If the event is currently encrypted, wait until it has been decrypted.
|
112
|
-
if (event.
|
105
|
+
if (event.shouldAttemptDecryption()) {
|
113
106
|
event.once(MatrixEventEvent.Decrypted, onEventDecrypted);
|
114
107
|
return;
|
115
108
|
}
|
package/src/models/relations.ts
CHANGED
@@ -52,7 +52,6 @@ export class Relations extends TypedEventEmitter<RelationsEvent, EventHandlerMap
|
|
52
52
|
private sortedAnnotationsByKey: [string, Set<MatrixEvent>][] = [];
|
53
53
|
private targetEvent: MatrixEvent | null = null;
|
54
54
|
private creationEmitted = false;
|
55
|
-
private readonly client: MatrixClient;
|
56
55
|
|
57
56
|
/**
|
58
57
|
* @param relationType - The type of relation involved, such as "m.annotation", "m.reference", "m.replace", etc.
|
@@ -67,7 +66,6 @@ export class Relations extends TypedEventEmitter<RelationsEvent, EventHandlerMap
|
|
67
66
|
public readonly altEventTypes?: string[],
|
68
67
|
) {
|
69
68
|
super();
|
70
|
-
this.client = client instanceof Room ? client.client : client;
|
71
69
|
}
|
72
70
|
|
73
71
|
/**
|
@@ -323,12 +321,6 @@ export class Relations extends TypedEventEmitter<RelationsEvent, EventHandlerMap
|
|
323
321
|
return event;
|
324
322
|
}, null);
|
325
323
|
|
326
|
-
if (lastReplacement?.shouldAttemptDecryption() && this.client.isCryptoEnabled()) {
|
327
|
-
await lastReplacement.attemptDecryption(this.client.crypto!);
|
328
|
-
} else if (lastReplacement?.isBeingDecrypted()) {
|
329
|
-
await lastReplacement.getDecryptionPromise();
|
330
|
-
}
|
331
|
-
|
332
324
|
return lastReplacement;
|
333
325
|
}
|
334
326
|
|
@@ -368,6 +368,11 @@ export class RoomMember extends TypedEventEmitter<RoomMemberEvent, RoomMemberEve
|
|
368
368
|
* If false, any non-matrix content URLs will be ignored. Setting this option to
|
369
369
|
* true will expose URLs that, if fetched, will leak information about the user
|
370
370
|
* to anyone who they share a room with.
|
371
|
+
* @param useAuthentication - (optional) If true, the caller supports authenticated
|
372
|
+
* media and wants an authentication-required URL. Note that server support for
|
373
|
+
* authenticated media will not be checked - it is the caller's responsibility
|
374
|
+
* to do so before calling this function. Note also that useAuthentication
|
375
|
+
* implies allowRedirects. Defaults to false (unauthenticated endpoints).
|
371
376
|
* @returns the avatar URL or null.
|
372
377
|
*/
|
373
378
|
public getAvatarUrl(
|
@@ -377,13 +382,23 @@ export class RoomMember extends TypedEventEmitter<RoomMemberEvent, RoomMemberEve
|
|
377
382
|
resizeMethod: string,
|
378
383
|
allowDefault = true,
|
379
384
|
allowDirectLinks: boolean,
|
385
|
+
useAuthentication: boolean = false,
|
380
386
|
): string | null {
|
381
387
|
const rawUrl = this.getMxcAvatarUrl();
|
382
388
|
|
383
389
|
if (!rawUrl && !allowDefault) {
|
384
390
|
return null;
|
385
391
|
}
|
386
|
-
const httpUrl = getHttpUriForMxc(
|
392
|
+
const httpUrl = getHttpUriForMxc(
|
393
|
+
baseUrl,
|
394
|
+
rawUrl,
|
395
|
+
width,
|
396
|
+
height,
|
397
|
+
resizeMethod,
|
398
|
+
allowDirectLinks,
|
399
|
+
undefined,
|
400
|
+
useAuthentication,
|
401
|
+
);
|
387
402
|
if (httpUrl) {
|
388
403
|
return httpUrl;
|
389
404
|
}
|
package/src/models/room-state.ts
CHANGED
@@ -18,7 +18,7 @@ import { RoomMember } from "./room-member.ts";
|
|
18
18
|
import { logger } from "../logger.ts";
|
19
19
|
import { isNumber, removeHiddenChars } from "../utils.ts";
|
20
20
|
import { EventType, UNSTABLE_MSC2716_MARKER } from "../@types/event.ts";
|
21
|
-
import { IEvent, MatrixEvent
|
21
|
+
import { IEvent, MatrixEvent } from "./event.ts";
|
22
22
|
import { MatrixClient } from "../client.ts";
|
23
23
|
import { GuestAccess, HistoryVisibility, JoinRule } from "../@types/partials.ts";
|
24
24
|
import { TypedEventEmitter } from "./typed-event-emitter.ts";
|
@@ -194,22 +194,11 @@ export class RoomState extends TypedEventEmitter<EmittedEvents, EventHandlerMap>
|
|
194
194
|
* As the timeline might get reset while they are loading, this state needs to be inherited
|
195
195
|
* and shared when the room state is cloned for the new timeline.
|
196
196
|
* This should only be passed from clone.
|
197
|
-
* @param isStartTimelineState - Optional. This state is marked as a start state.
|
198
|
-
* This is used to skip state insertions that are
|
199
|
-
* in the wrong order. The order is determined by the `replaces_state` id.
|
200
|
-
*
|
201
|
-
* Example:
|
202
|
-
* A current state events `replaces_state` value is `1`.
|
203
|
-
* Trying to insert a state event with `event_id` `1` in its place would fail if isStartTimelineState = false.
|
204
|
-
*
|
205
|
-
* A current state events `event_id` is `2`.
|
206
|
-
* Trying to insert a state event where its `replaces_state` value is `2` would fail if isStartTimelineState = true.
|
207
197
|
*/
|
208
198
|
|
209
199
|
public constructor(
|
210
200
|
public readonly roomId: string,
|
211
201
|
private oobMemberFlags = { status: OobStatus.NotStarted },
|
212
|
-
public readonly isStartTimelineState = false,
|
213
202
|
) {
|
214
203
|
super();
|
215
204
|
this.updateModifiedTime();
|
@@ -420,7 +409,7 @@ export class RoomState extends TypedEventEmitter<EmittedEvents, EventHandlerMap>
|
|
420
409
|
* Fires {@link RoomStateEvent.Events}
|
421
410
|
* Fires {@link RoomStateEvent.Marker}
|
422
411
|
*/
|
423
|
-
public setStateEvents(stateEvents: MatrixEvent[],
|
412
|
+
public setStateEvents(stateEvents: MatrixEvent[], markerFoundOptions?: IMarkerFoundOptions): void {
|
424
413
|
this.updateModifiedTime();
|
425
414
|
|
426
415
|
// update the core event dict
|
@@ -432,22 +421,6 @@ export class RoomState extends TypedEventEmitter<EmittedEvents, EventHandlerMap>
|
|
432
421
|
}
|
433
422
|
|
434
423
|
const lastStateEvent = this.getStateEventMatching(event);
|
435
|
-
|
436
|
-
// Safety measure to not update the room (and emit the update) with older state.
|
437
|
-
// The sync loop really should not send old events but it does very regularly.
|
438
|
-
// Logging on return in those two conditions results in a large amount of logging. (on startup and when running element)
|
439
|
-
const lastReplaceId = lastStateEvent?.event.unsigned?.replaces_state;
|
440
|
-
const lastId = lastStateEvent?.event.event_id;
|
441
|
-
const newReplaceId = event.event.unsigned?.replaces_state;
|
442
|
-
const newId = event.event.event_id;
|
443
|
-
if (this.isStartTimelineState) {
|
444
|
-
// Add an event to the start of the timeline. Its replace id should not be the same as the one of the current/last start state event.
|
445
|
-
if (newReplaceId && lastId && newReplaceId === lastId) return;
|
446
|
-
} else {
|
447
|
-
// Add an event to the end of the timeline. It should not be the same as the one replaced by the current/last end state event.
|
448
|
-
if (lastReplaceId && newId && lastReplaceId === newId) return;
|
449
|
-
}
|
450
|
-
|
451
424
|
this.setStateEvent(event);
|
452
425
|
if (event.getType() === EventType.RoomMember) {
|
453
426
|
this.updateDisplayNameCache(event.getStateKey()!, event.getContent().displayname ?? "");
|
@@ -504,7 +477,7 @@ export class RoomState extends TypedEventEmitter<EmittedEvents, EventHandlerMap>
|
|
504
477
|
// assume all our sentinels are now out-of-date
|
505
478
|
this.sentinels = {};
|
506
479
|
} else if (UNSTABLE_MSC2716_MARKER.matches(event.getType())) {
|
507
|
-
this.emit(RoomStateEvent.Marker, event,
|
480
|
+
this.emit(RoomStateEvent.Marker, event, markerFoundOptions);
|
508
481
|
}
|
509
482
|
});
|
510
483
|
|
@@ -544,15 +517,9 @@ export class RoomState extends TypedEventEmitter<EmittedEvents, EventHandlerMap>
|
|
544
517
|
if (!M_BEACON.matches(event.getType()) && !event.isEncrypted()) return;
|
545
518
|
|
546
519
|
try {
|
547
|
-
await matrixClient.decryptEventIfNeeded(event);
|
548
520
|
processBeaconRelation(relatedToEventId, event);
|
549
521
|
} catch {
|
550
|
-
|
551
|
-
// add an event listener for once the event is decrypted.
|
552
|
-
event.once(MatrixEventEvent.Decrypted, async () => {
|
553
|
-
processBeaconRelation(relatedToEventId, event);
|
554
|
-
});
|
555
|
-
}
|
522
|
+
//
|
556
523
|
}
|
557
524
|
}
|
558
525
|
}
|
package/src/models/room.ts
CHANGED
@@ -494,7 +494,6 @@ export class Room extends ReadReceipt<RoomEmittedEvents, RoomEventHandlerMap> {
|
|
494
494
|
});
|
495
495
|
events.forEach(async (serializedEvent: Partial<IEvent>) => {
|
496
496
|
const event = mapper(serializedEvent);
|
497
|
-
await client.decryptEventIfNeeded(event);
|
498
497
|
event.setStatus(EventStatus.NOT_SENT);
|
499
498
|
this.addPendingEvent(event, event.getTxnId()!);
|
500
499
|
});
|
@@ -533,52 +532,6 @@ export class Room extends ReadReceipt<RoomEmittedEvents, RoomEventHandlerMap> {
|
|
533
532
|
return null;
|
534
533
|
}
|
535
534
|
|
536
|
-
/**
|
537
|
-
* Bulk decrypt critical events in a room
|
538
|
-
*
|
539
|
-
* Critical events represents the minimal set of events to decrypt
|
540
|
-
* for a typical UI to function properly
|
541
|
-
*
|
542
|
-
* - Last event of every room (to generate likely message preview)
|
543
|
-
* - All events up to the read receipt (to calculate an accurate notification count)
|
544
|
-
*
|
545
|
-
* @returns Signals when all events have been decrypted
|
546
|
-
*/
|
547
|
-
public async decryptCriticalEvents(): Promise<void> {
|
548
|
-
if (!this.client.isCryptoEnabled()) return;
|
549
|
-
|
550
|
-
const readReceiptEventId = this.getEventReadUpTo(this.client.getUserId()!, true);
|
551
|
-
const events = this.getLiveTimeline().getEvents();
|
552
|
-
const readReceiptTimelineIndex = events.findIndex((matrixEvent) => {
|
553
|
-
return matrixEvent.event.event_id === readReceiptEventId;
|
554
|
-
});
|
555
|
-
|
556
|
-
const decryptionPromises = events
|
557
|
-
.slice(readReceiptTimelineIndex)
|
558
|
-
.reverse()
|
559
|
-
.map((event) => this.client.decryptEventIfNeeded(event));
|
560
|
-
|
561
|
-
await Promise.allSettled(decryptionPromises);
|
562
|
-
}
|
563
|
-
|
564
|
-
/**
|
565
|
-
* Bulk decrypt events in a room
|
566
|
-
*
|
567
|
-
* @returns Signals when all events have been decrypted
|
568
|
-
*/
|
569
|
-
public async decryptAllEvents(): Promise<void> {
|
570
|
-
if (!this.client.isCryptoEnabled()) return;
|
571
|
-
|
572
|
-
const decryptionPromises = this.getUnfilteredTimelineSet()
|
573
|
-
.getLiveTimeline()
|
574
|
-
.getEvents()
|
575
|
-
.slice(0) // copy before reversing
|
576
|
-
.reverse()
|
577
|
-
.map((event) => this.client.decryptEventIfNeeded(event));
|
578
|
-
|
579
|
-
await Promise.allSettled(decryptionPromises);
|
580
|
-
}
|
581
|
-
|
582
535
|
/**
|
583
536
|
* Gets the creator of the room
|
584
537
|
* @returns The creator of the room, or null if it could not be determined
|
@@ -1661,6 +1614,11 @@ export class Room extends ReadReceipt<RoomEmittedEvents, RoomEventHandlerMap> {
|
|
1661
1614
|
* "crop" or "scale".
|
1662
1615
|
* @param allowDefault - True to allow an identicon for this room if an
|
1663
1616
|
* avatar URL wasn't explicitly set. Default: true. (Deprecated)
|
1617
|
+
* @param useAuthentication - (optional) If true, the caller supports authenticated
|
1618
|
+
* media and wants an authentication-required URL. Note that server support for
|
1619
|
+
* authenticated media will not be checked - it is the caller's responsibility
|
1620
|
+
* to do so before calling this function. Note also that useAuthentication
|
1621
|
+
* implies allowRedirects. Defaults to false (unauthenticated endpoints).
|
1664
1622
|
* @returns the avatar URL or null.
|
1665
1623
|
*/
|
1666
1624
|
public getAvatarUrl(
|
@@ -1669,6 +1627,7 @@ export class Room extends ReadReceipt<RoomEmittedEvents, RoomEventHandlerMap> {
|
|
1669
1627
|
height: number,
|
1670
1628
|
resizeMethod: ResizeMethod,
|
1671
1629
|
allowDefault = true,
|
1630
|
+
useAuthentication: boolean = false,
|
1672
1631
|
): string | null {
|
1673
1632
|
const roomAvatarEvent = this.currentState.getStateEvents(EventType.RoomAvatar, "");
|
1674
1633
|
if (!roomAvatarEvent && !allowDefault) {
|
@@ -1677,7 +1636,16 @@ export class Room extends ReadReceipt<RoomEmittedEvents, RoomEventHandlerMap> {
|
|
1677
1636
|
|
1678
1637
|
const mainUrl = roomAvatarEvent ? roomAvatarEvent.getContent().url : null;
|
1679
1638
|
if (mainUrl) {
|
1680
|
-
return getHttpUriForMxc(
|
1639
|
+
return getHttpUriForMxc(
|
1640
|
+
baseUrl,
|
1641
|
+
mainUrl,
|
1642
|
+
width,
|
1643
|
+
height,
|
1644
|
+
resizeMethod,
|
1645
|
+
undefined,
|
1646
|
+
undefined,
|
1647
|
+
useAuthentication,
|
1648
|
+
);
|
1681
1649
|
}
|
1682
1650
|
|
1683
1651
|
return null;
|
@@ -1739,10 +1707,11 @@ export class Room extends ReadReceipt<RoomEmittedEvents, RoomEventHandlerMap> {
|
|
1739
1707
|
public addEventsToTimeline(
|
1740
1708
|
events: MatrixEvent[],
|
1741
1709
|
toStartOfTimeline: boolean,
|
1710
|
+
addToState: boolean,
|
1742
1711
|
timeline: EventTimeline,
|
1743
1712
|
paginationToken?: string,
|
1744
1713
|
): void {
|
1745
|
-
timeline.getTimelineSet().addEventsToTimeline(events, toStartOfTimeline, timeline, paginationToken);
|
1714
|
+
timeline.getTimelineSet().addEventsToTimeline(events, toStartOfTimeline, addToState, timeline, paginationToken);
|
1746
1715
|
}
|
1747
1716
|
|
1748
1717
|
/**
|
@@ -1907,7 +1876,7 @@ export class Room extends ReadReceipt<RoomEmittedEvents, RoomEventHandlerMap> {
|
|
1907
1876
|
// see https://github.com/vector-im/vector-web/issues/2109
|
1908
1877
|
|
1909
1878
|
unfilteredLiveTimeline.getEvents().forEach(function (event) {
|
1910
|
-
timelineSet.addLiveEvent(event);
|
1879
|
+
timelineSet.addLiveEvent(event, { addToState: false }); // Filtered timeline sets should not track state
|
1911
1880
|
});
|
1912
1881
|
|
1913
1882
|
// find the earliest unfiltered timeline
|
@@ -1994,6 +1963,7 @@ export class Room extends ReadReceipt<RoomEmittedEvents, RoomEventHandlerMap> {
|
|
1994
1963
|
if (filterType !== ThreadFilterType.My || currentUserParticipated) {
|
1995
1964
|
timelineSet.getLiveTimeline().addEvent(thread.rootEvent!, {
|
1996
1965
|
toStartOfTimeline: false,
|
1966
|
+
addToState: false,
|
1997
1967
|
});
|
1998
1968
|
}
|
1999
1969
|
});
|
@@ -2062,12 +2032,12 @@ export class Room extends ReadReceipt<RoomEmittedEvents, RoomEventHandlerMap> {
|
|
2062
2032
|
return threadAMetadata.latest_event.origin_server_ts - threadBMetadata.latest_event.origin_server_ts;
|
2063
2033
|
});
|
2064
2034
|
|
2065
|
-
let latestMyThreadsRootEvent: MatrixEvent | undefined;
|
2066
2035
|
const roomState = this.getLiveTimeline().getState(EventTimeline.FORWARDS);
|
2067
2036
|
for (const rootEvent of threadRoots) {
|
2068
2037
|
const opts = {
|
2069
2038
|
duplicateStrategy: DuplicateStrategy.Ignore,
|
2070
2039
|
fromCache: false,
|
2040
|
+
addToState: false,
|
2071
2041
|
roomState,
|
2072
2042
|
};
|
2073
2043
|
this.threadsTimelineSets[0]?.addLiveEvent(rootEvent, opts);
|
@@ -2077,16 +2047,10 @@ export class Room extends ReadReceipt<RoomEmittedEvents, RoomEventHandlerMap> {
|
|
2077
2047
|
);
|
2078
2048
|
if (threadRelationship?.current_user_participated) {
|
2079
2049
|
this.threadsTimelineSets[1]?.addLiveEvent(rootEvent, opts);
|
2080
|
-
latestMyThreadsRootEvent = rootEvent;
|
2081
2050
|
}
|
2082
2051
|
}
|
2083
2052
|
|
2084
2053
|
this.processThreadRoots(threadRoots, true);
|
2085
|
-
|
2086
|
-
this.client.decryptEventIfNeeded(threadRoots[threadRoots.length - 1]);
|
2087
|
-
if (latestMyThreadsRootEvent) {
|
2088
|
-
this.client.decryptEventIfNeeded(latestMyThreadsRootEvent);
|
2089
|
-
}
|
2090
2054
|
}
|
2091
2055
|
|
2092
2056
|
this.on(ThreadEvent.NewReply, this.onThreadReply);
|
@@ -2110,7 +2074,6 @@ export class Room extends ReadReceipt<RoomEmittedEvents, RoomEventHandlerMap> {
|
|
2110
2074
|
* Try to decrypt the event. Promise resolution does not guarantee a successful decryption.
|
2111
2075
|
* Retry is handled in {@link processPollEvent}.
|
2112
2076
|
*/
|
2113
|
-
await this.client.decryptEventIfNeeded(event);
|
2114
2077
|
this.processPollEvent(event);
|
2115
2078
|
} catch (err) {
|
2116
2079
|
logger.warn("Error processing poll event", event.getId(), err);
|
@@ -2129,13 +2092,6 @@ export class Room extends ReadReceipt<RoomEmittedEvents, RoomEventHandlerMap> {
|
|
2129
2092
|
* @param event - Event that could be a poll event
|
2130
2093
|
*/
|
2131
2094
|
private async processPollEvent(event: MatrixEvent): Promise<void> {
|
2132
|
-
if (event.isDecryptionFailure()) {
|
2133
|
-
event.once(MatrixEventEvent.Decrypted, (maybeDecryptedEvent: MatrixEvent) => {
|
2134
|
-
this.processPollEvent(maybeDecryptedEvent);
|
2135
|
-
});
|
2136
|
-
return;
|
2137
|
-
}
|
2138
|
-
|
2139
2095
|
if (M_POLL_START.matches(event.getType())) {
|
2140
2096
|
try {
|
2141
2097
|
const poll = new Poll(event, this.client, this);
|
@@ -2190,6 +2146,7 @@ export class Room extends ReadReceipt<RoomEmittedEvents, RoomEventHandlerMap> {
|
|
2190
2146
|
duplicateStrategy: DuplicateStrategy.Replace,
|
2191
2147
|
fromCache: false,
|
2192
2148
|
roomState,
|
2149
|
+
addToState: false,
|
2193
2150
|
});
|
2194
2151
|
}
|
2195
2152
|
}
|
@@ -2381,9 +2338,13 @@ export class Room extends ReadReceipt<RoomEmittedEvents, RoomEventHandlerMap> {
|
|
2381
2338
|
duplicateStrategy: DuplicateStrategy.Replace,
|
2382
2339
|
fromCache: false,
|
2383
2340
|
roomState: this.currentState,
|
2341
|
+
addToState: false,
|
2384
2342
|
});
|
2385
2343
|
} else {
|
2386
|
-
timelineSet.addEventToTimeline(thread.rootEvent, timelineSet.getLiveTimeline(), {
|
2344
|
+
timelineSet.addEventToTimeline(thread.rootEvent, timelineSet.getLiveTimeline(), {
|
2345
|
+
toStartOfTimeline,
|
2346
|
+
addToState: false,
|
2347
|
+
});
|
2387
2348
|
}
|
2388
2349
|
}
|
2389
2350
|
};
|
@@ -2540,7 +2501,7 @@ export class Room extends ReadReceipt<RoomEmittedEvents, RoomEventHandlerMap> {
|
|
2540
2501
|
* Fires {@link RoomEvent.Timeline}
|
2541
2502
|
*/
|
2542
2503
|
private addLiveEvent(event: MatrixEvent, addLiveEventOptions: IAddLiveEventOptions): void {
|
2543
|
-
const { duplicateStrategy, timelineWasEmpty, fromCache } = addLiveEventOptions;
|
2504
|
+
const { duplicateStrategy, timelineWasEmpty, fromCache, addToState } = addLiveEventOptions;
|
2544
2505
|
|
2545
2506
|
// add to our timeline sets
|
2546
2507
|
for (const timelineSet of this.timelineSets) {
|
@@ -2548,6 +2509,7 @@ export class Room extends ReadReceipt<RoomEmittedEvents, RoomEventHandlerMap> {
|
|
2548
2509
|
duplicateStrategy,
|
2549
2510
|
fromCache,
|
2550
2511
|
timelineWasEmpty,
|
2512
|
+
addToState,
|
2551
2513
|
});
|
2552
2514
|
}
|
2553
2515
|
|
@@ -2631,11 +2593,13 @@ export class Room extends ReadReceipt<RoomEmittedEvents, RoomEventHandlerMap> {
|
|
2631
2593
|
if (timelineSet.getFilter()!.filterRoomTimeline([event]).length) {
|
2632
2594
|
timelineSet.addEventToTimeline(event, timelineSet.getLiveTimeline(), {
|
2633
2595
|
toStartOfTimeline: false,
|
2596
|
+
addToState: false, // We don't support localEcho of state events yet
|
2634
2597
|
});
|
2635
2598
|
}
|
2636
2599
|
} else {
|
2637
2600
|
timelineSet.addEventToTimeline(event, timelineSet.getLiveTimeline(), {
|
2638
2601
|
toStartOfTimeline: false,
|
2602
|
+
addToState: false, // We don't support localEcho of state events yet
|
2639
2603
|
});
|
2640
2604
|
}
|
2641
2605
|
}
|
@@ -2886,8 +2850,8 @@ export class Room extends ReadReceipt<RoomEmittedEvents, RoomEventHandlerMap> {
|
|
2886
2850
|
* @param addLiveEventOptions - addLiveEvent options
|
2887
2851
|
* @throws If `duplicateStrategy` is not falsey, 'replace' or 'ignore'.
|
2888
2852
|
*/
|
2889
|
-
public async addLiveEvents(events: MatrixEvent[], addLiveEventOptions
|
2890
|
-
const { duplicateStrategy, fromCache, timelineWasEmpty = false } = addLiveEventOptions
|
2853
|
+
public async addLiveEvents(events: MatrixEvent[], addLiveEventOptions: IAddLiveEventOptions): Promise<void> {
|
2854
|
+
const { duplicateStrategy, fromCache, timelineWasEmpty = false, addToState } = addLiveEventOptions;
|
2891
2855
|
if (duplicateStrategy && ["replace", "ignore"].indexOf(duplicateStrategy) === -1) {
|
2892
2856
|
throw new Error("duplicateStrategy MUST be either 'replace' or 'ignore'");
|
2893
2857
|
}
|
@@ -2902,6 +2866,7 @@ export class Room extends ReadReceipt<RoomEmittedEvents, RoomEventHandlerMap> {
|
|
2902
2866
|
duplicateStrategy,
|
2903
2867
|
fromCache,
|
2904
2868
|
timelineWasEmpty,
|
2869
|
+
addToState,
|
2905
2870
|
};
|
2906
2871
|
|
2907
2872
|
// List of extra events to check for being parents of any relations encountered
|
package/src/models/thread.ts
CHANGED
@@ -208,6 +208,7 @@ export class Thread extends ReadReceipt<ThreadEmittedEvents, ThreadEventHandlerM
|
|
208
208
|
|
209
209
|
public static setServerSideSupport(status: FeatureSupport): void {
|
210
210
|
Thread.hasServerSideSupport = status;
|
211
|
+
// XXX: This global latching behaviour is really unexpected and means that you can't undo when moving to a server without support
|
211
212
|
if (status !== FeatureSupport.Stable) {
|
212
213
|
FILTER_RELATED_BY_SENDERS.setPreferUnstable(true);
|
213
214
|
FILTER_RELATED_BY_REL_TYPES.setPreferUnstable(true);
|
@@ -317,6 +318,7 @@ export class Thread extends ReadReceipt<ThreadEmittedEvents, ThreadEventHandlerM
|
|
317
318
|
toStartOfTimeline,
|
318
319
|
fromCache: false,
|
319
320
|
roomState: this.roomState,
|
321
|
+
addToState: false,
|
320
322
|
});
|
321
323
|
}
|
322
324
|
}
|
@@ -343,7 +345,7 @@ export class Thread extends ReadReceipt<ThreadEmittedEvents, ThreadEventHandlerM
|
|
343
345
|
if (this.findEventById(eventId)) {
|
344
346
|
return;
|
345
347
|
}
|
346
|
-
this.timelineSet.insertEventIntoTimeline(event, this.liveTimeline, this.roomState);
|
348
|
+
this.timelineSet.insertEventIntoTimeline(event, this.liveTimeline, this.roomState, false);
|
347
349
|
}
|
348
350
|
|
349
351
|
public addEvents(events: MatrixEvent[], toStartOfTimeline: boolean): void {
|
@@ -372,7 +374,6 @@ export class Thread extends ReadReceipt<ThreadEmittedEvents, ThreadEventHandlerM
|
|
372
374
|
if (!Thread.hasServerSideSupport) {
|
373
375
|
// When there's no server-side support, just add it to the end of the timeline.
|
374
376
|
this.addEventToTimeline(event, toStartOfTimeline);
|
375
|
-
this.client.decryptEventIfNeeded(event);
|
376
377
|
} else if (event.isRelation(RelationType.Annotation) || event.isRelation(RelationType.Replace)) {
|
377
378
|
this.addRelatedThreadEvent(event, toStartOfTimeline);
|
378
379
|
return;
|
@@ -618,7 +619,7 @@ export class Thread extends ReadReceipt<ThreadEmittedEvents, ThreadEventHandlerM
|
|
618
619
|
// if the thread has regular events, this will just load the last reply.
|
619
620
|
// if the thread is newly created, this will load the root event.
|
620
621
|
if (this.replyCount === 0 && this.rootEvent) {
|
621
|
-
this.timelineSet.addEventsToTimeline([this.rootEvent], true, this.liveTimeline, null);
|
622
|
+
this.timelineSet.addEventsToTimeline([this.rootEvent], true, false, this.liveTimeline, null);
|
622
623
|
this.liveTimeline.setPaginationToken(null, Direction.Backward);
|
623
624
|
} else {
|
624
625
|
this.initalEventFetchProm = this.client.paginateEventTimeline(this.liveTimeline, {
|
package/src/oidc/authorize.ts
CHANGED
@@ -17,13 +17,13 @@ limitations under the License.
|
|
17
17
|
import { IdTokenClaims, Log, OidcClient, SigninResponse, SigninState, WebStorageStateStore } from "oidc-client-ts";
|
18
18
|
|
19
19
|
import { logger } from "../logger.ts";
|
20
|
-
import {
|
20
|
+
import { secureRandomString } from "../randomstring.ts";
|
21
21
|
import { OidcError } from "./error.ts";
|
22
22
|
import {
|
23
23
|
BearerTokenResponse,
|
24
24
|
UserState,
|
25
25
|
validateBearerTokenResponse,
|
26
|
-
|
26
|
+
ValidatedAuthMetadata,
|
27
27
|
validateIdToken,
|
28
28
|
validateStoredUserState,
|
29
29
|
} from "./validate.ts";
|
@@ -52,7 +52,7 @@ export type AuthorizationParams = {
|
|
52
52
|
* @returns scope
|
53
53
|
*/
|
54
54
|
export const generateScope = (deviceId?: string): string => {
|
55
|
-
const safeDeviceId = deviceId ??
|
55
|
+
const safeDeviceId = deviceId ?? secureRandomString(10);
|
56
56
|
return `openid urn:matrix:org.matrix.msc2967.client:api:* urn:matrix:org.matrix.msc2967.client:device:${safeDeviceId}`;
|
57
57
|
};
|
58
58
|
|
@@ -79,9 +79,9 @@ const generateCodeChallenge = async (codeVerifier: string): Promise<string> => {
|
|
79
79
|
export const generateAuthorizationParams = ({ redirectUri }: { redirectUri: string }): AuthorizationParams => ({
|
80
80
|
scope: generateScope(),
|
81
81
|
redirectUri,
|
82
|
-
state:
|
83
|
-
nonce:
|
84
|
-
codeVerifier:
|
82
|
+
state: secureRandomString(8),
|
83
|
+
nonce: secureRandomString(8),
|
84
|
+
codeVerifier: secureRandomString(64), // https://tools.ietf.org/html/rfc7636#section-4.1 length needs to be 43-128 characters
|
85
85
|
});
|
86
86
|
|
87
87
|
/**
|
@@ -138,7 +138,7 @@ export const generateOidcAuthorizationUrl = async ({
|
|
138
138
|
urlState,
|
139
139
|
}: {
|
140
140
|
clientId: string;
|
141
|
-
metadata:
|
141
|
+
metadata: ValidatedAuthMetadata;
|
142
142
|
homeserverUrl: string;
|
143
143
|
identityServerUrl?: string;
|
144
144
|
redirectUri: string;
|
package/src/oidc/discovery.ts
CHANGED
@@ -16,7 +16,7 @@ limitations under the License.
|
|
16
16
|
|
17
17
|
import { MetadataService, OidcClientSettingsStore } from "oidc-client-ts";
|
18
18
|
|
19
|
-
import {
|
19
|
+
import { validateAuthMetadata } from "./validate.ts";
|
20
20
|
import { Method, timeoutSignal } from "../http-api/index.ts";
|
21
21
|
import { OidcClientConfig } from "./index.ts";
|
22
22
|
|
@@ -30,6 +30,7 @@ import { OidcClientConfig } from "./index.ts";
|
|
30
30
|
* @param issuer - the OIDC issuer as returned by the /auth_issuer API
|
31
31
|
* @returns validated authentication metadata and optionally signing keys
|
32
32
|
* @throws when delegated auth config is invalid or unreachable
|
33
|
+
* @deprecated in favour of {@link MatrixClient#getAuthMetadata}
|
33
34
|
*/
|
34
35
|
export const discoverAndValidateOIDCIssuerWellKnown = async (issuer: string): Promise<OidcClientConfig> => {
|
35
36
|
const issuerOpenIdConfigUrl = new URL(".well-known/openid-configuration", issuer);
|
@@ -38,23 +39,28 @@ export const discoverAndValidateOIDCIssuerWellKnown = async (issuer: string): Pr
|
|
38
39
|
signal: timeoutSignal(5000),
|
39
40
|
});
|
40
41
|
const issuerWellKnown = await issuerWellKnownResponse.json();
|
41
|
-
|
42
|
+
return validateAuthMetadataAndKeys(issuerWellKnown);
|
43
|
+
};
|
44
|
+
/**
|
45
|
+
* @experimental
|
46
|
+
* Validate the authentication metadata and fetch the signing keys from the jwks_uri in the metadata
|
47
|
+
* @param authMetadata - the authentication metadata to validate
|
48
|
+
* @returns validated authentication metadata and signing keys
|
49
|
+
*/
|
50
|
+
export const validateAuthMetadataAndKeys = async (authMetadata: unknown): Promise<OidcClientConfig> => {
|
51
|
+
const validatedIssuerConfig = validateAuthMetadata(authMetadata);
|
42
52
|
|
43
53
|
// create a temporary settings store, so we can use metadata service for discovery
|
44
54
|
const settings = new OidcClientSettingsStore({
|
45
|
-
authority: issuer,
|
55
|
+
authority: validatedIssuerConfig.issuer,
|
56
|
+
metadata: validatedIssuerConfig,
|
46
57
|
redirect_uri: "", // Not known yet, this is here to make the type checker happy
|
47
58
|
client_id: "", // Not known yet, this is here to make the type checker happy
|
48
59
|
});
|
49
60
|
const metadataService = new MetadataService(settings);
|
50
|
-
|
51
|
-
const signingKeys = (await metadataService.getSigningKeys()) ?? undefined;
|
52
|
-
|
53
|
-
isValidatedIssuerMetadata(metadata);
|
54
|
-
|
61
|
+
|
55
62
|
return {
|
56
63
|
...validatedIssuerConfig,
|
57
|
-
|
58
|
-
signingKeys,
|
64
|
+
signingKeys: await metadataService.getSigningKeys(),
|
59
65
|
};
|
60
66
|
};
|
package/src/oidc/index.ts
CHANGED
@@ -15,7 +15,7 @@ limitations under the License.
|
|
15
15
|
*/
|
16
16
|
|
17
17
|
import type { SigningKey } from "oidc-client-ts";
|
18
|
-
import {
|
18
|
+
import { ValidatedAuthMetadata } from "./validate.ts";
|
19
19
|
|
20
20
|
export * from "./authorize.ts";
|
21
21
|
export * from "./discovery.ts";
|
@@ -28,7 +28,6 @@ export * from "./validate.ts";
|
|
28
28
|
* Validated config for native OIDC authentication, as returned by {@link discoverAndValidateOIDCIssuerWellKnown}.
|
29
29
|
* Contains metadata and signing keys from the issuer's well-known (https://oidc-issuer.example.com/.well-known/openid-configuration).
|
30
30
|
*/
|
31
|
-
export interface OidcClientConfig extends
|
32
|
-
|
33
|
-
signingKeys?: SigningKey[];
|
31
|
+
export interface OidcClientConfig extends ValidatedAuthMetadata {
|
32
|
+
signingKeys: SigningKey[] | null;
|
34
33
|
}
|
package/src/oidc/register.ts
CHANGED
@@ -65,12 +65,12 @@ export const registerOidcClient = async (
|
|
65
65
|
delegatedAuthConfig: OidcClientConfig,
|
66
66
|
clientMetadata: OidcRegistrationClientMetadata,
|
67
67
|
): Promise<string> => {
|
68
|
-
if (!delegatedAuthConfig.
|
68
|
+
if (!delegatedAuthConfig.registration_endpoint) {
|
69
69
|
throw new Error(OidcError.DynamicRegistrationNotSupported);
|
70
70
|
}
|
71
71
|
|
72
72
|
const grantTypes: NonEmptyArray<string> = ["authorization_code", "refresh_token"];
|
73
|
-
if (grantTypes.some((scope) => !delegatedAuthConfig.
|
73
|
+
if (grantTypes.some((scope) => !delegatedAuthConfig.grant_types_supported.includes(scope))) {
|
74
74
|
throw new Error(OidcError.DynamicRegistrationNotSupported);
|
75
75
|
}
|
76
76
|
|
@@ -95,7 +95,7 @@ export const registerOidcClient = async (
|
|
95
95
|
};
|
96
96
|
|
97
97
|
try {
|
98
|
-
const response = await fetch(delegatedAuthConfig.
|
98
|
+
const response = await fetch(delegatedAuthConfig.registration_endpoint, {
|
99
99
|
method: Method.Post,
|
100
100
|
headers,
|
101
101
|
body: JSON.stringify(metadata),
|
@@ -77,11 +77,12 @@ export class OidcTokenRefresher {
|
|
77
77
|
const scope = generateScope(deviceId);
|
78
78
|
|
79
79
|
this.oidcClient = new OidcClient({
|
80
|
-
|
80
|
+
metadata: config,
|
81
|
+
signingKeys: config.signingKeys ?? undefined,
|
81
82
|
client_id: clientId,
|
82
83
|
scope,
|
83
84
|
redirect_uri: redirectUri,
|
84
|
-
authority: config.
|
85
|
+
authority: config.issuer,
|
85
86
|
stateStore: new WebStorageStateStore({ prefix: "mx_oidc_", store: window.sessionStorage }),
|
86
87
|
});
|
87
88
|
} catch (error) {
|