291 Commits

Author SHA1 Message Date
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
Mauro 993fe8cd36 TimelineKind refactor (#3193) 2024-08-22 18:33:21 +00:00
Mauro 4eb1ed5d09 Pinned Events Timeline actions and differentiation (#3182) 2024-08-22 17:35:44 +02:00
Doug 304070e8cc Use native video call picture in picture! (#3190)
* Use native video call picture in picture!

* Handle isSupported, isPossible and web view errors.

* Use new canEnterPip method.

* Hide a room's Call button when already joined to the call.

* Tweak feature flag description.

* PR comments.
2024-08-21 17:48:57 +01:00
Stefan Ceriu e281a3f242 Introduce a new RoomProxyType and treat rooms differently based on their membership state 2024-08-21 12:24:20 +03:00
Doug 6616d1799f Remove encryption authenticity feature flag. (#3180) 2024-08-19 09:49:10 +01:00
Mauro ed7d3b0b13 Navigate to the Pinned events timeline (#3139) 2024-08-08 18:29:39 +02:00
Mauro 08347e15a5 Pinned events banner loading state (#3118) 2024-08-06 15:46:56 +02:00
Mauro ff2c42d53b Pinned items timeline implementation for the banner (#3099) 2024-08-05 14:09:05 +02:00
Valere a11faeb131 Show Encryption Authenticity warnings on messages in the timeline. (#3051)
* Initial implementation.

* Add developer option for showing timeline item authenticity.

* Refactor code to use new SendInfo.Status.

---------

Co-authored-by: Doug <douglase@element.io>
2024-08-05 11:15:38 +00:00
Doug cdd763efd4 Add a certificate validator hook. (#3069)
* Add a certificate validator hook.

* General tidy up of AppHooks.

* Don't worry about the generic call links.
2024-07-19 17:05:54 +01:00
Stefan Ceriu 3e005c8ba3 Fix broken ElementCall UI test, add missing deviceID to the ClientProxyMock 2024-07-19 09:51:50 +03:00
Doug c92c6a28ae Upgrade the project to use Xcode 15.4 (#3027)
* Update snapshots for Xcode 15.4

* Update CI.

* Fix crashing UI test.

* Fix compile error in Integration Tests.

* Try putting UI tests on GH runners again.
2024-07-11 17:38:32 +01:00
Stefan Ceriu 41d40d8de0 Cleanup how we setup the CallKit provider and have it be used for outgoing calls as well (#2967)
- tear down ElementCall screens when ending the call from the CXCallController
- make the call UI available in the task manager and lock screen
- Fix broken hang up widget message format
2024-06-27 14:07:44 +03:00
Mauro ef482e6b54 Fix ui tests that use the composer draft service (#2956) 2024-06-21 14:34:16 +02:00
Mauro cefa38049f Store and restore drafts (#2898) 2024-06-13 12:19:38 +00:00
Stefan Ceriu 9f6fc1d42f Fix various swiftlint and swiftformat warnings 2024-06-11 18:09:43 +03:00
Stefan Ceriu 2079bf40c6 Introduce mock SDK timeline items and a live, lorem ipsum based, timeline provider 2024-06-11 18:09:43 +03:00
Doug c51593476c SwiftLint fixes. (#2899)
non_optional_string_data_conversion and static_over_final_class

* Revert Data -> String changes for upcoming rule change.
2024-06-05 07:31:49 +01:00
Stefan Ceriu a4c9135b58 Decouple the bug report service from the analytics one 2024-05-30 15:42:26 +03:00
Mauro 4e23f7be22 QR Code Login Flow (#2767)
Co-authored-by: Hugh Nimmo-Smith <hughns@users.noreply.github.com>
Co-authored-by: Hugh Nimmo-Smith <hughns@element.io>
2024-05-29 17:07:17 +02:00
Stefan Ceriu 3a904ebc9d Replace the old MockUserSession with the generated UserSessionMock 2024-05-27 17:05:01 +03:00
Stefan Ceriu f6c476eeca Show ElementCalls in the system Recents list and allow deep linking back into a call from there 2024-05-27 17:04:48 +03:00
Stefan Ceriu 8bfd802793 Add support for showing the native OS incoming call screen when starting new Element Calls 2024-05-24 15:32:56 +03:00
Valere f0ac0a63fb Add device keys to rageshakes (#2838) 2024-05-21 09:54:16 +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
Doug f688d2eda4 Permalink Tweaks (#2768)
* Revert back to creating a new flow when re-selecting the same room.

Fix the composer bug by adding IDs to the all of the module AnyViews.

* Don't show the live timeline when starting with a focussed event.
2024-04-30 17:25:32 +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
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 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
Mauro bcd7e2254c QR Code scan view (#2674) 2024-04-10 10:47:23 +00: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 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 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
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 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
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
Doug 1b5db6c63d Update the SDK and handle breaking changes. (#2527) 2024-03-05 15:08:34 +01: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
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
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
Stefan Ceriu 023e10edf2 Fixes #2470 - Allow verifiying a session through entering the recovery key 2024-02-19 17:36:38 +02: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