387 Commits

Author SHA1 Message Date
Stefan Ceriu 59cc9c27ec Attempt to fix the every flakey app lock setup test
We noticed that confirming the PIN will automatically hide the keyboard which makes the whole screen shift down while attempting to press the allow button. We also see an `App animations complete notification not received, will attempt to continue.` warning which seems to point to the same issue.
2025-01-29 17:31:03 +02:00
Stefan Ceriu 2e57348bdd Fix wrong room roles and permissions screen UI snapshots. 2025-01-28 12:55:37 +02:00
Stefan Ceriu fc719d9aa6 Delay snapshotting various flakey UI tests
- as per https://app.codecov.io/gh/element-hq/element-x-ios/tests/develop?historicalTrend=INTERVAL_30_DAY&parameter=FAILED_TESTS
2025-01-08 12:35:58 +02: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 4488202dac Fix encryption settings UI test snapshots 2024-12-25 21:00:48 +02:00
Stefan Ceriu 0b85964f73 Monthly media gallery separators (#3601)
* Fix the order of the items in the media grid.
* Add media gallery timeline separators.
* Change the `SeparatorRoomTimelineItem` to have it expose a Date timestamp instead of a text string.
2024-12-11 13:32:29 +02:00
Stefan Ceriu ea0fa6b3b6 UI test snapshot fixes (#3597) 2024-12-10 10:02:57 +02:00
Doug a9e4837b62 Use a Date for the timestamp in all timeline items. (#3590)
* Use a Date for the timestamp in all timeline items.

* UI test snapshots.

* Update snapshots

---------

Co-authored-by: Stefan Ceriu <stefanc@matrix.org>
2024-12-06 13:55:29 +00:00
Doug ab2152096d Fix UI snapshots. (#3585)
* Remove old snapshots.

* Add a check for the correct simulator name.

* Record mismatched snapshots.

* Regenerate more snapshots using a (temporary) higher precision.

* Fix snapshot.
2024-12-04 11:59:53 +00:00
ElementRobot 9157bf267e Translations update (#3523) 2024-11-18 10:59:17 +00:00
Stefan Ceriu 5aadf4e65b UI test fixes (#3515)
* More UI test fixes

* Update all UITest snapshots.

* Wait for reset waiting indicator to be removed before snapshotting the encryption reset screen
2024-11-14 16:44:36 +02:00
Stefan Ceriu 9746da78a2 Fix UI tests following Xcode 16.1 migration 2024-11-14 08:16:23 +02:00
Stefan Ceriu e4f346cbc7 Fix useSessionScreen test snapshots. 2024-11-07 11:36:44 +02:00
Stefan Ceriu 1347992cbc Fix ElementCall UI test 2024-11-07 11:36:44 +02:00
Doug 8e26718d0b Encryption Flow Coordinators. (#3471)
* Manage the secure backup screens with flow coordinators.

* Add UI tests for the EncryptionSettingsFlowCoordinator.

* Realise that the settings flow can't reset anymore and remove the sub-flow 🤦‍♂️

* Add UI tests for the EncryptionResetFlowCoordinator.
2024-11-04 14:22:50 +00:00
Stefan Ceriu d77bb935b7 Incoming session verification support (#3428)
* Fixes #1227 - Add support for receiving and interacting with incoming session verification requests.
* Fix a couple of random small warnings
* Move static view config to the view state
* Update snapshots
2024-10-29 15:21:17 +02:00
Doug 6584b4d084 Update HeroImage to match the BigIcon component from Compound. (#3439)
We can move it across in a following PR.
2024-10-23 12:13:14 +01:00
Doug 13bc3a1dd4 Update the secondary button stroke colour. (#3393)
* Update Compound which changes the secondary button stroke colour.

* Remove old UI test snapshots and update Acknowledgements.
2024-10-10 12:46:42 +01:00
Doug 429ce4fe61 Ask the iPad to reveal the keyboard in UI Tests when it's hidden. (#3389) 2024-10-10 08:38:40 +01:00
Doug 5c2b107022 Fix an authentication UI test snapshot. 2024-10-09 11:51:55 +01:00
Doug ac02b82d56 Record missing snapshot. (#3374) 2024-10-07 10:50:03 +01:00
Stefan Ceriu c79dbe85a0 Bump the RustSDK to v1.0.53: adopt latest record based timeline item APIs (#3356) 2024-10-01 18:50:11 +03:00
Doug a8dbda90d9 Configure the AuthenticationService later now that we have 2 flows on the start screen. (#3316)
* Don't query the homeserver until confirming it (or selecting a different one).

* Setup the infrastructure to test AuthenticationService.

Implement basic tests for configuration & password login.

* Use the real AuthenticationService with a mock Client in all of the tests.

* Add tests for the ServerConfirmationScreenViewModel.

* Remove redundant view state and test for it.
2024-09-25 14:40:18 +01:00
Doug 4996137006 Fix various flakey tests. 2024-09-23 16:25:49 +01:00
Doug d2d3b28dc7 Use an environment variable to record failures. 2024-09-23 16:25:49 +01:00
Doug 6818be1afc Update UI tests for Xcode 16. 2024-09-23 16:25:49 +01: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 d66ff02d12 Revert "Fix timeline item highlighting UI test"
This reverts commit eac2552ab5.
2024-05-14 16:04:16 +03:00
Doug b7d492c206 Add Forgot PIN button to AppLockSetupPINScreen. (#2833) 2024-05-13 15:41:35 +01:00
Stefan Ceriu a401976b2b Enable room list invites by default and remove old code paths 2024-05-09 19:01:57 +03:00
Stefan Ceriu 636274df74 Seamlessly switch for the RichTextEditor based message composer to the… (#2753)
* Seemlesly switch for the RichTextEditor based message composer to the plain one depending on whether formatting options are enabled or not.

* Address PR comments

* Fixes #2803 - Add extra padding at the bottom of the composer suggestions list

* Update preview test snapshots

* Update UI test snapshots
2024-05-08 17:57:32 +03:00
Stefan Ceriu a08b4842d1 Fixes #2790 - Reorder available composer menu actions 2024-05-07 17:52:45 +03:00
Stefan Ceriu eac2552ab5 Fix timeline item highlighting UI test 2024-05-07 16:55:39 +03:00
Doug d067e844da Permalink polish (#2771)
* Fix unbalanced padding.

* Animate the scroll to an event when it is already loaded.

* Perform the timeline clearance immediately before replacing the items.
Hides the empty timeline that was briefly shown.

* Make switching timeline more resilient.
2024-05-02 17:51:38 +01:00
Doug 7c94ed98a5 Permalink Tweaks 2 (#2766)
* Missing changelog.

* Parse bare room aliases as permalinks.

Update the SDK.

* Fix tapping the same permalink twice.

Add a test.

Don't clear the focussed item when reaching the bottom of the timeline.

* Make sure sending a message returns to live.
2024-04-29 17:32:16 +01:00
Doug 7b2168a540 Event Permalink Tweaks (#2754)
* Handle errors focussing the timeline.

* Add a test for focussing on an existing timeline item.
2024-04-29 10:00:41 +01:00
Doug 76e7de40b5 Prepare for event focus and forward pagination (#2745)
Neither are available yet.
2024-04-25 18:32:33 +01:00
Doug b5f1d5947b Add missing image provider to RoomChangeRolesScreenViewModel. (#2715)
* Add an assertion for a missing image provider.

* Pass an image provider to RoomChangeRolesScreenViewModel.

* Update snapshots.
2024-04-19 11:56:41 +01:00
Doug 0856891733 Final design for pending members when changing roles. (#2668)
* Final design for pending users when changing role.

* Remove room moderation feature flag.

* Fix tests.

* Run periphery.

* Update snapshots.
2024-04-09 12:00:11 +01:00
Doug 181753e43d Update appearance of admins when changing moderators. (#2654) 2024-04-05 12:19:46 +01:00
Stefan Ceriu a730689b1f Various reliability tweaks for the UI and integration tests. 2024-04-01 12:27:54 +03:00
Stefan Ceriu 0e3630fca1 Fix UI test snapshots 2024-03-27 17:59:40 +02:00
Stefan Ceriu 92eaa7075a UI test cleanup (#2598)
* Stop running the UI tests on the double localized pseudolanguage

* Fix UI tests signalling comms problem because the json key ordering wasn't defined and the messages wouldn't match.

* Remove UI tests that are now the same as preview tests (i.e. non flow based, only screen based), fixed the rest so they run on iOS 17.2, the iPhone 15 and iPad 10th gen simulators.

* Remove unnecessary gitignore instructions, change UI test snapshot naming convention to be more similar to the unit test ones

* Enable derived data and spm checkout caching for UI tests

* Switch UI tests back to the perf-only runner, moved the integration tests to the iPhone 15 Pro simulator.

* Address PR comments
2024-03-25 17:34:11 +02:00
Doug f9f163ff78 Fix UI test snapshots. (#2582) 2024-03-19 15:29:16 +00: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
Doug 71721f01b1 Moderation tweaks (#2548)
* Only allow admins to see the roles and permissions screen.

* Hide the selection checkbox on Admins when changing roles.

* Show an empty state for banned users.

* Add separate actions for ban and remove.

* Implement reset permissions and demote self alerts.

* Add tests for resetting permissions and demoting self.

* Add a warning when promoting someone to administrator.
2024-03-11 14:19:53 +00:00
Doug 5ec63e901d Add RoomRolesAndPermissionsFlowCoordinator. (#2539) 2024-03-08 12:25:43 +00:00
Mauro c66ddfb71e Filters, Mark Unread/Read/Favourites FF removals + code and tests clean up (#2541) 2024-03-07 17:56:09 +01:00
Stefan Ceriu 7615e97c7f Fixes #2486 - Implement blocked users management in the app settings 2024-02-28 13:21:54 +02:00