Description
-
Verification: Define a new cypress test #25429
- Create a “bot” account with bootstrapped cross signing
- Log into the same account
- In “Verify this device”, choose “Verify with another device”
- Go through the verification process with SAS.
- At the end, download the device keys and check that it is cross-signed.
Estimate: 2d
Add cypress test for verifying a new device via SAS matrix-org/matrix-react-sdk#10940
-
https://github.com/vector-im/crypto-internal/issues/94 Repeat for QR code.
-
https://github.com/vector-im/crypto-internal/issues/95 Extract interface for
VerificationBase
TypedEventEmitter
verify
cancel
- Some way of pulling out
sasEvent
andreciprocateQREvent
that doesn’t require casting. Likely justgetSasEvent
/getReciprocateQREvent
methods, which can return null.
Use new VerificationBase interface in VerificationPanel.
Estimate: 1d
Element-R: Pull out an interface from
VerificationBase
matrix-org/matrix-js-sdk#3414 / Remove references toVerificationBase
matrix-org/matrix-react-sdk#10996 -
https://github.com/vector-im/crypto-internal/issues/96 Extract a new interface from
crypto/verification/request/VerificationRequest
, implementing a minimal API. We will need:TypedEventEmitter<VerificationRequestEvent.Change>
phase
(maps to VerificationRequest::state)accept
otherUserId
isSelfVerification
otherPartySupportsMethod
verifier
, which should return the new VerificationBase interface- No doubt lots of others
Use new VerificationRequest interface in: VerificationPanel
EncryptionPanel
VerificationRequestDialog
Estimate: 2d
Pull out a newVerificationRequest
interface matrix-org/matrix-js-sdk#3449, Remove references toVerificationRequest
matrix-org/matrix-react-sdk#11050
-
https://github.com/vector-im/crypto-internal/issues/97
MatrixClient.getVerificationRequestsToDeviceInProgress
: add toCryptoApi
, returning the newVerificationRequest
. Deprecate the old one. Stub out inRustCrypto
for now.
Estimate: 0.25d -
https://github.com/vector-im/crypto-internal/issues/98
MatrixClient.requestVerification(my_user_id)
: add toCryptoApi
, returning the newVerificationRequest
interface. Call itrequestVerificationToDevice
for symmetry withrequestVerificationDM
. Stub out inRustCrypto
for now.
Estimate: 0.25d -
https://github.com/vector-im/crypto-internal/issues/99 Js-sdk integration tests:
We should write some integ tests, and run them on both legacy and Rust crypto. (There exist some unit tests which we may be able to use for inspiration, but they are a bit granular, and are built around TestClient)- Call requestVerificationToDevice. Check that a to-device is sent, and check that getVerificationRequestsToDeviceInProgress returns it
- Walk through the happy path
Estimate: 1d to set up a test of the happy path