Commit Graph

96 Commits

Author SHA1 Message Date
Benoit Marty f18e699bbb Fix Maestro logout test when the device is the only session
Since #7861 all the sessions of the Maestro account are ended after each run,
so the device under test is always the last session. In this case the title of
the sign out screen does not contain "Remove this device" anymore, and tapping
on the second occurrence of this text fails. Tap on the submit button using its
test tag instead.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-16 09:21:26 +02:00
Benoit Marty 1e6bb0a168 Fix Maestro tests 2026-09-29 15:57:08 +02:00
Benoit Marty c3f5a1884f Update Maestro tests 2026-09-24 17:12:17 +02:00
Benoit Marty e0defcea66 Fix Maestro tests. Disable searchRoomList.yaml as it's always failing here. 2026-09-23 10:15:40 +02:00
Benoit Marty ac54596ca3 Update Maestro tests 2026-09-22 16:43:58 +02:00
Jenna Vassar f488da890b Update the maestro sign-in flow for the consolidated account provider screen 2026-08-14 08:57:37 -07:00
Thirumani Vihaan f005693874 Fix #7181: Remove back arrow from device verified screen and use 'Done' text (#7222)
* Fix #7181: Remove back arrow from device verified screen and use 'Done' text

* Update screenshots

* Fix failing Maestro test by tapping 'Done' instead of 'Continue'

---------

Co-authored-by: ElementBot <android@element.io>
Co-authored-by: thirumani-vihaan <your-github-email@example.com>
2026-07-16 16:50:58 +02:00
Jorge Martin Espinosa 03f3e8b3e0 Try fixing DM creation in Maestro (#7204)
* Try fixing DM creation in Maestro

* Also handle 'invite new people to this room' with first invite to aRoomName

* Try adding a room list clean up sub-flow

* No need to press back button after successful invites

* Looks like 'hideKeyboard' works as 'back' and messes up with the navigation. Try using the workaround described in https://docs.maestro.dev/reference/commands-available/hidekeyboard#workarounds
2026-07-15 10:56:50 +02:00
Jorge Martin Espinosa 9b1735e0e9 Fix Maestro again after changes to the invite flow (#6796)
* Fix Maestro: tap on confirmation for inviting unknown users to a room

* Tap on back after inviting some user

* Tap on back again

* Confirm inviting someone to a DM

* Make fix conditional
2026-05-18 09:26:58 +00:00
Jorge Martin Espinosa 556c793b8d CI: yet another Maestro fix (#6505)
* Fix the `assertSessionVerificationDisplayed.yaml` check

* Previous 'Location' is now 'Share location'

* We don't have a GPS location, so the text is 'Share selected location'

* 'Create a new conversation' is now 'Create room'

* Try adding a background logcat process

* 'Sign out' is now 'Remove this device'

* Adjust the logcat filtering so it silences everything that's not our app, otherwise the logs can get quite large
2026-04-01 13:30:01 +02:00
Benoit Marty faa97ff2f1 Update wording from "Enter recovery key" to "Use recovery key" 2026-03-16 17:19:49 +01:00
Jorge Martin Espinosa 6bdb9c7c52 Fix Maestro tests again (#6167)
* Increase the timeout for asserting 'Be in your element' is visible

* Disable the chrome onboarding flow. This simplifies the code a lot and helps avoid corner cases.

* More delays with timeout!

* Add more info to the summary, specially when the tests fail, so we can quickly check what failed.

* Make sure Maestro tests can't run in parallel, but APK builds can
2026-02-12 16:24:19 +01:00
Jorge Martin Espinosa 9536afe3dc Try fixing Maestro tests (again) (#6149)
* Try fixing Maestro tests again: they fail when creating a room because the texts have changed

* Try using a retry on the webview before the login so we skip Chrome's setup

* Try handling edge case when leaving a room does not remove the screen
2026-02-06 12:29:37 +01:00
Andy Balaam 7ce9dc1461 Update the strings for the device verification flow (#5419)
* Update the strings for the device verification flow

Part of https://github.com/element-hq/element-meta/issues/2898
2025-09-29 16:42:10 +01:00
Benoit Marty 5bccf8577b Update Maestro test. Invite people step is now performed after the room has been created. 2025-08-13 18:01:43 +02:00
Jorge Martin Espinosa 8f2efd6984 Fix Maestro regression when coming back from room to the search screen (#5156) 2025-08-12 22:58:37 +02:00
Jorge Martin Espinosa 6e2ef1f75f Disable Element Call Maestro tests for the time being (#5064) 2025-07-22 17:28:57 +02:00
Jorge Martin Espinosa c2e28f5fbc Maestro: fix MAS and EC breaking the tests (#4762) 2025-05-22 22:31:51 +02:00
Benoit Marty 38ad415ab5 Ensure the CI is marked as failed when Maestro test is failing (#4700)
* Ensure the CI is marked as failed when Maestro test is failing

* Fix typo in String to disable bookmark in ChromeCustomTab

* Fix Maestro test now that matrix.org is using MAS to authenticate.

* Fix Maestro test - other issues due to recent changes.

* Maestro: add test on Element Call

* Run through Chrome on boarding step.

* Try suggestion from https://github.com/mobile-dev-inc/Maestro/issues/1126#issuecomment-2842220361

* Revert "Try suggestion from https://github.com/mobile-dev-inc/Maestro/issues/1126#issuecomment-2842220361"

This reverts commit d400644622c1a240deb61040f9095e3221e07f21.

* Add comment on Maestro flow.
2025-05-15 17:14:41 +02:00
Jorge Martin Espinosa 271f032d95 Test using Maestro CLI + emulator instead of Cloud (#4092)
Add Maestro local CI workflow:
- Remove previous Maestro Cloud.
- Use an emulator with Pixel 7 Pro - API 35.
- Allow to record several videos in the background to verify the run.
- Upload test results.
- Allow either dispatching a new flow, running the 'build apk' job or run with a PR after the 'Build APK' flow has succeeded.
2025-01-07 14:05:14 +01:00
Benoit Marty a99eecdb50 We need to scroll more, there are too many items. 2024-12-12 17:47:40 +01:00
Benoit Marty 1a8e1a3e58 Fix Maestro test. 2024-08-29 12:52:51 +02:00
Benoit Marty 34a9bdecd2 Increase Maestro timeout when verifying session. 2024-06-04 16:06:02 +02:00
Jorge Martin Espinosa c8bd04ceb1 Sign in with QR code (#2793)
* Add QR code login.
* Add FF to disable it in release mode.
* Force portrait orientation on the login flow.
* Create `NumberedList` UI components.
* Improve camera permission dialog.
* Make nodes in qrcode feature use `QrCodeLoginScope` instead of `AppScope`
* Bump SDK version.
* Fix maestro tests

---------

Co-authored-by: Benoit Marty <benoit@matrix.org>
Co-authored-by: ElementBot <benoitm+elementbot@element.io>
2024-05-31 14:38:27 +02:00
Jorge Martin Espinosa 880ebb4de8 Plain text editor implementation based on markdown input (#2840)
* Add plain text editor based on markdown input
- Fix autofocus of message composer.
- Remove `Message` data class, fetch the details in `MessagesPresenter` instead.
- Remove `enable rich text` option from advanced settings, set it as a build configuration instead.
* Fix MentionSpanProvider
* Bump RTE library to released `v2.37.3`

---------

Co-authored-by: ElementBot <benoitm+elementbot@element.io>
2024-05-21 13:58:53 +02:00
Jorge Martin Espinosa 46b22d7db7 UX cleanup: room details (#2816)
* UX cleanup: room details screen

Add new CTA buttons for Invite and Call actions

* Update screenshots

* Fix maestro

---------

Co-authored-by: ElementBot <benoitm+elementbot@element.io>
2024-05-08 11:42:33 +02:00
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 d0f26777da Remove Room moderation feature flag (#2678)
* Remove the feature flag

* Add changelog

* Increase login timeout for Maestro
2024-04-09 17:53:07 +02: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
ganfra ff9603f338 RoomDirectory : fix maestro (search screen is closed automatically) 2024-03-29 16:17:49 +01:00
Jorge Martín cfbff78667 Fix Maestro 2024-03-21 16:27:03 +01:00
Benoit Marty 702e33dfdc Update Maestro test after wording change. 2024-02-23 15:28:47 +01:00
Benoit Marty f6555489bb Maestro: scroll to be able to leave the DM. 2024-02-22 10:31:19 +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 a2e00801b7 Add RECOVERY_KEY to Maestro env variable. 2024-02-22 09:24:45 +01:00
Benoit Marty 2aa453ab91 Fix Maestro test. 2024-02-13 11:36:15 +01:00
Jorge Martin Espinosa 27f55c0bc4 Replace 'leave room' text with 'leave conversation' for DMs (#2231)
* Replace 'leave room' text with 'leave conversation' for DMs

* Add `isDm` property to both `RoomSummary` and `RoomListRoomSummary`

* Remove redundant `leave_conversation_alert_subtitle_*` texts

* Fix maestro flow

---------

Co-authored-by: ElementBot <benoitm+elementbot@element.io>
2024-01-16 15:49:44 +01:00
Benoit Marty 076b487a0a Fix Maestro 2023-12-26 16:55:58 +01:00
Benoit Marty 23d664d3b1 Fix Maestro 2023-12-18 09:59:02 +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
ElementBot eeb9b30d80 Sync Strings (#1839)
* Sync Strings from Localazy

* Fix 'Report a problem' screen title

---------

Co-authored-by: bmarty <bmarty@users.noreply.github.com>
Co-authored-by: Jorge Martín <jorgem@element.io>
2023-11-20 09:07:53 +00:00
Benoit Marty d7a371d710 Maestro: close keyboard first 2023-11-09 11:26:20 +01:00
Benoit Marty 8be26db977 Maestro: scroll to see the item 2023-11-09 11:08:03 +01:00
Benoit Marty 1810a2730e Maestro navigate to more screen 2023-11-09 11:07:44 +01:00
Benoit Marty 0210ba49fe Fix Maestro test due to wording change. 2023-11-09 10:47:33 +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