493 Commits

Author SHA1 Message Date
Doug
76e7de40b5
Prepare for event focus and forward pagination (#2745)
Neither are available yet.
2024-04-25 18:32:33 +01:00
Stefan Ceriu
d949b17448 dd support for deeplinking/navigating into the same room multiple times
- fix bugs around the view <-> view models going out of sync
- unwind the stack if the room is already presented
2024-04-24 11:29:54 +03:00
Stefan Ceriu
69ffd3be46 Handle alias room permalinks 2024-04-23 08:01:30 +03:00
Stefan Ceriu
8ba544bc44
Cleanup following the AppMediator introduction (#2723)
- stop using multiple background task, the appCoordinator sync one is enough for the whole app
- move the AppMeditor to the MainActor
- expose the WindowManager through the AppMediator
- hide sensitive WindowManager API behind a different protocol
- remove the now unnecessary `BackgroundTaskService`
2024-04-22 18:10:24 +03:00
Stefan Ceriu
effe3b6a9b
Membership aware room routes (#2709)
* Remove the invites button when room list invites are enabled

* element-hq/element-x-ios/issues/2632 - Handle room permalinks based on their membership state and show the according room joining screens:
- modify the room flow coordinator to only take a roomID and be able to decide its own room flows (especially for unjoined rooms)
- add support for the new room preview API
- have RoomDirectorySearch go through the same paths
2024-04-19 17:04:18 +03:00
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
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
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
Stefan Ceriu
891315ef04 Remove now unused room and event matrix entity regexes 2024-04-12 18:04:41 +03:00
Stefan Ceriu
fcc25dd441 Adop the new SDK permalink detector and user builder 2024-04-12 18:04:41 +03:00
Doug
f8920d4d11
Initial implementation of the JoinRoomScreen. (#2684)
* Update Compound and use super button for room directory.
2024-04-12 13:13:22 +01: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
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
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
Mauro
c61135f88c
QR Code Login Initial view state (#2667) 2024-04-09 12:21:14 +02:00
Doug
bc75fe1cf8
Fix child presentation of the same room. (#2669) 2024-04-09 11:11:14 +01:00
Doug
761824fa0d
Tweak internal/external deeplink handling (#2664)
* Add a childRoom AppRoute.

* Add a tests for child room routes.
2024-04-08 16:44:03 +01:00
Stefan Ceriu
d996c69a66 Small recently visited room tweaks following PR review 2024-04-08 14:56:02 +03: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
Doug
3418d24557
Allow RoomFlowCoordinator to start a child flow. (#2644) 2024-04-04 11:30:38 +01:00
Stefan Ceriu
82527958f7 Fix notification center unit tests, setup authorization status return value 2024-04-03 12:35:51 +03:00
Stefan Ceriu
cb585eef5f Fixes #2618 - Allow dashes in room identifiers 2024-04-02 14:19:35 +03: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
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
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
Mauro
7611123ae1
Send UTD occurences to Posthog (#2575)
Co-authored-by: Stefan Ceriu <stefan.ceriu@gmail.com>
2024-03-15 00:42:44 +01:00
Doug
c68ec2c382
Add analytics for Room Moderation. (#2571)
* Add an option to use analytics locally.

* Add analytics for Room Moderation.

* Update tests.

* Include the role in the event where appropriate.

* Update the AnalyticsEvents package.
2024-03-14 15:55:37 +00:00
Doug
c56a98033d
Revert "Show room member role changes in the timeline." (#2573)
Until we can handle filtering Rust side, this causes more issues than its worth.
2024-03-14 11:01:23 +00:00
Doug
1c914c314f
More Moderation tweaks (#2566)
* Show room member role changes in the timeline.

* Fix a bug in room flow coordinator.

* Tidy up roles and permissions flow.

* Refresh the power levels in the room details screen.

* Automatically update permissions after saving.

* Remove extra button.

* Add a short delay to the roles and permissions screen snapshots.
The permissions rows are now in a loading state initially.
2024-03-13 15:36:38 +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
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
Doug
046f1dd533
Add RoomChangeRolesScreen. (#2534)
Not part of a flow yet, just the screen.
2024-03-07 16:24:05 +00:00
Mauro
82a5d34dd7
New filters ordering and faster animation (#2536) 2024-03-07 10:13:34 +01: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
Mauro
4320e5c9e0
Filters UI Update and ordering (#2521) 2024-03-04 18:32:59 +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
f5c43ed68f Fix flakiness for tests that rely on room members loading quickly. 2024-02-28 14:19:17 +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
ff35688088
Handover log file management to Rust. (#2495)
* Handover log file management to Rust.

Fix all the tests, disabling the logging ones for now.

* Merge logging tests into a single case 😬

Not ideal but at least they're now running.

* Move TracingConfiguration into its own file.

* Split up the tests into smaller functions instead of writing code like a caveman.
2024-02-23 18:29:13 +00:00