Element-R: login-and-verify tranche 1: groundwork #24983
Labels
A-Element-R
Issues affecting the port of Element's crypto layer to Rust
T-Enhancement
T-Epic
Issue is at Epic level
Verification: Define a new cypress test #25429
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
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#10996https://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 interfaceUse new VerificationRequest interface in:
VerificationPanel
EncryptionPanel
VerificationRequestDialog
Estimate: 2d
Pull out a new
VerificationRequest
interface matrix-org/matrix-js-sdk#3449, Remove references toVerificationRequest
matrix-org/matrix-react-sdk#11050https://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)
Estimate: 1d to set up a test of the happy path
The text was updated successfully, but these errors were encountered: