Commit Graph

28 Commits

Author SHA1 Message Date
Stefan Ceriu 8ead25eaa3 Stop the integration tests from backgrounding the web authentication session
Tapping the SafariViewService app object makes XCUITest activate it as a
standalone app. That backgrounds Element X, which hosts the web view, so the
hosted scene goes to the background too and WebKit suspends it mid load. The
sign in page is fetched successfully but never rendered, and the test times
out waiting for the username field.

The tap dates from when the element was a web view inside the app, where it
was a plain in app tap, so it no longer does what its comment describes.
2026-08-24 15:18:48 +03:00
Michael 6efa8743ff Combine the Server Selection screen into the Server Confirmation screen and add autocompletion when entering an account provider. (#5949)
* Adjust login flow to exclusively use the ServerSelectionScreen

* Move async code to server selection vm

* ServerSelection supports pro picker options

* Use homeserver address for both confirmation and picker modes

* rename ServerSelectionScreenMode

* remove ServerConfirmationScreen

It's been superseded by the ServerSelectionScreen

* rename userInput

* Update strings with latest design strings

* Add server input autocompletion

* Store previous servers in AppSettings and autofill on server signin

* Audit changes for logging

* Enforce lowercase server history storage

* Update tests

* Update Xcode project

* PR review fixups

* Add HomeserverHistoryManager

* Review fixups 2

* Review fixups 3
2026-08-10 18:38:37 +01:00
Mauro 9093631f8b Periphery cleanup (#5893) 2026-07-20 11:16:11 +02:00
Mauro 0a77ba6c90 Swift format enforce isEmpty rule (#5843)
* swift format enforce isEmpty rule

* revert scheme

* use trailing closure
2026-07-06 15:39:16 +02:00
Doug fa67713726 Run SwiftFormat. 2026-05-27 17:11:42 +01:00
manuroe 77b8243de1 Fix testUserFlow integration tests, at least locally (#5352)
* Fix testUserFlow integration tests

- Use 'Close' instead of 'Cancel' button label when dismissing location picker
- Scroll up to make the People button visible before tapping it

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* fixup! Fix testUserFlow integration tests

* Integration tests: Add logout handling for MAS authentication

It is useful when relaunching tests locally. It avoids them to fail because the MAS webview is already logged it from a previous session.

* Swipe until the People button is hittable.

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Doug <douglase@element.io>
2026-04-22 13:21:09 +01:00
Stefan Ceriu 23062901c0 Update files following swiftformat upgrade 2026-01-27 12:50:57 +02:00
Stefan Ceriu bc7ced11cb Fix the login flow and how the integration tests interact with the web authentication session 2025-12-11 11:56:26 +02:00
Doug 8088cb1a7c Make sure the integration tests stop when running out of WAS retries 🙈 (#4730) 2025-11-11 12:47:09 +00:00
Mauro f7dd9cdcf8 Update copyright holding and dates (#4640)
* Update copyright holding and dates

* compound IDE Macros updated

* update copyright

* update copyrights done

* update templates and README
2025-10-21 14:34:56 +02:00
Stefan Ceriu 43b8cfd39b Fix integration tests for Xcode 26 2025-09-26 17:20:41 +03:00
Doug 3262fb4cab Fix the integration tests. (#4084)
* Fix logging/alerts during OIDC cancellation.

- Cancelling from within the web view wasn't being handled since moving the UserIndicatorController into the presenter.
- The WAS canceledLogin error code is also used when the system cancels the login. When the system cancels there's a failure reason included in the error.

* Allow UI tests to tap on any point within a view.

* Make the homeserver optional in integration tests.

* Dismiss the keyboard after entering a username to reveal the password text field.

Do the same after entering the password field too, just in case.

* Add a loop while waiting for the WAS prompt to be shown.
2025-05-01 12:07:04 +01:00
Stefan Ceriu 5ea95913e8 Fix integration tests OIDC username or email field identifier. 2025-04-15 13:15:09 +03:00
Doug 56476f8bb5 Re-write integration test login for OIDC. (#3997)
* Re-write integration test login for OIDC.

* Fix integration test logout button not being visible.

---------

Co-authored-by: Stefan Ceriu <stefanc@matrix.org>
2025-04-09 08:57:31 +01:00
manuroe 3950cac085 Dual licensing: AGPL + Element Commercial (#3657)
* New LICENSE-COMMERCIAL file

* Apply dual licenses: AGPL + Element Commercial to file headers

* Update README with dual licensing
2025-01-06 11:27:37 +01:00
Stefan Ceriu aad423dacc Fix integration tests after clearAndTypeText signature change. 2024-10-15 08:44:06 +03:00
Stefan Ceriu 9d23dec2e9 Tracing and integration test tweaks (#3336)
* Disable image and document picker integration tests as they randomly fail to load and are flakey.

* Delete any pre-existing log files

* Various tracing tweaks and fixes:
- delete the custom tracing log levels as we can't control their ouput
- implement comparable on them
- change default levels only if the new chosen level increases their verbosity

* Make logging targets mandatory and fix their logging levels

* Switch back to using the `run_tests` reset simulator flag as `fastlane snapshot reset_simulators` was too generic and slow

* Switch all integration test taps to `tapCenter` (nee forceTap) after noticing missed taps on CI.

* Make the logging file prefix explicit, let the main app not use one.

* Rename tracing configuration `target` to `currentTarget`
2024-09-27 15:08:47 +03:00
Stefan Ceriu 6759a66533 Fixes #3146 - Remove the account migration screen 2024-09-09 12:41:28 +03:00
Stefan Ceriu 664e87fe87 Switch license to AGPL (#3237)
* Switch license file to AGPL

* Update file copyright headers

* Update the default project file header
2024-09-06 16:34:30 +03:00
Stefan Ceriu a730689b1f Various reliability tweaks for the UI and integration tests. 2024-04-01 12:27:54 +03:00
Stefan Ceriu a62c96f1c5 Onboarding flow coordinator and FTUE changes (#2578)
Fixes #2595, fixes #2594, fixes #2593, fixes #2592, fixes #2591
2024-03-21 14:01:23 +02:00
Doug 3ba34c0704 Final changes for Room Moderation (#2576)
* Add confirmation that the user would like to discard unsaved changes.

* Update string on permissions screen.

* Fix UI tests and update snapshots.

* Fix integration tests.

* Run periphery for Moderation feature.
2024-03-15 13:41:23 +00:00
Stefan Ceriu 5944550721 In preparation of FTUE changes... (#2556)
* Remove the welcome screen

* Allow the UserSessionFlowCoordinator to control the whole app hierarchy, not only its splitView

* Start using the new verification state listener

* Rename Onboarding to AuthenticationStart in preparation for the new OnboardingFlowCoordinator; update snapshots and tests

* Make the AuthenticationCoordinator a proper FlowCoordinator

* Add some padding around the authentication start screen report a problem button

* Bump the RustSDK to v1.1.49

* Only add bottom padding on the authentication start screen report a problem button
2024-03-13 11:24:48 +02:00
Mauro dc7f45a77f removed unused button check (#2498) 2024-02-26 14:00:43 +01:00
Stefan Ceriu fcf78e93e0 More integration test tweaks (#2321)
* Improve integration test timings and alert handing

* Add missing `receive(on: DispatchQueue.main` on the invites screen

* Wait for photo library to load

* Disable the preferForLoop swiftformat rule and fix a couple of new warnings

* Delay invites screen snapshotting after dispatch main queue addition
2024-01-11 16:35:03 +02:00
Stefan Ceriu cf7e09e22e Various integration test tweaks following test homeserver and account change 2024-01-10 16:57:25 +02:00
Stefan Ceriu 569620c52f Check more screens in the integration tests. Refactor flows 2023-08-28 11:41:37 +03:00
Stefan Ceriu 76c5693a59 Split up the tests into performance tests that are measured, and user flow tests that access more screens and aren't 2023-08-25 13:33:06 +03:00