Commit Graph

658 Commits

Author SHA1 Message Date
Stefan Ceriu 9a172df7fd Introduce an AppMediator which will:
- combine multiple services to handle app wide requests
- remove direct UIApplication access from everywhere
- fix #2703 by combining UIApplication.applicationState with the WindowManager's main window appearance
- leave the door open for more app control in the future (especiall for the mac)
2024-04-19 15:43:56 +03:00
Stefan Ceriu 20d57e4998 Bump the RustSDK to v1.1.59, regenerated the SDK mocks 2024-04-18 15:01:31 +03:00
Doug e7af7fb59c Handle external links to a user. (#2690) 2024-04-15 11:08:00 +01:00
Stefan Ceriu 4d513f9ed1 Stop relying on the NotificationCenter for removing delivered push notifications:
- this will improve the architecture but more importantly will remove some very flakey unit tests
2024-04-12 19:18:00 +03:00
Mauro fc1310d7ad QR Code, verification code views (#2685) 2024-04-12 09:29:14 +00:00
Mauro 9bc24e2038 QR Code error views (#2678)
Co-authored-by: Doug <douglase@element.io>
2024-04-11 08:32:56 +00:00
Stefan Ceriu 7645971812 Attempt to improve unit test reliability:
- synchronize mock properties on the main queue
- sleep for longer when processing routes
- finish encoding before deallocating the keyed archiver
- wait for NotificationCenter notifications to be delivered
- change were we process remote notification permissions
2024-04-10 17:40:47 +03:00
Mauro bcd7e2254c QR Code scan view (#2674) 2024-04-10 10:47:23 +00:00
Stefan Ceriu 064626fbbe element-hq/element-x-ios/issues/2670 - Show invites as part of the room list 2024-04-09 18:18:11 +03:00
Mauro c61135f88c QR Code Login Initial view state (#2667) 2024-04-09 12:21:14 +02:00
Stefan Ceriu 97d9189077 Fixes #2624, fixes #2625 - Add user suggestions in the create room flows. 2024-04-04 16:45:10 +03:00
Stefan Ceriu c85c1593ee Cleanup proxy errors
- proxy errors have been getting repetitive and not particularly useful
- differentiate between sdk and client errors and keep what provides value
- add error logs everywhere a failure occurs
2024-04-04 14:22:56 +03:00
Stefan Ceriu 834a830952 Use RustSDK permalink builders:
- replace event permalinks on the room screen interaction handler
- replace the one use don the room details screen
- deprecate previous AttributedStringBuilder methods
- there's more work required on the AttributedStringBuilder mentions handler before we can completely drop the iOS implementations
2024-04-02 14:19:35 +03:00
Stefan Ceriu 27605da0bb Fix secure backup recovery key screen snapshots following translation update. 2024-04-01 13:35:55 +03:00
Doug b37dca253b Update RTE allowing Xcode 15.3 to be used. (#2614)
* Update RTE allowing Xcode 15.3 to be used.

* Don't actually use Xcode 15.3 yet, it isn't supported on GitHub 🤦‍♂️

* Revert Xcode 15.3 format changes.
2024-03-28 08:46:13 +00:00
Doug 144f3a7fc4 Hard code the room flow to a single room proxy. (#2599)
* Don't give the room flow a split coordinator any more.
2024-03-27 10:56:58 +00:00
Doug e424a02a2b Fix various bugs in the moderation feature. (#2608)
* Fix search field string.

* Show your own user as an Admin when changing roles.

* Also show invited users when changing roles.

* Don't allow admin's to kick/ban other admins or themselves.

* Fix a bug when left members were counted as admins/moderators.

* Show when a member is pending.

* Add sections to the change role screen.
2024-03-27 10:33:40 +00:00
Stefan Ceriu be9cf8713e Fixes #2518, fixes #2590 - Implement public room search list paginati… (#2607)
* Fixes #2518, fixes #2590 - Implement public room search list pagination and room joining

* Address PR comments
2024-03-27 10:50:53 +02:00
Stefan Ceriu 618f22c892 Bump the RustSDK to v1.1.52 2024-03-22 16:12:24 +02:00
Mauro 562e5e739d Public Search View (#2585)
Co-authored-by: Doug <6060466+pixlwave@users.noreply.github.com>
2024-03-21 14:34:35 +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 e36db7dd66 Update the SDK adopting new power levels APIs. (#2545)
* Update the SDK adopting new power levels APIs.

* Fix test compilation error.
2024-03-08 15:26:15 +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
Doug 046f1dd533 Add RoomChangeRolesScreen. (#2534)
Not part of a flow yet, just the screen.
2024-03-07 16:24:05 +00:00
Mauro 7754b9b8dc Searching disables the filters (#2530) 2024-03-06 11:02:30 +01:00
Doug 1b5db6c63d Update the SDK and handle breaking changes. (#2527) 2024-03-05 15:08:34 +01:00
Doug bd15190b23 Add RoomChangePermissionsScreen (#2513) 2024-03-01 16:11:22 +00:00
Stefan Ceriu 932ba75550 Replace the existing RoomSummaryProviderMock with a generated one 2024-02-29 10:14:37 +02:00
Stefan Ceriu c8f728ca23 Replace the existing MockClientProxy with a generated one + special configuration options 2024-02-28 17:18:01 +02:00
Stefan Ceriu 7615e97c7f Fixes #2486 - Implement blocked users management in the app settings 2024-02-28 13:21:54 +02:00
Doug a0b510cb6b Add roles and permissions screen (#2505)
The screen hasn't been added to the flows yet.
2024-02-27 17:06:39 +00:00
Doug fdbaef5aee Kick/ban room members (#2501)
* Add a temporary membershipChangePublisher on the timeline.

* Kick/Ban users from a room.

* Unit tests.

* Disable autocorrection on the members list search field.
2024-02-27 13:02:35 +00:00
Doug 730d099a76 Add RoomDetails for use (with RoomMemberDetails) in AvatarHeaderView. (#2490)
* Add RoomDetails and refactor AvatarHeaderView to use it.
* Remove old displayName property and use RoomDetails in the RoomDetailsScreenViewState
2024-02-21 14:19:05 +00:00
Mauro 9b949ce84e Configure SDK to use the global/OS proxy (#2493) 2024-02-21 15:17:23 +01:00
Stefan Ceriu 6d9271ce59 Fixes #2320 - Implement support for (un)marking rooms as favourite from the room list and room detail screens 2024-02-19 17:51:43 +02:00
Doug 9d1d5e43a9 Show banned members in the members list. (#2460)
Only shown to users with enough power to ban.
2024-02-16 12:49:35 +00:00
Stefan Ceriu db05540cc5 Show recovery instead of verification if this is the last session and recovery is set up
* Show recovery instead of verification if this is the last session and recovery is set up

* Rename `recoveryKeyState` to `recoveryState`

* Remove duplicates on session security state changes.

* Fix missing "Save recovery key" button

* Fix unit tests

* Rename `isLastDevice` to `isOnlyDeviceLeft`

* Address PR comments
2024-02-16 11:38:49 +02:00
Stefan Ceriu 5cb5862e5e Bump the RustSDK, adopt new marking/flagging rooms as (un)read API and fix sending read receipts when entering rooms or making the app active again 2024-02-14 12:33:19 +02:00
Stefan Ceriu f2e9c32e8d Fixes #2347, #2348, #2349 - Add support for typing notifications 2024-02-13 15:27:52 +02:00
Doug c1aaf331a3 Sort members in the member list by power level and show mods and admins. (#2448) 2024-02-12 10:39:06 +00:00
Stefan Ceriu c32015278e Infer joined and active member count from the member list
* Infer joined and active member count from the member list, default the members to all mock members

* Address PR comments, fix some tests and screenshots
2024-02-07 19:10:15 +02:00
Stefan Ceriu 775d66ea2a Bump analytics following mark as (un)read PR merge 2024-02-06 18:06:15 +02:00
Stefan Ceriu 626d0d46ee Fix fatal errors on unit tests when opening rooms because the return value of markAsRead was undefined 2024-02-06 11:50:24 +02:00
Stefan Ceriu 9915a33964 Fixes #2360 - Add support for manually marking rooms as unread (#2408)
* Fixes #2360 - Add support for manually marking rooms as unread

* Add analytics for marking rooms as (un)read

* Remove unnecessary analytics abstraction levels

* Fix breaking API changes following SDK bump

* Add changelog

* Handle PR comments

* Fix unit tests
2024-02-05 18:06:50 +02:00
Doug e80612b968 Update compound and remove all of the temporary icons (#2419)
* Update compound and fix breaking changes.

* Replace a lot of temporary icon assets with Compound versions.

* Replace temporary composer icon assets with Compound versions.

* Remove old icon asset from EI.

* Use Compound icons where possible for hero images.

* Snapshots
2024-02-05 16:03:13 +00:00
Stefan Ceriu 7aa81f542c Base ElementCall encryption on the room encryption state, remove developer options setting 2024-02-01 17:18:17 +02:00
Stefan Ceriu 119fa09617 #2380 - Add simple call screen UI test 2024-01-26 11:48:48 +02:00
Mauro e755be4cda Settings to enable and disable sending public RRs (#2384) 2024-01-25 15:47:33 +01:00
Mauro 30a0561251 App now prevents redacting own messages if there is no permission (#2368) 2024-01-23 11:05:30 +00:00