Commit graph

32 commits

Author SHA1 Message Date
Jorge Martin Espinosa
cf072fa1e1
Improve session recovery screens (#2657)
* Improve enter recovery key screen UI

* Add instructions to reset the encryption of the logged in account.

* Update screenshots

* Fix maestro flow

---------

Co-authored-by: ElementBot <benoitm+elementbot@element.io>
2024-04-09 17:01:06 +00:00
Jorge Martin Espinosa
1045f99d18
Add SessionData.needsVerification field (#2672)
* Add `SessionData.needsVerification`:
  - Allows us to add a skip button for debug builds.
  - We can have the verification state almost instantly.
  - It doesn't depend on network availability to know the verification state and display the UI.
* Add DB migration.
- Make the skip button in the verification flow skip the whole flow including the completed screen.
- Save the session as verified in `RustEncryptionService.recover(recoveryKey)`.
* Enforce session verification for existing users too.
* Fix verification confirmed screen subtitle (typo in id, was using the wrong string)
* Update screenshots

---------

Co-authored-by: ElementBot <benoitm+elementbot@element.io>
2024-04-09 17:28:12 +02:00
Jorge Martin Espinosa
41287c5f59
Move session verification to FTUE flow, make it mandatory (#2594)
* Move session verification to the FTUE
* Allow session verification flow to be restarted
* Use `EncryptionService` to display session verification faster
* Remove session verification item from settings
* Remove session verification banner from room list
* Remove 'verification needed' variant from the `TimelineEncryptedHistoryBanner`
* Improve verification flow UI and UX
* Remove 'verification successful' snackbar message
* Only register push provider after the session has been verified
* Hide room list while the session hasn't been verified
* Prevent deep links from changing the navigation if the session isn't verified
* Update screenshots
* Renamed `FtueState` to `FtueService`, created an actual `FtueState`.

---------

Co-authored-by: ElementBot <benoitm+elementbot@element.io>
2024-04-03 14:53:17 +00:00
Jorge Martín
cfbff78667 Fix Maestro 2024-03-21 16:27:03 +01:00
Benoit Marty
3543d9398e Add TestTag to the Recovery key field. 2024-02-22 10:25:47 +01:00
Benoit Marty
335c0aee33 Add Maestro test to verify the session using recovery key. 2024-02-22 09:53:12 +01:00
Benoit Marty
15728d6b58 Add prefix MAESTRO_ to Maestro env variable. 2024-02-22 09:29:05 +01:00
Benoit Marty
076b487a0a Fix Maestro 2023-12-26 16:55:58 +01:00
Benoit Marty
1593c66cba Replace test of server without sliding sync with test of homeserver resolution. 2023-12-14 15:34:57 +01:00
Benoit Marty
548bf99c80 Fix Maestro (do not rely on text) 2023-11-02 11:57:11 +01:00
Benoit Marty
fec3f93bad Fix maestro test: chat backup is disabled by default. 2023-11-02 11:23:10 +01:00
Benoit Marty
23cf703925 Fix maestro test. 2023-11-02 09:23:07 +01:00
Benoit Marty
f736152945 Fix Maestro test 2023-10-30 12:41:16 +01:00
Benoit Marty
9807ebf649 Secure backup 2023-10-27 12:18:40 +02:00
Benoit Marty
d94cc58303 Maestro test: change server to test (one of our) server which does not support sliding sync. (#1066) 2023-10-03 10:39:59 +02:00
Benoit Marty
e65f160b13 Maestro test: change server (again) to test server which does not support sliding sync. (#1066) 2023-10-02 17:39:23 +02:00
Benoit Marty
c6d68e8392 Maestro cli 1.32.0 does not like integer with this format :/ 2023-09-13 13:49:08 +02:00
Benoit Marty
9bce5a1968 Maestro test: add assertion for server with no sliding sync error. 2023-08-17 16:18:37 +02:00
Benoit Marty
76c138580c Maestro test: change server to test server which does not support sliding sync. (#1066) 2023-08-17 16:18:37 +02:00
Jorge Martin Espinosa
2488432805
Hide encryption history + FTUE flow (#839)
* First attempt at implementing encrypted history banner and removing old UTDs

* Get the right behavior in the timeline

* Implement the designs

* Extract post-processing logic, add tests

* Add encryption banner to timeline screenshots

* Create FTUE feature to handle welcome screen and analytics

* Move classes to their own packages, add tests for `DefaultFtueState`.

* Remove unnecessary private MutableStateFlow

* Move some FTUE related methods and classes back to the `impl` module

* Handle back press at each FTUE step

* Remove unneeded `TestScope` receiver for `createState` in tests.

* Use light & dark previews for the banner view.

* Move color customization from `TextStyle` to `Text` component.

* Rename `InfoList` design components, use them in `AnalyticsOptInView` too.

* Cleanup MatrixClient.

* Fix copy&paste error

Co-authored-by: Benoit Marty <benoit@matrix.org>

* Fix typo

* Fix Maestro tests

---------

Co-authored-by: ElementBot <benoitm+elementbot@element.io>
Co-authored-by: Benoit Marty <benoit@matrix.org>
2023-07-17 18:34:36 +02:00
Benoit Marty
000ef93dc5 Update Meastro test after iteration on OnBoarding screen. 2023-07-04 10:56:03 +02:00
Benoit Marty
4266faa204 Update maestro test regarding the new login flow. 2023-06-09 10:19:49 +02:00
Yoan Pintas
f534ecda96 Init analytics modules (#350) 2023-06-05 13:11:34 +00:00
Benoit Marty
13990cba7c Update maestro tests. 2023-06-01 10:57:36 +02:00
Jorge Martin Espinosa
0389f782c9 Fix: Maestro tests fail when using settings (#358)
* Fix Maestro tests using 'Settings' to open the settings screen.

* Try to allow manually running Maestro tests.

* Also adjust logout flow.
2023-04-25 18:01:54 +02:00
Jorge Martin Espinosa
d36ca2907c Use user friendly error messages in login following iOS logic (#174)
* Use user friendly error messages in login following iOS logic, fix dialog colors.

* Use `AlertDialogDefaults` for the default properties of dialogs

* Improve Maestro tests with wrong password dialog

* Add tests for error messages
2023-03-07 17:55:48 +01:00
Jorge Martin Espinosa
c87c0ea28c Refine sign in flow to match designs and iOS flow (#100)
* Fix dark theme

* First attempt at replicating iOS' UI & flows.

* Try to fix Maestro tests

* Add error dialogs and tests

* Remove unused modifiers

* Try to fix detekt issues

* Tidy up maestro login flow a bit

* Add `CompoundColorPalette` with some needed colors

* Fixes to designs

* Fix detekt issues

* More design fixes

* Some other minor design fixes

* Add changelog

* Minor tweaks.

* Remove legacy dark material theme as it's no longer needed.

* Move sliding sync 'learn more' url to constants object

* Remove unused focusManager

* Change how the displayed homeserver works

* Keep user input as homeserver if it's valid

* Remove `CompoundColorPalette`, try to fix issue when toggling dark mode.

* Add `@Stable` to the theme, adjust how it toggles in dark mode

* Remove unused strings

* Update screenshots

* Re-organize components in LoginRootScreen

* Bump min coverage to 55, max to 60

* Always replace the snapshots contents when running `recordPaparazzi`

* Fix dark theme preview of components using content colors

* Add `BackButton` component

* Handle errors with dialogs in a generic way

* Align our Dialog components with the designs, use them were needed

* Use a `MatrixHomeserverDetails` data class instead of just an URL.

* `AuthenticationService.getHomeserverDetails()` now returns a `StateFlow`.

Also, try to fix coverage issues in tests.
2023-03-06 09:30:16 +01:00
Benoit Marty
62523416ec Add another test: cancel sign out. 2023-01-17 18:12:40 +01:00
Benoit Marty
339c6297a1 Fix wording issue 2023-01-17 18:12:40 +01:00
Benoit Marty
67ce11a536 Add comments for iOS 2023-01-17 18:12:40 +01:00
Benoit Marty
91d70e6f9b Fix wording issue 2023-01-17 18:12:40 +01:00
Benoit Marty
de6532e073 Setup Maestro and add first tests.
Also configure CI
2023-01-17 18:11:12 +01:00