@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/sync.ts
CHANGED
@@ -25,7 +25,6 @@ limitations under the License.
|
|
25
25
|
|
26
26
|
import { Optional } from "matrix-events-sdk";
|
27
27
|
|
28
|
-
import type { SyncCryptoCallbacks } from "./common-crypto/CryptoBackend.ts";
|
29
28
|
import { User } from "./models/user.ts";
|
30
29
|
import { NotificationCountType, Room, RoomEvent } from "./models/room.ts";
|
31
30
|
import { deepCopy, defer, IDeferred, noUnsafeEventProps, promiseMapSeries, unsafeProp } from "./utils.ts";
|
@@ -59,7 +58,6 @@ import { BeaconEvent } from "./models/beacon.ts";
|
|
59
58
|
import { IEventsResponse } from "./@types/requests.ts";
|
60
59
|
import { UNREAD_THREAD_NOTIFICATIONS } from "./@types/sync.ts";
|
61
60
|
import { Feature, ServerSupport } from "./feature.ts";
|
62
|
-
import { Crypto } from "./crypto/index.ts";
|
63
61
|
import { KnownMembership } from "./@types/membership.ts";
|
64
62
|
|
65
63
|
const DEBUG = true;
|
@@ -116,18 +114,6 @@ function debuglog(...params: any[]): void {
|
|
116
114
|
* Options passed into the constructor of SyncApi by MatrixClient
|
117
115
|
*/
|
118
116
|
export interface SyncApiOptions {
|
119
|
-
/**
|
120
|
-
* Crypto manager
|
121
|
-
*
|
122
|
-
* @deprecated in favour of cryptoCallbacks
|
123
|
-
*/
|
124
|
-
crypto?: Crypto;
|
125
|
-
|
126
|
-
/**
|
127
|
-
* If crypto is enabled on our client, callbacks into the crypto module
|
128
|
-
*/
|
129
|
-
cryptoCallbacks?: SyncCryptoCallbacks;
|
130
|
-
|
131
117
|
/**
|
132
118
|
* A function which is called
|
133
119
|
* with a room ID and returns a boolean. It should return 'true' if the SDK can
|
@@ -175,14 +161,15 @@ export enum SetPresence {
|
|
175
161
|
}
|
176
162
|
|
177
163
|
interface ISyncParams {
|
178
|
-
filter?: string;
|
179
|
-
timeout: number;
|
180
|
-
since?: string;
|
164
|
+
"filter"?: string;
|
165
|
+
"timeout": number;
|
166
|
+
"since"?: string;
|
181
167
|
// eslint-disable-next-line camelcase
|
182
|
-
full_state?: boolean;
|
168
|
+
"full_state"?: boolean;
|
183
169
|
// eslint-disable-next-line camelcase
|
184
|
-
set_presence?: SetPresence;
|
185
|
-
_cacheBuster?: string | number; // not part of the API itself
|
170
|
+
"set_presence"?: SetPresence;
|
171
|
+
"_cacheBuster"?: string | number; // not part of the API itself
|
172
|
+
"org.matrix.msc4222.use_state_after"?: boolean; // https://github.com/matrix-org/matrix-spec-proposals/pull/4222
|
186
173
|
}
|
187
174
|
|
188
175
|
type WrappedRoom<T> = T & {
|
@@ -344,8 +331,9 @@ export class SyncApi {
|
|
344
331
|
);
|
345
332
|
|
346
333
|
const qps: ISyncParams = {
|
347
|
-
timeout: 0, // don't want to block since this is a single isolated req
|
348
|
-
filter: filterId,
|
334
|
+
"timeout": 0, // don't want to block since this is a single isolated req
|
335
|
+
"filter": filterId,
|
336
|
+
"org.matrix.msc4222.use_state_after": true,
|
349
337
|
};
|
350
338
|
|
351
339
|
const data = await client.http.authedRequest<ISyncResponse>(Method.Get, "/sync", qps as any, undefined, {
|
@@ -375,21 +363,17 @@ export class SyncApi {
|
|
375
363
|
prev_batch: null,
|
376
364
|
events: [],
|
377
365
|
};
|
378
|
-
const events = this.mapSyncEventsFormat(leaveObj.timeline, room);
|
379
|
-
|
380
|
-
const stateEvents = this.mapSyncEventsFormat(leaveObj.state, room);
|
381
|
-
|
382
366
|
// set the back-pagination token. Do this *before* adding any
|
383
367
|
// events so that clients can start back-paginating.
|
384
368
|
room.getLiveTimeline().setPaginationToken(leaveObj.timeline.prev_batch, EventTimeline.BACKWARDS);
|
385
369
|
|
386
|
-
await this.
|
370
|
+
const { timelineEvents } = await this.mapAndInjectRoomEvents(leaveObj);
|
387
371
|
|
388
372
|
room.recalculate();
|
389
373
|
client.store.storeRoom(room);
|
390
374
|
client.emit(ClientEvent.Room, room);
|
391
375
|
|
392
|
-
this.processEventsForNotifs(room,
|
376
|
+
this.processEventsForNotifs(room, timelineEvents);
|
393
377
|
return room;
|
394
378
|
}),
|
395
379
|
);
|
@@ -464,6 +448,7 @@ export class SyncApi {
|
|
464
448
|
this._peekRoom.addEventsToTimeline(
|
465
449
|
messages.reverse(),
|
466
450
|
true,
|
451
|
+
true,
|
467
452
|
this._peekRoom.getLiveTimeline(),
|
468
453
|
response.messages.start,
|
469
454
|
);
|
@@ -551,7 +536,7 @@ export class SyncApi {
|
|
551
536
|
})
|
552
537
|
.map(this.client.getEventMapper());
|
553
538
|
|
554
|
-
await peekRoom.addLiveEvents(events);
|
539
|
+
await peekRoom.addLiveEvents(events, { addToState: true });
|
555
540
|
this.peekPoll(peekRoom, res.end);
|
556
541
|
},
|
557
542
|
(err) => {
|
@@ -642,9 +627,6 @@ export class SyncApi {
|
|
642
627
|
}
|
643
628
|
this.opts.filter.setLazyLoadMembers(true);
|
644
629
|
}
|
645
|
-
if (this.opts.lazyLoadMembers) {
|
646
|
-
this.syncOpts.crypto?.enableLazyLoading();
|
647
|
-
}
|
648
630
|
};
|
649
631
|
|
650
632
|
private storeClientOptions = async (): Promise<void> => {
|
@@ -880,12 +862,6 @@ export class SyncApi {
|
|
880
862
|
catchingUp: this.catchingUp,
|
881
863
|
};
|
882
864
|
|
883
|
-
if (this.syncOpts.crypto) {
|
884
|
-
// tell the crypto module we're about to process a sync
|
885
|
-
// response
|
886
|
-
await this.syncOpts.crypto.onSyncWillProcess(syncEventData);
|
887
|
-
}
|
888
|
-
|
889
865
|
try {
|
890
866
|
await this.processSyncResponse(syncEventData, data);
|
891
867
|
} catch (e) {
|
@@ -910,25 +886,10 @@ export class SyncApi {
|
|
910
886
|
syncOptions.hasSyncedBefore = true;
|
911
887
|
}
|
912
888
|
|
913
|
-
// tell the crypto module to do its processing. It may block (to do a
|
914
|
-
// /keys/changes request).
|
915
|
-
if (this.syncOpts.cryptoCallbacks) {
|
916
|
-
await this.syncOpts.cryptoCallbacks.onSyncCompleted(syncEventData);
|
917
|
-
}
|
918
|
-
|
919
889
|
// keep emitting SYNCING -> SYNCING for clients who want to do bulk updates
|
920
890
|
this.updateSyncState(SyncState.Syncing, syncEventData);
|
921
891
|
|
922
892
|
if (this.client.store.wantsSave()) {
|
923
|
-
// We always save the device list (if it's dirty) before saving the sync data:
|
924
|
-
// this means we know the saved device list data is at least as fresh as the
|
925
|
-
// stored sync data which means we don't have to worry that we may have missed
|
926
|
-
// device changes. We can also skip the delay since we're not calling this very
|
927
|
-
// frequently (and we don't really want to delay the sync for it).
|
928
|
-
if (this.syncOpts.crypto) {
|
929
|
-
await this.syncOpts.crypto.saveDeviceList(0);
|
930
|
-
}
|
931
|
-
|
932
893
|
// tell databases that everything is now in a consistent state and can be saved.
|
933
894
|
await this.client.store.save();
|
934
895
|
}
|
@@ -976,7 +937,11 @@ export class SyncApi {
|
|
976
937
|
filter = this.getGuestFilter();
|
977
938
|
}
|
978
939
|
|
979
|
-
const qps: ISyncParams = {
|
940
|
+
const qps: ISyncParams = {
|
941
|
+
filter,
|
942
|
+
timeout,
|
943
|
+
"org.matrix.msc4222.use_state_after": true,
|
944
|
+
};
|
980
945
|
|
981
946
|
if (this.opts.disablePresence) {
|
982
947
|
qps.set_presence = SetPresence.Offline;
|
@@ -1160,11 +1125,7 @@ export class SyncApi {
|
|
1160
1125
|
|
1161
1126
|
// handle to-device events
|
1162
1127
|
if (data.to_device && Array.isArray(data.to_device.events) && data.to_device.events.length > 0) {
|
1163
|
-
|
1164
|
-
|
1165
|
-
if (this.syncOpts.cryptoCallbacks) {
|
1166
|
-
toDeviceMessages = await this.syncOpts.cryptoCallbacks.preprocessToDeviceMessages(toDeviceMessages);
|
1167
|
-
}
|
1128
|
+
const toDeviceMessages: IToDeviceEvent[] = data.to_device.events.filter(noUnsafeEventProps);
|
1168
1129
|
|
1169
1130
|
const cancelledKeyVerificationTxns: string[] = [];
|
1170
1131
|
toDeviceMessages
|
@@ -1242,28 +1203,7 @@ export class SyncApi {
|
|
1242
1203
|
const room = inviteObj.room;
|
1243
1204
|
const stateEvents = this.mapSyncEventsFormat(inviteObj.invite_state, room);
|
1244
1205
|
|
1245
|
-
await this.injectRoomEvents(room, stateEvents);
|
1246
|
-
|
1247
|
-
const inviter = room.currentState.getStateEvents(EventType.RoomMember, client.getUserId()!)?.getSender();
|
1248
|
-
|
1249
|
-
const crypto = client.crypto;
|
1250
|
-
if (crypto) {
|
1251
|
-
const parkedHistory = await crypto.cryptoStore.takeParkedSharedHistory(room.roomId);
|
1252
|
-
for (const parked of parkedHistory) {
|
1253
|
-
if (parked.senderId === inviter) {
|
1254
|
-
await crypto.olmDevice.addInboundGroupSession(
|
1255
|
-
room.roomId,
|
1256
|
-
parked.senderKey,
|
1257
|
-
parked.forwardingCurve25519KeyChain,
|
1258
|
-
parked.sessionId,
|
1259
|
-
parked.sessionKey,
|
1260
|
-
parked.keysClaimed,
|
1261
|
-
true,
|
1262
|
-
{ sharedHistory: true, untrusted: true },
|
1263
|
-
);
|
1264
|
-
}
|
1265
|
-
}
|
1266
|
-
}
|
1206
|
+
await this.injectRoomEvents(room, stateEvents, undefined);
|
1267
1207
|
|
1268
1208
|
if (inviteObj.isBrandNewRoom) {
|
1269
1209
|
room.recalculate();
|
@@ -1282,15 +1222,24 @@ export class SyncApi {
|
|
1282
1222
|
await promiseMapSeries(joinRooms, async (joinObj) => {
|
1283
1223
|
const room = joinObj.room;
|
1284
1224
|
const stateEvents = this.mapSyncEventsFormat(joinObj.state, room);
|
1225
|
+
const stateAfterEvents = this.mapSyncEventsFormat(joinObj["org.matrix.msc4222.state_after"], room);
|
1285
1226
|
// Prevent events from being decrypted ahead of time
|
1286
1227
|
// this helps large account to speed up faster
|
1287
1228
|
// room::decryptCriticalEvent is in charge of decrypting all the events
|
1288
1229
|
// required for a client to function properly
|
1289
|
-
const
|
1230
|
+
const timelineEvents = this.mapSyncEventsFormat(joinObj.timeline, room, false);
|
1290
1231
|
const ephemeralEvents = this.mapSyncEventsFormat(joinObj.ephemeral);
|
1291
1232
|
const accountDataEvents = this.mapSyncEventsFormat(joinObj.account_data);
|
1292
1233
|
|
1293
|
-
|
1234
|
+
// If state_after is present, this is the events that form the state at the end of the timeline block and
|
1235
|
+
// regular timeline events do *not* count towards state. If it's not present, then the state is formed by
|
1236
|
+
// the state events plus the timeline events. Note mapSyncEventsFormat returns an empty array if the field
|
1237
|
+
// is absent so we explicitly check the field on the original object.
|
1238
|
+
const eventsFormingFinalState = joinObj["org.matrix.msc4222.state_after"]
|
1239
|
+
? stateAfterEvents
|
1240
|
+
: stateEvents.concat(timelineEvents);
|
1241
|
+
|
1242
|
+
const encrypted = this.isRoomEncrypted(room, eventsFormingFinalState);
|
1294
1243
|
// We store the server-provided value first so it's correct when any of the events fire.
|
1295
1244
|
if (joinObj.unread_notifications) {
|
1296
1245
|
/**
|
@@ -1378,8 +1327,8 @@ export class SyncApi {
|
|
1378
1327
|
// which we'll try to paginate but not get any new events (which
|
1379
1328
|
// will stop us linking the empty timeline into the chain).
|
1380
1329
|
//
|
1381
|
-
for (let i =
|
1382
|
-
const eventId =
|
1330
|
+
for (let i = timelineEvents.length - 1; i >= 0; i--) {
|
1331
|
+
const eventId = timelineEvents[i].getId()!;
|
1383
1332
|
if (room.getTimelineForEvent(eventId)) {
|
1384
1333
|
debuglog(`Already have event ${eventId} in limited sync - not resetting`);
|
1385
1334
|
limited = false;
|
@@ -1387,7 +1336,7 @@ export class SyncApi {
|
|
1387
1336
|
// we might still be missing some of the events before i;
|
1388
1337
|
// we don't want to be adding them to the end of the
|
1389
1338
|
// timeline because that would put them out of order.
|
1390
|
-
|
1339
|
+
timelineEvents.splice(0, i);
|
1391
1340
|
|
1392
1341
|
// XXX: there's a problem here if the skipped part of the
|
1393
1342
|
// timeline modifies the state set in stateEvents, because
|
@@ -1415,20 +1364,18 @@ export class SyncApi {
|
|
1415
1364
|
}
|
1416
1365
|
}
|
1417
1366
|
|
1418
|
-
// process any crypto events *before* emitting the RoomStateEvent events. This
|
1419
|
-
// avoids a race condition if the application tries to send a message after the
|
1420
|
-
// state event is processed, but before crypto is enabled, which then causes the
|
1421
|
-
// crypto layer to complain.
|
1422
|
-
if (this.syncOpts.cryptoCallbacks) {
|
1423
|
-
for (const e of stateEvents.concat(events)) {
|
1424
|
-
if (e.isState() && e.getType() === EventType.RoomEncryption && e.getStateKey() === "") {
|
1425
|
-
await this.syncOpts.cryptoCallbacks.onCryptoEvent(room, e);
|
1426
|
-
}
|
1427
|
-
}
|
1428
|
-
}
|
1429
|
-
|
1430
1367
|
try {
|
1431
|
-
|
1368
|
+
if ("org.matrix.msc4222.state_after" in joinObj) {
|
1369
|
+
await this.injectRoomEvents(
|
1370
|
+
room,
|
1371
|
+
undefined,
|
1372
|
+
stateAfterEvents,
|
1373
|
+
timelineEvents,
|
1374
|
+
syncEventData.fromCache,
|
1375
|
+
);
|
1376
|
+
} else {
|
1377
|
+
await this.injectRoomEvents(room, stateEvents, undefined, timelineEvents, syncEventData.fromCache);
|
1378
|
+
}
|
1432
1379
|
} catch (e) {
|
1433
1380
|
logger.error(`Failed to process events on room ${room.roomId}:`, e);
|
1434
1381
|
}
|
@@ -1452,28 +1399,21 @@ export class SyncApi {
|
|
1452
1399
|
client.emit(ClientEvent.Room, room);
|
1453
1400
|
}
|
1454
1401
|
|
1455
|
-
this.processEventsForNotifs(room,
|
1402
|
+
this.processEventsForNotifs(room, timelineEvents);
|
1456
1403
|
|
1457
1404
|
const emitEvent = (e: MatrixEvent): boolean => client.emit(ClientEvent.Event, e);
|
1458
1405
|
stateEvents.forEach(emitEvent);
|
1459
|
-
|
1406
|
+
timelineEvents.forEach(emitEvent);
|
1460
1407
|
ephemeralEvents.forEach(emitEvent);
|
1461
1408
|
accountDataEvents.forEach(emitEvent);
|
1462
|
-
|
1463
|
-
// Decrypt only the last message in all rooms to make sure we can generate a preview
|
1464
|
-
// And decrypt all events after the recorded read receipt to ensure an accurate
|
1465
|
-
// notification count
|
1466
|
-
room.decryptCriticalEvents();
|
1467
1409
|
});
|
1468
1410
|
|
1469
1411
|
// Handle leaves (e.g. kicked rooms)
|
1470
1412
|
await promiseMapSeries(leaveRooms, async (leaveObj) => {
|
1471
1413
|
const room = leaveObj.room;
|
1472
|
-
const stateEvents = this.
|
1473
|
-
const events = this.mapSyncEventsFormat(leaveObj.timeline, room);
|
1414
|
+
const { timelineEvents, stateEvents, stateAfterEvents } = await this.mapAndInjectRoomEvents(leaveObj);
|
1474
1415
|
const accountDataEvents = this.mapSyncEventsFormat(leaveObj.account_data);
|
1475
1416
|
|
1476
|
-
await this.injectRoomEvents(room, stateEvents, events);
|
1477
1417
|
room.addAccountData(accountDataEvents);
|
1478
1418
|
|
1479
1419
|
room.recalculate();
|
@@ -1482,12 +1422,15 @@ export class SyncApi {
|
|
1482
1422
|
client.emit(ClientEvent.Room, room);
|
1483
1423
|
}
|
1484
1424
|
|
1485
|
-
this.processEventsForNotifs(room,
|
1425
|
+
this.processEventsForNotifs(room, timelineEvents);
|
1486
1426
|
|
1487
|
-
stateEvents
|
1427
|
+
stateEvents?.forEach(function (e) {
|
1488
1428
|
client.emit(ClientEvent.Event, e);
|
1489
1429
|
});
|
1490
|
-
|
1430
|
+
stateAfterEvents?.forEach(function (e) {
|
1431
|
+
client.emit(ClientEvent.Event, e);
|
1432
|
+
});
|
1433
|
+
timelineEvents.forEach(function (e) {
|
1491
1434
|
client.emit(ClientEvent.Event, e);
|
1492
1435
|
});
|
1493
1436
|
accountDataEvents.forEach(function (e) {
|
@@ -1500,7 +1443,7 @@ export class SyncApi {
|
|
1500
1443
|
const room = knockObj.room;
|
1501
1444
|
const stateEvents = this.mapSyncEventsFormat(knockObj.knock_state, room);
|
1502
1445
|
|
1503
|
-
await this.injectRoomEvents(room, stateEvents);
|
1446
|
+
await this.injectRoomEvents(room, stateEvents, undefined);
|
1504
1447
|
|
1505
1448
|
if (knockObj.isBrandNewRoom) {
|
1506
1449
|
room.recalculate();
|
@@ -1525,26 +1468,9 @@ export class SyncApi {
|
|
1525
1468
|
return a.getTs() - b.getTs();
|
1526
1469
|
});
|
1527
1470
|
this.notifEvents.forEach(function (event) {
|
1528
|
-
client.getNotifTimelineSet()?.addLiveEvent(event);
|
1471
|
+
client.getNotifTimelineSet()?.addLiveEvent(event, { addToState: true });
|
1529
1472
|
});
|
1530
1473
|
}
|
1531
|
-
|
1532
|
-
// Handle device list updates
|
1533
|
-
if (data.device_lists) {
|
1534
|
-
if (this.syncOpts.cryptoCallbacks) {
|
1535
|
-
await this.syncOpts.cryptoCallbacks.processDeviceLists(data.device_lists);
|
1536
|
-
} else {
|
1537
|
-
// FIXME if we *don't* have a crypto module, we still need to
|
1538
|
-
// invalidate the device lists. But that would require a
|
1539
|
-
// substantial bit of rework :/.
|
1540
|
-
}
|
1541
|
-
}
|
1542
|
-
|
1543
|
-
// Handle one_time_keys_count and unused fallback keys
|
1544
|
-
await this.syncOpts.cryptoCallbacks?.processKeyCounts(
|
1545
|
-
data.device_one_time_keys_count,
|
1546
|
-
data.device_unused_fallback_key_types ?? data["org.matrix.msc2732.device_unused_fallback_key_types"],
|
1547
|
-
);
|
1548
1474
|
}
|
1549
1475
|
|
1550
1476
|
/**
|
@@ -1669,7 +1595,7 @@ export class SyncApi {
|
|
1669
1595
|
}
|
1670
1596
|
|
1671
1597
|
private mapSyncEventsFormat(
|
1672
|
-
obj: IInviteState | ITimeline | IEphemeral,
|
1598
|
+
obj: IInviteState | ITimeline | IEphemeral | undefined,
|
1673
1599
|
room?: Room,
|
1674
1600
|
decrypt = true,
|
1675
1601
|
): MatrixEvent[] {
|
@@ -1737,28 +1663,69 @@ export class SyncApi {
|
|
1737
1663
|
|
1738
1664
|
// When processing the sync response we cannot rely on Room.hasEncryptionStateEvent we actually
|
1739
1665
|
// inject the events into the room object, so we have to inspect the events themselves.
|
1740
|
-
private isRoomEncrypted(room: Room,
|
1741
|
-
return (
|
1742
|
-
|
1743
|
-
|
1744
|
-
|
1666
|
+
private isRoomEncrypted(room: Room, eventsFormingFinalState: MatrixEvent[]): boolean {
|
1667
|
+
return room.hasEncryptionStateEvent() || !!this.findEncryptionEvent(eventsFormingFinalState);
|
1668
|
+
}
|
1669
|
+
|
1670
|
+
private async mapAndInjectRoomEvents(wrappedRoom: WrappedRoom<ILeftRoom>): Promise<{
|
1671
|
+
timelineEvents: MatrixEvent[];
|
1672
|
+
stateEvents?: MatrixEvent[];
|
1673
|
+
stateAfterEvents?: MatrixEvent[];
|
1674
|
+
}> {
|
1675
|
+
const stateEvents = this.mapSyncEventsFormat(wrappedRoom.state, wrappedRoom.room);
|
1676
|
+
const stateAfterEvents = this.mapSyncEventsFormat(
|
1677
|
+
wrappedRoom["org.matrix.msc4222.state_after"],
|
1678
|
+
wrappedRoom.room,
|
1745
1679
|
);
|
1680
|
+
const timelineEvents = this.mapSyncEventsFormat(wrappedRoom.timeline, wrappedRoom.room);
|
1681
|
+
|
1682
|
+
if ("org.matrix.msc4222.state_after" in wrappedRoom) {
|
1683
|
+
await this.injectRoomEvents(wrappedRoom.room, undefined, stateAfterEvents, timelineEvents);
|
1684
|
+
} else {
|
1685
|
+
await this.injectRoomEvents(wrappedRoom.room, stateEvents, undefined, timelineEvents);
|
1686
|
+
}
|
1687
|
+
|
1688
|
+
return { timelineEvents, stateEvents, stateAfterEvents };
|
1746
1689
|
}
|
1747
1690
|
|
1748
1691
|
/**
|
1749
1692
|
* Injects events into a room's model.
|
1750
1693
|
* @param stateEventList - A list of state events. This is the state
|
1751
1694
|
* at the *START* of the timeline list if it is supplied.
|
1695
|
+
* @param stateAfterEventList - A list of state events. This is the state
|
1696
|
+
* at the *END* of the timeline list if it is supplied.
|
1752
1697
|
* @param timelineEventList - A list of timeline events, including threaded. Lower index
|
1753
1698
|
* is earlier in time. Higher index is later.
|
1754
1699
|
* @param fromCache - whether the sync response came from cache
|
1700
|
+
*
|
1701
|
+
* No more than one of stateEventList and stateAfterEventList must be supplied. If
|
1702
|
+
* stateEventList is supplied, the events in timelineEventList are added to the state
|
1703
|
+
* after stateEventList. If stateAfterEventList is supplied, the events in timelineEventList
|
1704
|
+
* are not added to the state.
|
1755
1705
|
*/
|
1756
1706
|
public async injectRoomEvents(
|
1757
1707
|
room: Room,
|
1758
1708
|
stateEventList: MatrixEvent[],
|
1709
|
+
stateAfterEventList: undefined,
|
1710
|
+
timelineEventList?: MatrixEvent[],
|
1711
|
+
fromCache?: boolean,
|
1712
|
+
): Promise<void>;
|
1713
|
+
public async injectRoomEvents(
|
1714
|
+
room: Room,
|
1715
|
+
stateEventList: undefined,
|
1716
|
+
stateAfterEventList: MatrixEvent[],
|
1717
|
+
timelineEventList?: MatrixEvent[],
|
1718
|
+
fromCache?: boolean,
|
1719
|
+
): Promise<void>;
|
1720
|
+
public async injectRoomEvents(
|
1721
|
+
room: Room,
|
1722
|
+
stateEventList: MatrixEvent[] | undefined,
|
1723
|
+
stateAfterEventList: MatrixEvent[] | undefined,
|
1759
1724
|
timelineEventList?: MatrixEvent[],
|
1760
1725
|
fromCache = false,
|
1761
1726
|
): Promise<void> {
|
1727
|
+
const eitherStateEventList = stateAfterEventList ?? stateEventList!;
|
1728
|
+
|
1762
1729
|
// If there are no events in the timeline yet, initialise it with
|
1763
1730
|
// the given state events
|
1764
1731
|
const liveTimeline = room.getLiveTimeline();
|
@@ -1772,10 +1739,11 @@ export class SyncApi {
|
|
1772
1739
|
// push actions cache elsewhere so we can freeze MatrixEvents, or otherwise
|
1773
1740
|
// find some solution where MatrixEvents are immutable but allow for a cache
|
1774
1741
|
// field.
|
1775
|
-
|
1742
|
+
|
1743
|
+
for (const ev of eitherStateEventList) {
|
1776
1744
|
this.client.getPushActionsForEvent(ev);
|
1777
1745
|
}
|
1778
|
-
liveTimeline.initialiseState(
|
1746
|
+
liveTimeline.initialiseState(eitherStateEventList, {
|
1779
1747
|
timelineWasEmpty,
|
1780
1748
|
});
|
1781
1749
|
}
|
@@ -1807,17 +1775,18 @@ export class SyncApi {
|
|
1807
1775
|
// XXX: As above, don't do this...
|
1808
1776
|
//room.addLiveEvents(stateEventList || []);
|
1809
1777
|
// Do this instead...
|
1810
|
-
room.oldState.setStateEvents(
|
1811
|
-
room.currentState.setStateEvents(
|
1778
|
+
room.oldState.setStateEvents(eitherStateEventList);
|
1779
|
+
room.currentState.setStateEvents(eitherStateEventList);
|
1812
1780
|
}
|
1813
1781
|
|
1814
|
-
// Execute the timeline events.
|
1815
|
-
//
|
1782
|
+
// Execute the timeline events. If addToState is true the timeline has any state
|
1783
|
+
// events in it, this will continue to diverge the current state.
|
1816
1784
|
// This also needs to be done before running push rules on the events as they need
|
1817
1785
|
// to be decorated with sender etc.
|
1818
1786
|
await room.addLiveEvents(timelineEventList || [], {
|
1819
1787
|
fromCache,
|
1820
1788
|
timelineWasEmpty,
|
1789
|
+
addToState: stateAfterEventList === undefined,
|
1821
1790
|
});
|
1822
1791
|
this.client.processBeaconEvents(room, timelineEventList);
|
1823
1792
|
}
|
package/src/testing.ts
CHANGED
@@ -25,9 +25,6 @@ limitations under the License.
|
|
25
25
|
import { IContent, IEvent, IUnsigned, MatrixEvent } from "./models/event.ts";
|
26
26
|
import { RoomMember } from "./models/room-member.ts";
|
27
27
|
import { EventType } from "./@types/event.ts";
|
28
|
-
import { DecryptionError } from "./crypto/algorithms/index.ts";
|
29
|
-
import { DecryptionFailureCode } from "./crypto-api/index.ts";
|
30
|
-
import { EventDecryptionResult } from "./common-crypto/CryptoBackend.ts";
|
31
28
|
|
32
29
|
/**
|
33
30
|
* Create a {@link MatrixEvent}.
|
@@ -84,108 +81,3 @@ export function mkMatrixEvent(opts: {
|
|
84
81
|
} as unknown as RoomMember;
|
85
82
|
return mxEvent;
|
86
83
|
}
|
87
|
-
|
88
|
-
/**
|
89
|
-
* Create a `MatrixEvent` representing a successfully-decrypted `m.room.encrypted` event.
|
90
|
-
*
|
91
|
-
* @param opts - Values for the event.
|
92
|
-
*/
|
93
|
-
export async function mkEncryptedMatrixEvent(opts: {
|
94
|
-
/** Room ID of the event. */
|
95
|
-
roomId: string;
|
96
|
-
|
97
|
-
/** The sender of the event. */
|
98
|
-
sender: string;
|
99
|
-
|
100
|
-
/** The type the event will have, once it has been decrypted. */
|
101
|
-
plainType: EventType | string;
|
102
|
-
|
103
|
-
/** The content the event will have, once it has been decrypted. */
|
104
|
-
plainContent: IContent;
|
105
|
-
|
106
|
-
/** Optional `event_id` for the event. If provided will be used as event ID; else an ID is generated. */
|
107
|
-
eventId?: string;
|
108
|
-
}): Promise<MatrixEvent> {
|
109
|
-
const mxEvent = mkMatrixEvent({
|
110
|
-
type: EventType.RoomMessageEncrypted,
|
111
|
-
roomId: opts.roomId,
|
112
|
-
sender: opts.sender,
|
113
|
-
content: { algorithm: "m.megolm.v1.aes-sha2" },
|
114
|
-
eventId: opts.eventId,
|
115
|
-
});
|
116
|
-
|
117
|
-
await decryptExistingEvent(mxEvent, { plainType: opts.plainType, plainContent: opts.plainContent });
|
118
|
-
return mxEvent;
|
119
|
-
}
|
120
|
-
|
121
|
-
/**
|
122
|
-
* Create a `MatrixEvent` representing a `m.room.encrypted` event which could not be decrypted.
|
123
|
-
*
|
124
|
-
* @param opts - Values for the event.
|
125
|
-
*/
|
126
|
-
export async function mkDecryptionFailureMatrixEvent(opts: {
|
127
|
-
/** Room ID of the event. */
|
128
|
-
roomId: string;
|
129
|
-
|
130
|
-
/** The sender of the event. */
|
131
|
-
sender: string;
|
132
|
-
|
133
|
-
/** The reason code for the failure */
|
134
|
-
code: DecryptionFailureCode;
|
135
|
-
|
136
|
-
/** A textual reason for the failure */
|
137
|
-
msg: string;
|
138
|
-
|
139
|
-
/** Optional `event_id` for the event. If provided will be used as event ID; else an ID is generated. */
|
140
|
-
eventId?: string;
|
141
|
-
}): Promise<MatrixEvent> {
|
142
|
-
const mxEvent = mkMatrixEvent({
|
143
|
-
type: EventType.RoomMessageEncrypted,
|
144
|
-
roomId: opts.roomId,
|
145
|
-
sender: opts.sender,
|
146
|
-
content: { algorithm: "m.megolm.v1.aes-sha2" },
|
147
|
-
eventId: opts.eventId,
|
148
|
-
});
|
149
|
-
|
150
|
-
const mockCrypto = {
|
151
|
-
decryptEvent: async (_ev): Promise<EventDecryptionResult> => {
|
152
|
-
throw new DecryptionError(opts.code, opts.msg);
|
153
|
-
},
|
154
|
-
} as Parameters<MatrixEvent["attemptDecryption"]>[0];
|
155
|
-
await mxEvent.attemptDecryption(mockCrypto);
|
156
|
-
return mxEvent;
|
157
|
-
}
|
158
|
-
|
159
|
-
/**
|
160
|
-
* Given an event previously returned by {@link mkDecryptionFailureMatrixEvent}, simulate a successful re-decryption
|
161
|
-
* attempt.
|
162
|
-
*
|
163
|
-
* @param mxEvent - The event that will be decrypted.
|
164
|
-
* @param opts - New data for the successful decryption.
|
165
|
-
*/
|
166
|
-
export async function decryptExistingEvent(
|
167
|
-
mxEvent: MatrixEvent,
|
168
|
-
opts: {
|
169
|
-
/** The type the event will have, once it has been decrypted. */
|
170
|
-
plainType: EventType | string;
|
171
|
-
|
172
|
-
/** The content the event will have, once it has been decrypted. */
|
173
|
-
plainContent: IContent;
|
174
|
-
},
|
175
|
-
): Promise<void> {
|
176
|
-
const decryptionResult: EventDecryptionResult = {
|
177
|
-
claimedEd25519Key: "",
|
178
|
-
clearEvent: {
|
179
|
-
type: opts.plainType,
|
180
|
-
content: opts.plainContent,
|
181
|
-
},
|
182
|
-
forwardingCurve25519KeyChain: [],
|
183
|
-
senderCurve25519Key: "",
|
184
|
-
untrusted: false,
|
185
|
-
};
|
186
|
-
|
187
|
-
const mockCrypto = {
|
188
|
-
decryptEvent: async (_ev): Promise<EventDecryptionResult> => decryptionResult,
|
189
|
-
} as Parameters<MatrixEvent["attemptDecryption"]>[0];
|
190
|
-
await mxEvent.attemptDecryption(mockCrypto);
|
191
|
-
}
|
package/src/types.ts
CHANGED
@@ -26,7 +26,6 @@ export * from "./@types/membership.ts";
|
|
26
26
|
export type * from "./@types/event.ts";
|
27
27
|
export type * from "./@types/events.ts";
|
28
28
|
export type * from "./@types/state_events.ts";
|
29
|
-
export type * from "./@types/AESEncryptedSecretStoragePayload.ts";
|
30
29
|
|
31
30
|
/** The different methods for device and user verification */
|
32
31
|
export enum VerificationMethod {
|