Commit graph

43 commits

Author SHA1 Message Date
Florian Duros
202af87b2e
Enable cypress test about login with SSSS to run with rust-crypto (#11323) 2023-07-27 13:21:19 +00:00
renovate[bot]
5405c22db1
Update all non-major dependencies (#11329)
* Update all non-major dependencies

* Add isLocation to ComposerEvent analytics events

* Remove cypress-each as it is incompatible with modern typescript

* Roll back eslint-plugin-deprecate

* Remove stale comment

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Andy Balaam <andy.balaam@matrix.org>
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
2023-07-27 11:34:44 +00:00
Florian Duros
d7d60a3255
Disable failing login with SSSS tests with rust crypto (#11258) 2023-07-13 15:07:38 +00:00
Richard van der Hoff
46c12a808f
Cypress test for QR code display (#11240) 2023-07-13 13:56:15 +00:00
Florian Duros
21a1bdf7b7
Cypress: Add test to verify device after login (#11217)
* Run cypress test without `cryptoCallbacks`

* Add security phrase test

* Add security key test

* Fix type import

* Move new test in `verification.spec.ts`

* The nest tests work with the new crypto

* Fix import yupe
2023-07-11 14:18:46 +00:00
Richard van der Hoff
1a75d5d869
Cypress: Use Rust crypto for the bot user in verification tests (#11173)
* Cypress: `crypto.verification.request` -> `crypto.verificationRequestReceived`

matrix-org/matrix-js-sdk#3514 deprecated crypto.verification.request.

* Cypress: `beginKeyVerification` -> `startVerification`

matrix-org/matrix-js-sdk#3528 deprecated beginKeyVerification

* simplify `setupBotClient`

no functional change here, just combining the various `cy.wrap()`ed things into
a single async func

* Cypress: Use Rust crypto for the bot user in verification tests

We can already start using the Rust crypto implementation for the "bot" user in
the verification tests!
2023-07-07 16:56:53 +00:00
Richard van der Hoff
0d14b03d71
Enable verification cypress tests for Element R (#11169) 2023-07-03 11:48:18 +00:00
Richard van der Hoff
35f8c525aa
Cypress test for incoming verification requests (#11123)
* Cypress: move verification tests to their own file

* Remove redundant cypress test

This does nothing that the verification test doesn't do better.

* Factor `beginKeyVerification` call out of `doTwoWaySasVerification`

... for more flexibility. This allows us to have tests where the other side
picks the verification method.

* Cypress test for incoming verification requests
2023-06-22 09:43:49 +00:00
Florian Duros
b84a230d58
Cypress: Run setting up secure key backup should work test for both verified and unverified devices (#11119)
* Add `cypress-each` dev dependencies

* Run `setting up secure key backup should work` test for both verified and unverified device.
2023-06-20 15:27:18 +00:00
Richard van der Hoff
6780287ecf
Cypress: Increase timeout for starting verification (#11109) 2023-06-19 12:37:28 +00:00
Richard van der Hoff
b9b93264b6
Remove references to VerificationRequest (#11050)
* Update references to `VerificationRequestEvent`

* Update references to `Phase`

* update references to legacy `PHASE_*` constants

* Replace `request.canAccept` with `canAcceptVerificationRequest`

* Replace `VerificationRequest` with the interface throughout

* Minor strict type fixes

* Add a couple of tests
2023-06-14 14:35:32 +00:00
Florian Duros
788c1c8f13
Cypress: improve secure key backup test (#11086)
* Check account data after secure key backup

* Add passphrase cypress test
2023-06-14 08:12:01 +00:00
Richard van der Hoff
7d36c8315b
Disable verification test for Element-R (#11046)
We haven't implemented this yet!
2023-06-06 07:50:30 +00:00
Florian Duros
68ebcd2956
Removed DecryptionFailureBar.tsx (#11027) 2023-06-05 15:02:20 +00:00
Florian Duros
8d77d6e4cc
Add cypress test for verifying a new device via SAS (#10940)
* Add WIP Sas cross-signing test

* Login after bot creation

* Figuring out how to make it work in ci

* Wait for `r0/login` to be called before bot creation

* Make waitForVerificationRequest automatically accept requests

... thereby making the `acceptVerificationRequest` helper redundant

* Clean up `deviceIsCrossSigned`

* combine `handleVerificationRequest` and `verifyEmojiSas`

* get rid of a  layer

... it adds no value

* fix bad merge

* minor cleanups to new test

* Move `logIntoElement` to utils module

* use `logIntoElement`  function

* Avoid intercept

* Avoid `CryptoTestContext`

---------

Co-authored-by: Richard van der Hoff <richard@matrix.org>
2023-05-25 18:24:50 +00:00
Richard van der Hoff
2571f54e8b
Cypress: skip tests known to fail when using Rust crypto (#10873)
* Cypress: skip tests known to fail when using Rust crypto

... which means we can then run the cypress test suite against Element Web R to
check we aren't introducing regressions.

* Update cypress/e2e/register/register.spec.ts

* Use env var to detect rust crypto

* Hoist `skipIfRustCrypto` call earlier
2023-05-24 09:50:05 +00:00
Richard van der Hoff
f9e99ed302
Cypress: fix dodgy use of string as event name (#10963) 2023-05-23 09:24:15 +00:00
Richard van der Hoff
8654a24405
Minor cleanups to handleVerificationRequest in cypress tests (#10941)
* Remove redundant `verifier.done()` call

This `done` call completes the verification process and stops it responding
with further messages. It is unnecessary, *provided* the verification completes
successfully, for which see
https://github.com/matrix-org/matrix-js-sdk/pull/3382.

* Remove duplicated code in `decryption-failure` test

* remove unused imports
2023-05-18 15:12:41 +00:00
Suguru Hirahara
00fe0b4316
Fix the color of the verified E2EE icon on RoomSummaryCard (#10812) 2023-05-08 02:26:29 +00:00
Suguru Hirahara
a81940b62a
Update existing Cypress tests - use Cypress Testing Library (#10755)
Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
2023-05-01 20:13:24 +00:00
Richard van der Hoff
2cec8b5a44
Add Cypress tests for the "complete security" phase (#10668)
* Cypress tests for the "complete security" phase

* fix imports
2023-04-20 11:04:51 +00:00
Suguru Hirahara
c9c974d455
Use Cypress Testing Library - crypto.spec.ts (#10512)
* Update crypto.spec.ts - use Cypress Testing Library

Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>

* Empty commit

Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>

---------

Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
2023-04-12 15:48:31 +00:00
Suguru Hirahara
d96d6d5e4c
Update decryption-failure.spec.ts (#10541)
Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
2023-04-11 06:08:38 +00:00
Suguru Hirahara
d8203895e9
Use Cypress Testing Library - decryption-failure.spec.ts (#10513)
* Use Cypress Testing Library - decryption-failure.spec.ts

Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>

* findButton - view your device list

Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>

* Use findByText

Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>

---------

Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
2023-04-06 16:20:39 +00:00
Suguru Hirahara
232daaff68
Fix decryption failure bar covering the timeline (#10360)
* Use grid layout instead

- BEM naming style
- Increase block gap from 4px to 8px
- Use flexbox inside 'header' grid-area to let the buttons wrapped
- Use variables
- Remove 4px gap when one of the buttons is not rendered
- Change 'body' to 'message'
- Set 'align-self: start' to the icon and spinner

Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>

* Unset height of spinner

Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>

* Break lines at newline characters with white-space: pre-line

Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>

* Edit tests to check decryption failure bars on narrow timeline

- checkTimelineNarrow() looks for buttons by default
- Test indicator as well

Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>

* Remove a line

Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>

* Edit the test to have it check mx_EventTile_last only inside mx_RoomView_body

Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>

* Fix double underscores

Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>

* Fix double underscores - pcss

Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>

* Iterate - buttons at the bottom

- Set common spacing to buttons with variables
- Remove line breaks, yarn run i18n
- Set data-testid for headlines and buttons in case the tested strings would be displayed elsewhere simultaneously

Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>

* Check waiting headline as well

Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>

* Increase spacing between the message and the buttons

Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>

* lint

Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>

* Increase block gap between wrapped buttons for clickability

Apply 8px between wrapped buttons

Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>

* Revert bottom margin of buttons which are not expected to be wrapped

Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>

* Check visibility instead of existence

This commit removes data-testid from headlines and data-testid-button and checks whether the elements are really visible, not overflowing the viewport.

Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>

* Remove redundant gap between 'mx_DecryptionFailureBar_start' and the bottom edge

This commit adds '.mx_DecryptionFailureBar--withEnd' class name to have it applied to the bar only if it has button(s). This way the bar is rendered with a flexbox and the row-gap declaration is respected only if there is a 'mx_DecryptionFailureBar--withEnd' element. The element  currently includes the button(s) only.

Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>

* lint - prettier

Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>

* Have Percy take a snapshot of the bar loading spinner before checkTimelineNarrow()

The loading spinner is likely to disappear while checking the bar on the narrow timeline.

Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>

---------

Signed-off-by: Suguru Hirahara <luixxiul@users.noreply.github.com>
Co-authored-by: Kerry <kerrya@element.io>
2023-03-30 10:11:16 +01:00
Michael Telatyński
12dd799301
Fix double translation issue (#10240
* Fix double translation issue

* Remove some redundant string concatenations
2023-02-27 09:15:27 +00:00
Michael Telatynski
26652138bd
Improve Percy stability by better scoping snapshots (#10207) 2023-02-23 16:57:48 +13:00
Michael Weimann
9b267e7bc4
Add success dialog after key backup (#10177) 2023-02-17 12:35:13 +00:00
Michael Weimann
885d5098ab
Fix flaky test crypto/decryption-failure.spec.ts "Decryption Failure Bar" (#10092) 2023-02-07 08:45:13 +01:00
devonh
422802ea6d
Add credentials when calling bootstrapCrossSigning in Cypress tests (#9919) 2023-01-19 16:19:07 +01:00
devonh
79033eb034
Add dendrite support to cypress tests (#9884)
* Minimum hacks required to run cypress tests with dendrite

* Remove wget hack since dendrite containers now have curl

* Add basic dendritedocker plugin & hack into login spec for testing

* Add generic HomeserverInstance interface

* Add env var to configure which homeserver to use

* Remove synapse specific homeserver support api

* Update the rest of the tests to use HomeserverInstance

* Update cypress docs to reference new homeserver abstraction

* Fix formatting issues

* Change dendrite to use main branch container
2023-01-10 16:29:56 -07:00
Richard van der Hoff
ad7c002f4d Merge remote-tracking branch 'origin/develop' into rav/edited_events 2022-12-20 11:20:03 +00:00
Richard van der Hoff
dc29317445 Improve display of edited events 2022-12-20 11:19:47 +00:00
Richard van der Hoff
ddfa627ce6
Cypress: add a way to specify the prefix for userIDs (#9787)
This helps a lot with debugging tests where there are multiple users.
2022-12-19 13:12:01 +00:00
Richard van der Hoff
e3f591e7d2 Return the password from getBot
... so that we can use it to log in for a second time
2022-12-17 23:52:55 +00:00
Faye Duxovni
4724506320
Improve decryption error UI by consolidating error messages and providing instructions when possible (#9544)
* Improve decryption error UI by consolidating error messages and providing instructions when possible

* Fix TS strict errors

* Rename .scss to .pcss

* Avoid accessing clipboard, Cypress doesn't like it

* Display DecryptionFailureBar alongside other AuxPanel bars

* Add comments

* Add small margin off-screen for visible decryption failures

* Fix some more TS strict errors

* Add unit tests for DecryptionFailureBar

* Add button to resend key requests manually

* Remove references to matrix-js-sdk crypto internals

* Add hysteresis to visible decryption failures

* Add comment

Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>

* Add comment

Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>

* Don't create empty div if we're not showing resend requests button

* cancel updateSessions on unmount

* Update unit tests

* Fix lint and implicit any

* Simplify visible event bounds checking

* Adjust cypress test descriptions

* Add percy snapshots

* Update src/components/structures/TimelinePanel.tsx

Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>

* Add comments on TimelinePanel IState

* comment

* Add names to percy snapshots

* Show Resend Key Requests button when there are sessions that haven't already been requested via this bar

* We no longer request keys from senders

* update i18n

* update expected text in cypress test

* don't download keys ourselves, update device info in response to updates from client

* fix ts strict errors

* visibledecryptionfailures undefined handling

* Fix implicitAny errors

Co-authored-by: Richard van der Hoff <1389908+richvdh@users.noreply.github.com>
Co-authored-by: Michael Telatynski <7t3chguy@gmail.com>
2022-12-15 17:24:33 +00:00
Michael Weimann
526645c791
Apply prettier formatting 2022-12-12 12:24:14 +01:00
Richard van der Hoff
4b3705d3f0
Add a test for verifying without existing DM (#9619)
A regression test for https://github.com/vector-im/element-web/issues/23819.
2022-11-30 13:03:47 +00:00
Kerry
13458250bc
Cypress - stabilise "creating a DM should work" test (#9373)
* better error message for failed bot room join

* wait for room invite before attempting bot join

* remove sent receipt assertion

* lint

* remove debug formatting

* use RoomMemberEvent enum from window
2022-10-07 13:34:28 +02:00
Michael Telatynski
4a23630e06
Fix soft crash around inviting invalid MXIDs in start DM on first message flow (#9281)
* Fix soft crash around inviting invalid MXIDs

* Make ts --strict happier

* Prevent suggesting invalid MXIDs

* Add tests

* Fix coverage

* Fix coverage

* Make tsc --strict happier

* Fix test

* Add tests
2022-09-16 09:03:17 +01:00
Michael Telatynski
4c94155ff0
Improve Cypress & Percy stability (#9217)
* Improve Cypress & Percy stability

* Update percy snapshot width
2022-08-25 10:46:43 +01:00
Michael Weimann
ed8ccb5d80
Start DM on first message (#8612) 2022-08-04 08:19:52 +02:00
Šimon Brandner
3991ce96e4
Don't enumerate Cypress tests (#9123) 2022-08-01 17:59:20 +00:00