@unwanted/matrix-sdk-mini 34.12.0 → 34.13.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 +0 -19
- package/lib/@types/event.d.ts.map +1 -1
- 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 +2 -1298
- package/lib/client.d.ts.map +1 -1
- package/lib/client.js +348 -2967
- 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 +0 -22
- package/lib/embedded.d.ts.map +1 -1
- package/lib/embedded.js +58 -168
- 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/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 +8 -9
- package/lib/models/event-timeline.js.map +1 -1
- package/lib/models/event.d.ts +1 -95
- package/lib/models/event.d.ts.map +1 -1
- package/lib/models/event.js +11 -281
- package/lib/models/event.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-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 +2 -20
- package/lib/models/room.d.ts.map +1 -1
- package/lib/models/room.js +121 -162
- 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/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.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 +0 -48
- package/lib/testing.d.ts.map +1 -1
- package/lib/testing.js +0 -105
- 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 +10 -11
- package/src/@types/event.ts +2 -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 +68 -3087
- package/src/digest.ts +3 -3
- package/src/embedded.ts +38 -134
- package/src/event-mapper.ts +0 -4
- 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 +10 -5
- package/src/models/event.ts +8 -295
- 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-state.ts +4 -37
- package/src/models/room.ts +18 -68
- package/src/models/thread.ts +4 -3
- package/src/sliding-sync-sdk.ts +10 -83
- package/src/sliding-sync.ts +6 -6
- package/src/store/indexeddb.ts +1 -1
- package/src/sync-accumulator.ts +33 -16
- package/src/sync.ts +112 -143
- package/src/testing.ts +0 -108
- 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/digest.ts
CHANGED
@@ -18,11 +18,11 @@ limitations under the License.
|
|
18
18
|
* Computes a SHA-256 hash of a string (after utf-8 encoding) and returns it as an ArrayBuffer.
|
19
19
|
*
|
20
20
|
* @param plaintext The string to hash
|
21
|
-
* @returns An
|
21
|
+
* @returns An Uint8Array containing the SHA-256 hash of the input string
|
22
22
|
* @throws If the subtle crypto API is not available, for example if the code is running
|
23
23
|
* in a web page with an insecure context (eg. served over plain HTTP).
|
24
24
|
*/
|
25
|
-
export async function sha256(plaintext: string): Promise<
|
25
|
+
export async function sha256(plaintext: string): Promise<Uint8Array> {
|
26
26
|
if (!globalThis.crypto.subtle) {
|
27
27
|
throw new Error("Crypto.subtle is not available: insecure context?");
|
28
28
|
}
|
@@ -30,5 +30,5 @@ export async function sha256(plaintext: string): Promise<ArrayBuffer> {
|
|
30
30
|
|
31
31
|
const digest = await globalThis.crypto.subtle.digest("SHA-256", utf8);
|
32
32
|
|
33
|
-
return digest;
|
33
|
+
return new Uint8Array(digest);
|
34
34
|
}
|
package/src/embedded.ts
CHANGED
@@ -30,14 +30,14 @@ import {
|
|
30
30
|
IWidgetApiResponseData,
|
31
31
|
} from "matrix-widget-api";
|
32
32
|
|
33
|
-
import { MatrixEvent, IEvent, IContent
|
33
|
+
import { MatrixEvent, IEvent, IContent } from "./models/event.ts";
|
34
34
|
import {
|
35
35
|
ISendEventResponse,
|
36
36
|
SendDelayedEventRequestOpts,
|
37
37
|
SendDelayedEventResponse,
|
38
38
|
UpdateDelayedEventAction,
|
39
39
|
} from "./@types/requests.ts";
|
40
|
-
import {
|
40
|
+
import { StateEvents } from "./@types/event.ts";
|
41
41
|
import { logger } from "./logger.ts";
|
42
42
|
import {
|
43
43
|
MatrixClient,
|
@@ -54,8 +54,6 @@ import { MatrixError } from "./http-api/errors.ts";
|
|
54
54
|
import { User } from "./models/user.ts";
|
55
55
|
import { Room } from "./models/room.ts";
|
56
56
|
import { ToDeviceBatch, ToDevicePayload } from "./models/ToDeviceMessage.ts";
|
57
|
-
import { DeviceInfo } from "./crypto/deviceinfo.ts";
|
58
|
-
import { IOlmDevice } from "./crypto/algorithms/megolm.ts";
|
59
57
|
import { MapWithDefault, recursiveMapToObject } from "./utils.ts";
|
60
58
|
import { TypedEventEmitter } from "./matrix.ts";
|
61
59
|
|
@@ -266,7 +264,7 @@ export class RoomWidgetClient extends MatrixClient {
|
|
266
264
|
// still has some valuable helper methods that we make use of, so we
|
267
265
|
// instantiate it anyways
|
268
266
|
if (opts.slidingSync) {
|
269
|
-
this.syncApi = new SlidingSyncSdk(opts.slidingSync, this, opts
|
267
|
+
this.syncApi = new SlidingSyncSdk(opts.slidingSync, this, opts);
|
270
268
|
} else {
|
271
269
|
this.syncApi = new SyncApi(this, opts, this.buildSyncApiOptions());
|
272
270
|
}
|
@@ -284,7 +282,13 @@ export class RoomWidgetClient extends MatrixClient {
|
|
284
282
|
const rawEvents = await this.widgetApi.readStateEvents(eventType, undefined, stateKey, [this.roomId]);
|
285
283
|
const events = rawEvents.map((rawEvent) => new MatrixEvent(rawEvent as Partial<IEvent>));
|
286
284
|
|
287
|
-
|
285
|
+
if (this.syncApi instanceof SyncApi) {
|
286
|
+
// Passing undefined for `stateAfterEventList` allows will make `injectRoomEvents` run in legacy mode
|
287
|
+
// -> state events in `timelineEventList` will update the state.
|
288
|
+
await this.syncApi.injectRoomEvents(this.room!, undefined, events);
|
289
|
+
} else {
|
290
|
+
await this.syncApi!.injectRoomEvents(this.room!, events); // Sliding Sync
|
291
|
+
}
|
288
292
|
events.forEach((event) => {
|
289
293
|
this.emit(ClientEvent.Event, event);
|
290
294
|
logger.info(`Backfilled event ${event.getId()} ${event.getType()} ${event.getStateKey()}`);
|
@@ -301,11 +305,6 @@ export class RoomWidgetClient extends MatrixClient {
|
|
301
305
|
|
302
306
|
this.setSyncState(SyncState.Syncing);
|
303
307
|
logger.info("Finished backfilling events");
|
304
|
-
|
305
|
-
this.matrixRTC.start();
|
306
|
-
|
307
|
-
// Watch for TURN servers, if requested
|
308
|
-
if (this.capabilities.turnServers) this.watchTurnServers();
|
309
308
|
}
|
310
309
|
|
311
310
|
public stopClient(): void {
|
@@ -321,60 +320,6 @@ export class RoomWidgetClient extends MatrixClient {
|
|
321
320
|
throw new Error(`Unknown room: ${roomIdOrAlias}`);
|
322
321
|
}
|
323
322
|
|
324
|
-
protected async encryptAndSendEvent(room: Room, event: MatrixEvent): Promise<ISendEventResponse>;
|
325
|
-
protected async encryptAndSendEvent(
|
326
|
-
room: Room,
|
327
|
-
event: MatrixEvent,
|
328
|
-
delayOpts: SendDelayedEventRequestOpts,
|
329
|
-
): Promise<SendDelayedEventResponse>;
|
330
|
-
protected async encryptAndSendEvent(
|
331
|
-
room: Room,
|
332
|
-
event: MatrixEvent,
|
333
|
-
delayOpts?: SendDelayedEventRequestOpts,
|
334
|
-
): Promise<ISendEventResponse | SendDelayedEventResponse> {
|
335
|
-
// We need to extend the content with the redacts parameter
|
336
|
-
// The js sdk uses event.redacts but the widget api uses event.content.redacts
|
337
|
-
// This will be converted back to event.redacts in the widget driver.
|
338
|
-
const content = event.event.redacts
|
339
|
-
? { ...event.getContent(), redacts: event.event.redacts }
|
340
|
-
: event.getContent();
|
341
|
-
|
342
|
-
// Delayed event special case.
|
343
|
-
if (delayOpts) {
|
344
|
-
// TODO: updatePendingEvent for delayed events?
|
345
|
-
const response = await this.widgetApi.sendRoomEvent(
|
346
|
-
event.getType(),
|
347
|
-
content,
|
348
|
-
room.roomId,
|
349
|
-
"delay" in delayOpts ? delayOpts.delay : undefined,
|
350
|
-
"parent_delay_id" in delayOpts ? delayOpts.parent_delay_id : undefined,
|
351
|
-
);
|
352
|
-
return this.validateSendDelayedEventResponse(response);
|
353
|
-
}
|
354
|
-
|
355
|
-
const txId = event.getTxnId();
|
356
|
-
// Add the txnId to the pending list (still with unknown evID)
|
357
|
-
if (txId) this.pendingSendingEventsTxId.push({ type: event.getType(), id: undefined, txId });
|
358
|
-
|
359
|
-
let response: ISendEventFromWidgetResponseData;
|
360
|
-
try {
|
361
|
-
response = await this.widgetApi.sendRoomEvent(event.getType(), content, room.roomId);
|
362
|
-
} catch (e) {
|
363
|
-
this.updatePendingEventStatus(room, event, EventStatus.NOT_SENT);
|
364
|
-
throw e;
|
365
|
-
}
|
366
|
-
// This also checks for an event id on the response
|
367
|
-
room.updatePendingEvent(event, EventStatus.SENT, response.event_id);
|
368
|
-
|
369
|
-
// Update the pending events list with the eventId
|
370
|
-
this.pendingSendingEventsTxId.forEach((p) => {
|
371
|
-
if (p.txId === txId) p.id = response.event_id;
|
372
|
-
});
|
373
|
-
this.eventEmitter.emit(RoomWidgetClientEvent.PendingEventsChanged);
|
374
|
-
|
375
|
-
return { event_id: response.event_id! };
|
376
|
-
}
|
377
|
-
|
378
323
|
public async sendStateEvent(
|
379
324
|
roomId: string,
|
380
325
|
eventType: string,
|
@@ -460,46 +405,6 @@ export class RoomWidgetClient extends MatrixClient {
|
|
460
405
|
await this.widgetApi.sendToDevice(eventType, false, recursiveMapToObject(contentMap));
|
461
406
|
}
|
462
407
|
|
463
|
-
public async encryptAndSendToDevices(userDeviceInfoArr: IOlmDevice<DeviceInfo>[], payload: object): Promise<void> {
|
464
|
-
// map: user Id → device Id → payload
|
465
|
-
const contentMap: MapWithDefault<string, Map<string, object>> = new MapWithDefault(() => new Map());
|
466
|
-
for (const {
|
467
|
-
userId,
|
468
|
-
deviceInfo: { deviceId },
|
469
|
-
} of userDeviceInfoArr) {
|
470
|
-
contentMap.getOrCreate(userId).set(deviceId, payload);
|
471
|
-
}
|
472
|
-
|
473
|
-
await this.widgetApi.sendToDevice((payload as { type: string }).type, true, recursiveMapToObject(contentMap));
|
474
|
-
}
|
475
|
-
|
476
|
-
/**
|
477
|
-
* Send an event to a specific list of devices via the widget API. Optionally encrypts the event.
|
478
|
-
*
|
479
|
-
* If you are using a full MatrixClient you would be calling {@link MatrixClient.getCrypto().encryptToDeviceMessages()} followed
|
480
|
-
* by {@link MatrixClient.queueToDevice}.
|
481
|
-
*
|
482
|
-
* However, this is combined into a single step when running as an embedded widget client. So, we expose this method for those
|
483
|
-
* that need it.
|
484
|
-
*
|
485
|
-
* @param eventType - Type of the event to send.
|
486
|
-
* @param encrypted - Whether the event should be encrypted.
|
487
|
-
* @param contentMap - The content to send. Map from user_id to device_id to content object.
|
488
|
-
*/
|
489
|
-
public async sendToDeviceViaWidgetApi(
|
490
|
-
eventType: string,
|
491
|
-
encrypted: boolean,
|
492
|
-
contentMap: SendToDeviceContentMap,
|
493
|
-
): Promise<void> {
|
494
|
-
await this.widgetApi.sendToDevice(eventType, encrypted, recursiveMapToObject(contentMap));
|
495
|
-
}
|
496
|
-
|
497
|
-
// Overridden since we get TURN servers automatically over the widget API,
|
498
|
-
// and this method would otherwise complain about missing an access token
|
499
|
-
public async checkTurnServers(): Promise<boolean> {
|
500
|
-
return this.turnServers.length > 0;
|
501
|
-
}
|
502
|
-
|
503
408
|
// Overridden since we 'sync' manually without the sync API
|
504
409
|
public getSyncState(): SyncState | null {
|
505
410
|
return this.syncState;
|
@@ -567,7 +472,34 @@ export class RoomWidgetClient extends MatrixClient {
|
|
567
472
|
|
568
473
|
// Only inject once we have update the txId
|
569
474
|
await this.updateTxId(event);
|
570
|
-
|
475
|
+
|
476
|
+
// The widget API does not tell us whether a state event came from `state_after` or not so we assume legacy behaviour for now.
|
477
|
+
if (this.syncApi instanceof SyncApi) {
|
478
|
+
// The code will want to be something like:
|
479
|
+
// ```
|
480
|
+
// if (!params.addToTimeline && !params.addToState) {
|
481
|
+
// // Passing undefined for `stateAfterEventList` makes `injectRoomEvents` run in "legacy mode"
|
482
|
+
// // -> state events part of the `timelineEventList` parameter will update the state.
|
483
|
+
// this.injectRoomEvents(this.room!, [], undefined, [event]);
|
484
|
+
// } else {
|
485
|
+
// this.injectRoomEvents(this.room!, undefined, params.addToState ? [event] : [], params.addToTimeline ? [event] : []);
|
486
|
+
// }
|
487
|
+
// ```
|
488
|
+
|
489
|
+
// Passing undefined for `stateAfterEventList` allows will make `injectRoomEvents` run in legacy mode
|
490
|
+
// -> state events in `timelineEventList` will update the state.
|
491
|
+
await this.syncApi.injectRoomEvents(this.room!, [], undefined, [event]);
|
492
|
+
} else {
|
493
|
+
// The code will want to be something like:
|
494
|
+
// ```
|
495
|
+
// if (!params.addToTimeline && !params.addToState) {
|
496
|
+
// this.injectRoomEvents(this.room!, [], [event]);
|
497
|
+
// } else {
|
498
|
+
// this.injectRoomEvents(this.room!, params.addToState ? [event] : [], params.addToTimeline ? [event] : []);
|
499
|
+
// }
|
500
|
+
// ```
|
501
|
+
await this.syncApi!.injectRoomEvents(this.room!, [], [event]); // Sliding Sync
|
502
|
+
}
|
571
503
|
this.emit(ClientEvent.Event, event);
|
572
504
|
this.setSyncState(SyncState.Syncing);
|
573
505
|
logger.info(`Received event ${event.getId()} ${event.getType()} ${event.getStateKey()}`);
|
@@ -587,39 +519,11 @@ export class RoomWidgetClient extends MatrixClient {
|
|
587
519
|
sender: ev.detail.data.sender,
|
588
520
|
content: ev.detail.data.content as IContent,
|
589
521
|
});
|
590
|
-
// Mark the event as encrypted if it was, using fake contents and keys since those are unknown to us
|
591
|
-
if (ev.detail.data.encrypted) event.makeEncrypted(EventType.RoomMessageEncrypted, {}, "", "");
|
592
522
|
|
593
523
|
this.emit(ClientEvent.ToDeviceEvent, event);
|
594
524
|
this.setSyncState(SyncState.Syncing);
|
595
525
|
await this.ack(ev);
|
596
526
|
};
|
597
|
-
|
598
|
-
private async watchTurnServers(): Promise<void> {
|
599
|
-
const servers = this.widgetApi.getTurnServers();
|
600
|
-
const onClientStopped = (): void => {
|
601
|
-
servers.return(undefined);
|
602
|
-
};
|
603
|
-
this.lifecycle!.signal.addEventListener("abort", onClientStopped);
|
604
|
-
|
605
|
-
try {
|
606
|
-
for await (const server of servers) {
|
607
|
-
this.turnServers = [
|
608
|
-
{
|
609
|
-
urls: server.uris,
|
610
|
-
username: server.username,
|
611
|
-
credential: server.password,
|
612
|
-
},
|
613
|
-
];
|
614
|
-
this.emit(ClientEvent.TurnServers, this.turnServers);
|
615
|
-
logger.log(`Received TURN server: ${server.uris}`);
|
616
|
-
}
|
617
|
-
} catch (e) {
|
618
|
-
logger.warn("Error watching TURN servers", e);
|
619
|
-
} finally {
|
620
|
-
this.lifecycle!.signal.removeEventListener("abort", onClientStopped);
|
621
|
-
}
|
622
|
-
}
|
623
527
|
}
|
624
528
|
|
625
529
|
function processAndThrow(error: unknown): never {
|
package/src/event-mapper.ts
CHANGED
@@ -31,7 +31,6 @@ export interface MapperOpts {
|
|
31
31
|
|
32
32
|
export function eventMapperFor(client: MatrixClient, options: MapperOpts): EventMapper {
|
33
33
|
let preventReEmit = Boolean(options.preventReEmit);
|
34
|
-
const decrypt = options.decrypt !== false;
|
35
34
|
|
36
35
|
function mapper(plainOldJsObject: Partial<IEvent>): MatrixEvent {
|
37
36
|
if (options.toDevice) {
|
@@ -81,9 +80,6 @@ export function eventMapperFor(client: MatrixClient, options: MapperOpts): Event
|
|
81
80
|
if (!preventReEmit) {
|
82
81
|
client.reEmitter.reEmit(event, [MatrixEventEvent.Decrypted]);
|
83
82
|
}
|
84
|
-
if (decrypt) {
|
85
|
-
client.decryptEventIfNeeded(event);
|
86
|
-
}
|
87
83
|
}
|
88
84
|
|
89
85
|
if (!preventReEmit) {
|
package/src/matrix.ts
CHANGED
@@ -16,12 +16,10 @@ limitations under the License.
|
|
16
16
|
|
17
17
|
import { WidgetApi } from "matrix-widget-api";
|
18
18
|
|
19
|
-
import { MemoryCryptoStore } from "./crypto/store/memory-crypto-store.ts";
|
20
19
|
import { MemoryStore } from "./store/memory.ts";
|
21
20
|
import { MatrixScheduler } from "./scheduler.ts";
|
22
21
|
import { MatrixClient, ICreateClientOpts } from "./client.ts";
|
23
22
|
import { RoomWidgetClient, ICapabilities } from "./embedded.ts";
|
24
|
-
import { CryptoStore } from "./crypto/store/base.ts";
|
25
23
|
|
26
24
|
export * from "./client.ts";
|
27
25
|
export * from "./serverCapabilities.ts";
|
@@ -52,10 +50,6 @@ export * from "./interactive-auth.ts";
|
|
52
50
|
export * from "./service-types.ts";
|
53
51
|
export * from "./store/memory.ts";
|
54
52
|
export * from "./store/indexeddb.ts";
|
55
|
-
export * from "./crypto/store/memory-crypto-store.ts";
|
56
|
-
export * from "./crypto/store/localStorage-crypto-store.ts";
|
57
|
-
export * from "./crypto/store/indexeddb-crypto-store.ts";
|
58
|
-
export type { OutgoingRoomKeyRequest } from "./crypto/store/base.ts";
|
59
53
|
export * from "./content-repo.ts";
|
60
54
|
export type * from "./@types/common.ts";
|
61
55
|
export type * from "./@types/uia.ts";
|
@@ -73,7 +67,6 @@ export * from "./@types/polls.ts";
|
|
73
67
|
export type * from "./@types/local_notifications.ts";
|
74
68
|
export type * from "./@types/registration.ts";
|
75
69
|
export * from "./@types/read_receipts.ts";
|
76
|
-
export type * from "./@types/crypto.ts";
|
77
70
|
export * from "./@types/extensible_events.ts";
|
78
71
|
export type * from "./@types/IIdentityServerProvider.ts";
|
79
72
|
export * from "./@types/membership.ts";
|
@@ -81,29 +74,10 @@ export * from "./models/room-summary.ts";
|
|
81
74
|
export * from "./models/event-status.ts";
|
82
75
|
export type { RoomSummary } from "./client.ts";
|
83
76
|
export * as ContentHelpers from "./content-helpers.ts";
|
84
|
-
export * as SecretStorage from "./secret-storage.ts";
|
85
|
-
export type { ICryptoCallbacks } from "./crypto/index.ts"; // used to be located here
|
86
|
-
export { createNewMatrixCall, CallEvent } from "./webrtc/call.ts";
|
87
|
-
export type { MatrixCall } from "./webrtc/call.ts";
|
88
|
-
export {
|
89
|
-
GroupCall,
|
90
|
-
GroupCallEvent,
|
91
|
-
GroupCallIntent,
|
92
|
-
GroupCallState,
|
93
|
-
GroupCallType,
|
94
|
-
GroupCallStatsReportEvent,
|
95
|
-
} from "./webrtc/groupCall.ts";
|
96
77
|
|
97
|
-
export {
|
98
|
-
/** @deprecated Use {@link Crypto.CryptoEvent} instead */
|
99
|
-
CryptoEvent,
|
100
|
-
} from "./crypto/index.ts";
|
101
78
|
export { SyncState, SetPresence } from "./sync.ts";
|
102
79
|
export type { ISyncStateData as SyncStateData } from "./sync.ts";
|
103
80
|
export { SlidingSyncEvent } from "./sliding-sync.ts";
|
104
|
-
export { MediaHandlerEvent } from "./webrtc/mediaHandler.ts";
|
105
|
-
export { CallFeedEvent } from "./webrtc/callFeed.ts";
|
106
|
-
export { StatsReport } from "./webrtc/stats/statsReport.ts";
|
107
81
|
export { Relations, RelationsEvent } from "./models/relations.ts";
|
108
82
|
export { TypedEventEmitter } from "./models/typed-event-emitter.ts";
|
109
83
|
export { LocalStorageErrors } from "./store/local-storage-events-emitter.ts";
|
@@ -112,20 +86,6 @@ export type { ISSOFlow as SSOFlow, LoginFlow } from "./@types/auth.ts";
|
|
112
86
|
export type { IHierarchyRelation as HierarchyRelation, IHierarchyRoom as HierarchyRoom } from "./@types/spaces.ts";
|
113
87
|
export { LocationAssetType } from "./@types/location.ts";
|
114
88
|
|
115
|
-
/** @deprecated Backwards-compatibility re-export. Import from `crypto-api` directly. */
|
116
|
-
export * as Crypto from "./crypto-api/index.ts";
|
117
|
-
|
118
|
-
let cryptoStoreFactory = (): CryptoStore => new MemoryCryptoStore();
|
119
|
-
|
120
|
-
/**
|
121
|
-
* Configure a different factory to be used for creating crypto stores
|
122
|
-
*
|
123
|
-
* @param fac - a function which will return a new `CryptoStore`
|
124
|
-
*/
|
125
|
-
export function setCryptoStoreFactory(fac: () => CryptoStore): void {
|
126
|
-
cryptoStoreFactory = fac;
|
127
|
-
}
|
128
|
-
|
129
89
|
function amendClientOpts(opts: ICreateClientOpts): ICreateClientOpts {
|
130
90
|
opts.store =
|
131
91
|
opts.store ??
|
@@ -133,7 +93,6 @@ function amendClientOpts(opts: ICreateClientOpts): ICreateClientOpts {
|
|
133
93
|
localStorage: globalThis.localStorage,
|
134
94
|
});
|
135
95
|
opts.scheduler = opts.scheduler ?? new MatrixScheduler();
|
136
|
-
opts.cryptoStore = opts.cryptoStore ?? cryptoStoreFactory();
|
137
96
|
|
138
97
|
return opts;
|
139
98
|
}
|
@@ -58,13 +58,13 @@ export interface IRoomTimelineData {
|
|
58
58
|
}
|
59
59
|
|
60
60
|
export interface IAddEventToTimelineOptions
|
61
|
-
extends Pick<IAddEventOptions, "toStartOfTimeline" | "roomState" | "timelineWasEmpty"> {
|
61
|
+
extends Pick<IAddEventOptions, "toStartOfTimeline" | "roomState" | "timelineWasEmpty" | "addToState"> {
|
62
62
|
/** Whether the sync response came from cache */
|
63
63
|
fromCache?: boolean;
|
64
64
|
}
|
65
65
|
|
66
66
|
export interface IAddLiveEventOptions
|
67
|
-
extends Pick<IAddEventToTimelineOptions, "fromCache" | "roomState" | "timelineWasEmpty"> {
|
67
|
+
extends Pick<IAddEventToTimelineOptions, "fromCache" | "roomState" | "timelineWasEmpty" | "addToState"> {
|
68
68
|
/** Applies to events in the timeline only. If this is 'replace' then if a
|
69
69
|
* duplicate is encountered, the event passed to this function will replace
|
70
70
|
* the existing event in the timeline. If this is not specified, or is
|
@@ -391,6 +391,7 @@ export class EventTimelineSet extends TypedEventEmitter<EmittedEvents, EventTime
|
|
391
391
|
public addEventsToTimeline(
|
392
392
|
events: MatrixEvent[],
|
393
393
|
toStartOfTimeline: boolean,
|
394
|
+
addToState: boolean,
|
394
395
|
timeline: EventTimeline,
|
395
396
|
paginationToken?: string | null,
|
396
397
|
): void {
|
@@ -495,6 +496,7 @@ export class EventTimelineSet extends TypedEventEmitter<EmittedEvents, EventTime
|
|
495
496
|
// we don't know about this event yet. Just add it to the timeline.
|
496
497
|
this.addEventToTimeline(event, timeline, {
|
497
498
|
toStartOfTimeline,
|
499
|
+
addToState,
|
498
500
|
});
|
499
501
|
lastEventWasNew = true;
|
500
502
|
didUpdate = true;
|
@@ -592,7 +594,7 @@ export class EventTimelineSet extends TypedEventEmitter<EmittedEvents, EventTime
|
|
592
594
|
*/
|
593
595
|
public addLiveEvent(
|
594
596
|
event: MatrixEvent,
|
595
|
-
{ duplicateStrategy, fromCache, roomState, timelineWasEmpty }: IAddLiveEventOptions
|
597
|
+
{ duplicateStrategy, fromCache, roomState, timelineWasEmpty, addToState }: IAddLiveEventOptions,
|
596
598
|
): void {
|
597
599
|
if (this.filter) {
|
598
600
|
const events = this.filter.filterRoomTimeline([event]);
|
@@ -630,6 +632,7 @@ export class EventTimelineSet extends TypedEventEmitter<EmittedEvents, EventTime
|
|
630
632
|
fromCache,
|
631
633
|
roomState,
|
632
634
|
timelineWasEmpty,
|
635
|
+
addToState
|
633
636
|
});
|
634
637
|
}
|
635
638
|
|
@@ -649,40 +652,8 @@ export class EventTimelineSet extends TypedEventEmitter<EmittedEvents, EventTime
|
|
649
652
|
public addEventToTimeline(
|
650
653
|
event: MatrixEvent,
|
651
654
|
timeline: EventTimeline,
|
652
|
-
{ toStartOfTimeline, fromCache, roomState, timelineWasEmpty }: IAddEventToTimelineOptions,
|
653
|
-
): void;
|
654
|
-
/**
|
655
|
-
* @deprecated In favor of the overload with `IAddEventToTimelineOptions`
|
656
|
-
*/
|
657
|
-
public addEventToTimeline(
|
658
|
-
event: MatrixEvent,
|
659
|
-
timeline: EventTimeline,
|
660
|
-
toStartOfTimeline: boolean,
|
661
|
-
fromCache?: boolean,
|
662
|
-
roomState?: RoomState,
|
663
|
-
): void;
|
664
|
-
public addEventToTimeline(
|
665
|
-
event: MatrixEvent,
|
666
|
-
timeline: EventTimeline,
|
667
|
-
toStartOfTimelineOrOpts: boolean | IAddEventToTimelineOptions,
|
668
|
-
fromCache = false,
|
669
|
-
roomState?: RoomState,
|
655
|
+
{ toStartOfTimeline, fromCache = false, roomState, timelineWasEmpty, addToState }: IAddEventToTimelineOptions,
|
670
656
|
): void {
|
671
|
-
let toStartOfTimeline = !!toStartOfTimelineOrOpts;
|
672
|
-
let timelineWasEmpty: boolean | undefined;
|
673
|
-
if (typeof toStartOfTimelineOrOpts === "object") {
|
674
|
-
({ toStartOfTimeline, fromCache = false, roomState, timelineWasEmpty } = toStartOfTimelineOrOpts);
|
675
|
-
} else if (toStartOfTimelineOrOpts !== undefined) {
|
676
|
-
// Deprecation warning
|
677
|
-
// FIXME: Remove after 2023-06-01 (technical debt)
|
678
|
-
logger.warn(
|
679
|
-
"Overload deprecated: " +
|
680
|
-
"`EventTimelineSet.addEventToTimeline(event, timeline, toStartOfTimeline, fromCache?, roomState?)` " +
|
681
|
-
"is deprecated in favor of the overload with " +
|
682
|
-
"`EventTimelineSet.addEventToTimeline(event, timeline, IAddEventToTimelineOptions)`",
|
683
|
-
);
|
684
|
-
}
|
685
|
-
|
686
657
|
if (timeline.getTimelineSet() !== this) {
|
687
658
|
throw new Error(`EventTimelineSet.addEventToTimeline: Timeline=${timeline.toString()} does not belong " +
|
688
659
|
"in timelineSet(threadId=${this.thread?.id})`);
|
@@ -713,6 +684,7 @@ export class EventTimelineSet extends TypedEventEmitter<EmittedEvents, EventTime
|
|
713
684
|
toStartOfTimeline,
|
714
685
|
roomState,
|
715
686
|
timelineWasEmpty,
|
687
|
+
addToState,
|
716
688
|
});
|
717
689
|
this._eventIdToTimeline.set(eventId, timeline);
|
718
690
|
|
@@ -741,7 +713,12 @@ export class EventTimelineSet extends TypedEventEmitter<EmittedEvents, EventTime
|
|
741
713
|
* @remarks
|
742
714
|
* Fires {@link RoomEvent.Timeline}
|
743
715
|
*/
|
744
|
-
public insertEventIntoTimeline(
|
716
|
+
public insertEventIntoTimeline(
|
717
|
+
event: MatrixEvent,
|
718
|
+
timeline: EventTimeline,
|
719
|
+
roomState: RoomState,
|
720
|
+
addToState: boolean,
|
721
|
+
): void {
|
745
722
|
if (timeline.getTimelineSet() !== this) {
|
746
723
|
throw new Error(`EventTimelineSet.insertEventIntoTimeline: Timeline=${timeline.toString()} does not belong " +
|
747
724
|
"in timelineSet(threadId=${this.thread?.id})`);
|
@@ -777,6 +754,7 @@ export class EventTimelineSet extends TypedEventEmitter<EmittedEvents, EventTime
|
|
777
754
|
fromCache: false,
|
778
755
|
timelineWasEmpty: false,
|
779
756
|
roomState,
|
757
|
+
addToState,
|
780
758
|
});
|
781
759
|
return;
|
782
760
|
}
|
@@ -799,7 +777,7 @@ export class EventTimelineSet extends TypedEventEmitter<EmittedEvents, EventTime
|
|
799
777
|
// If we got to the end of the loop, insertIndex points at the end of
|
800
778
|
// the list.
|
801
779
|
|
802
|
-
timeline.insertEvent(event, insertIndex, roomState);
|
780
|
+
timeline.insertEvent(event, insertIndex, roomState, addToState);
|
803
781
|
this._eventIdToTimeline.set(eventId, timeline);
|
804
782
|
|
805
783
|
const data: IRoomTimelineData = {
|
@@ -832,6 +810,7 @@ export class EventTimelineSet extends TypedEventEmitter<EmittedEvents, EventTime
|
|
832
810
|
} else if (!this.filter || this.filter.filterRoomTimeline([localEvent]).length) {
|
833
811
|
this.addEventToTimeline(localEvent, this.liveTimeline, {
|
834
812
|
toStartOfTimeline: false,
|
813
|
+
addToState: false,
|
835
814
|
});
|
836
815
|
}
|
837
816
|
}
|
@@ -35,6 +35,11 @@ export interface IAddEventOptions extends Pick<IMarkerFoundOptions, "timelineWas
|
|
35
35
|
toStartOfTimeline: boolean;
|
36
36
|
/** The state events to reconcile metadata from */
|
37
37
|
roomState?: RoomState;
|
38
|
+
/** Whether to add timeline events to the state as was done in legacy sync v2.
|
39
|
+
* If true then timeline events will be added to the state.
|
40
|
+
* In sync v2 with org.matrix.msc4222.use_state_after and simplified sliding sync,
|
41
|
+
* all state arrives explicitly and timeline events should not be added. */
|
42
|
+
addToState: boolean;
|
38
43
|
}
|
39
44
|
|
40
45
|
export enum Direction {
|
@@ -127,7 +132,7 @@ export class EventTimeline {
|
|
127
132
|
public constructor(private readonly eventTimelineSet: EventTimelineSet) {
|
128
133
|
this.roomId = eventTimelineSet.room?.roomId ?? null;
|
129
134
|
if (this.roomId) {
|
130
|
-
this.startState = new RoomState(this.roomId
|
135
|
+
this.startState = new RoomState(this.roomId);
|
131
136
|
this.endState = new RoomState(this.roomId);
|
132
137
|
}
|
133
138
|
|
@@ -362,7 +367,7 @@ export class EventTimeline {
|
|
362
367
|
*/
|
363
368
|
public addEvent(
|
364
369
|
event: MatrixEvent,
|
365
|
-
{ toStartOfTimeline, roomState, timelineWasEmpty }: IAddEventOptions
|
370
|
+
{ toStartOfTimeline, roomState, timelineWasEmpty, addToState }: IAddEventOptions,
|
366
371
|
): void {
|
367
372
|
if (!roomState) {
|
368
373
|
roomState = toStartOfTimeline ? this.startState : this.endState;
|
@@ -374,7 +379,7 @@ export class EventTimeline {
|
|
374
379
|
EventTimeline.setEventMetadata(event, roomState!, toStartOfTimeline);
|
375
380
|
|
376
381
|
// modify state but only on unfiltered timelineSets
|
377
|
-
if (event.isState() && timelineSet.room.getUnfilteredTimelineSet() === timelineSet) {
|
382
|
+
if (addToState && event.isState() && timelineSet.room.getUnfilteredTimelineSet() === timelineSet) {
|
378
383
|
roomState?.setStateEvents([event], { timelineWasEmpty });
|
379
384
|
// it is possible that the act of setting the state event means we
|
380
385
|
// can set more metadata (specifically sender/target props), so try
|
@@ -417,14 +422,14 @@ export class EventTimeline {
|
|
417
422
|
*
|
418
423
|
* @internal
|
419
424
|
*/
|
420
|
-
public insertEvent(event: MatrixEvent, insertIndex: number, roomState: RoomState): void {
|
425
|
+
public insertEvent(event: MatrixEvent, insertIndex: number, roomState: RoomState, addToState: boolean): void {
|
421
426
|
const timelineSet = this.getTimelineSet();
|
422
427
|
|
423
428
|
if (timelineSet.room) {
|
424
429
|
EventTimeline.setEventMetadata(event, roomState, false);
|
425
430
|
|
426
431
|
// modify state but only on unfiltered timelineSets
|
427
|
-
if (event.isState() && timelineSet.room.getUnfilteredTimelineSet() === timelineSet) {
|
432
|
+
if (addToState && event.isState() && timelineSet.room.getUnfilteredTimelineSet() === timelineSet) {
|
428
433
|
roomState.setStateEvents([event], {});
|
429
434
|
// it is possible that the act of setting the state event means we
|
430
435
|
// can set more metadata (specifically sender/target props), so try
|