Commit Graph

303 Commits

Author SHA1 Message Date
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
Stefan Ceriu b075ddb047 Fixes #2414 - Move member loading to the room member detail screen, avoid blocking the whole application 2024-02-07 07:31:25 +00:00
Stefan Ceriu e80b43f148 Fix home screen UI test, mark user as migrated 2024-01-26 17:59:58 +02:00
Stefan Ceriu f0d971c1ab Move the account migration screen to within the room list 2024-01-26 15:35:05 +02:00
Stefan Ceriu 31286c75fc Fixes #734 - Add a "View logs" option to the report a problem screen
Move bug report and log viewer responsibility to a separate flow coordinator. Reuse it as a child coordinator in the authentication, userSessionFlow and settings flow coordinators.
2024-01-23 10:13:48 +02:00
Stefan Ceriu 0fe52fe54b Allow reporting a problem from the onboarding screen 2024-01-22 14:17:36 +02:00
Mauro 3ae33f1309 Lock screen rotation for the camera (#2353) 2024-01-18 13:24:15 +00:00
Stefan Ceriu 9a2966dacf Add a protocol for the WindowManager 2024-01-08 13:08:17 +02:00
Stefan Ceriu 8e4e9603e4 Move navigation coordination away from the SettingsScreenCoordinator and into the SettingsFlowCoordinator 2024-01-08 13:08:17 +02:00
Stefan Ceriu 5bcb4cec17 Fix UITests - Add back incorrectly removed "dead" code 2024-01-05 13:20:12 +02:00
Mauro 09fb5461e6 Removing dead code part 3 (#2264) 2023-12-19 12:12:16 +01:00
Nicolas Mauri 72a84badcb Polls history (#2244) 2023-12-18 15:38:39 +00:00
Mauro 123164f398 Removing dead code part 2 (#2235)
Co-authored-by: Doug <6060466+pixlwave@users.noreply.github.com>
2023-12-15 20:16:16 +01:00
Mauro b2e99bcfc5 Remove Read Receipts Feature Flag (#2228) 2023-12-12 15:27:15 +01:00
Stefan Ceriu 9ff1deaf73 Detect links in room detail topics and make it more obvious when the text is truncated (#2213) 2023-12-12 13:52:10 +00:00
Doug 6905ac5f70 Use ListRow in InviteUsersScreen and MessageForwardingScreen. (#2196)
* Use ListRow in InviteUsersScreen and MessageForwardingScreen.

* Remove button styles and fix snapshots.
2023-12-04 14:47:43 +00:00
Stefan Ceriu 742a924037 Move presentation and coordination logic from the RoomDetailsScreenCoordinator and into the RoomFlowCoordinator 2023-11-29 18:31:29 +02:00
Doug 9a52dcf9ac Add a state machine to AppLockFlowCoordinator. (#2166)
Fixes a bug when cancelling Face ID would loop back round to presenting Face ID.
2023-11-24 16:03:38 +00:00
Alfonso Grillo e583f52c65 Edit poll UX (#2151)
* Add edit poll on room proxy

* Add CreatePollMode

* Add “edit poll” presentation flow

* Add delete poll section

* Inject editing poll

* Add submit action

* Refactor validation logic

* Add edit/delete actions

* Fix bubble timestamp for polls

* Update localisations

* Refactor CreatePoll -> PollForm

* Refactor tests

* Update rust sdk to 0.0.5-november23

* Update confirmation alerts

* Add edit support in TimelineItem menu

* Refactor a11y id

* Cleanup

* Fix failing tests

* Add tests

* Refine isEditable workaround

* Refactor timestamp in TimelineItemBubbledStylerView
2023-11-23 11:19:15 +00:00
Doug 0b9da83470 Show the lock screen placeholder on willResignActive. (#2086) 2023-11-15 15:31:35 +00:00
Doug a2c2f872cd Fix for UI tests now showing the status bar. (#2065) 2023-11-13 07:30:41 +00:00
Doug 37d88e622c Add UI tests for AppLockFlowCoordinator. (#2055)
* Add UITests for the App Lock flow.

* Add Notification Signal

Fix unwanted imports in UITests.
2023-11-10 15:38:54 +00:00
Stefan Ceriu 4b26a798dc Have the UserIndicatorController use a separate window, switch to using one single instance throughout the application 2023-11-09 16:18:11 +02:00
Doug 1102beb3dd Add UI tests for mandatory PIN setup flow. (#2049) 2023-11-09 09:18:18 +00:00
Stefan Ceriu abe2080ee2 Extract room screen action handling into separate component (#2045)
* Extract room screen action handling into separate component

* Fix tracing configuration unit tests

* Move the custom reactionsCollapsedBinding to the TimelineReactionsView

* Move voice message playback handling from the timelineController to the room view model

* Reorder methods

* Remove the need for a media player provider in the timeline controller

* Move room attachments opening to the view model, remove the need for a media provider in the timeline controller

* Rename RoomScreenActionsHandler -> RoomScreenInteractionHandler

* Move message sending retry and cancellation to the timeline controller.

* Move audio playback, attachment loading and  user tapping handling into the InteractionHandler

* Fix unit tests

* Switch back swiftlint file_length rule error to 1000 lines
2023-11-08 18:31:39 +02:00
Doug 07313926c9 Add UI tests for optional app lock setup. (#2046) 2023-11-08 15:33:40 +00:00
Doug d0ec76cf96 Fix crash in a UI test. (#1996) 2023-10-31 15:01:08 +00:00
Mauro 0b31446817 Resizable Composer With Completion Suggestion View (#1971)
* resizable composer with suggestions view

* FF cleanup

* removing the view when the vertical size is compact

* merge conflict fix

* done

* solving a conflict

* Update ElementX/Sources/Screens/ComposerToolbar/View/CompletionSuggestionView.swift

Co-authored-by: Doug <6060466+pixlwave@users.noreply.github.com>

* pr suggestion

---------

Co-authored-by: Doug <6060466+pixlwave@users.noreply.github.com>
2023-10-27 13:54:30 +00:00
Doug c6e4dc2a37 Initial implementation for AppLockSetupFlowCoordinator. (#1949)
Rename AppLockSettingsScreen to AppLockSetupSettingsScreen.
Implement forced logout and persist PIN entry attempts.
2023-10-25 11:03:37 +00:00
Nicolas Mauri 2f57fbc77d Allow to record a voice message (#1926) 2023-10-23 15:47:36 +00:00
Doug 5356a56a00 Add AppLockSetupPINScreen. (#1930) 2023-10-23 09:07:13 +00:00
Stefan Ceriu c8b9d95122 #1899, #1900, #1901 - Implement chat backup setting screens 2023-10-19 15:34:10 +03:00
Doug ebd9f4c916 Add App Lock settings screen (#1917) 2023-10-19 12:26:34 +01:00
Nicolas Mauri 2f0b5a42f5 Prevent multiple conversion of the same voice message audio file. (#1887) 2023-10-13 09:48:11 +00:00
Doug b6470c9651 Initial setup ready for PIN/Biometric app lock. (#1876)
* Add AppLockCoordinator and WindowManager.
2023-10-11 12:59:47 +00:00
Mauro f7bf4b6e20 Mention in RTE (but without the pill yet) (#1863)
* suggestions in RTE, but they do not render as pills yet.

* remove unused code

* Update ElementX/Sources/Screens/RoomScreen/RoomScreenCoordinator.swift

Co-authored-by: Doug <6060466+pixlwave@users.noreply.github.com>

* PR suggestions

---------

Co-authored-by: Doug <6060466+pixlwave@users.noreply.github.com>
2023-10-09 12:26:53 +00:00
Mauro 8270a868a7 Completion Suggestion view for user mentions (#1859)
* created the list but I need to find a way to overlay it

* make the list able to have an intrinsic height

* best solution so far but does not work with expansion

* needs testing

* more scalable solution

* tests completed

* changelog

* injecting the media provider

* fix tests

* pr suggestions

* better testing
2023-10-06 15:47:31 +02:00
Mauro 7bde419e85 Pill View (#1797)
* provider can now check the current session

* More testable code

* created the test condition

* it works but not always not sure why, need to dig deeper

* sadly we need to use textkit 1 to solve this issue

* removed developer option screen test

* this experimental solution kinda works but I need a way to pill recomputation is weird

* format

* display improvement

* better and faster solution

* pilished the code

* better coloring

* swift format

* just need to solve the caching issue

* fix caching issue

* tests done!

* changelog

* pr comments addressed

* all pr comments addressed

* docs

* line lenght

* updated tests and fixed a parsing permalink issue

* MentionBuilder

* pr comments

* swiftformat

* code blocks should not have links

* Update ElementX/Sources/FlowCoordinators/RoomFlowCoordinator.swift

Co-authored-by: Doug <6060466+pixlwave@users.noreply.github.com>

* Update ElementX/Sources/Services/Client/ClientProxy.swift

Co-authored-by: Doug <6060466+pixlwave@users.noreply.github.com>

* Update UnitTests/Sources/AttributedStringBuilderTests.swift

Co-authored-by: Doug <6060466+pixlwave@users.noreply.github.com>

* Update ElementX/Sources/UITests/UITestsAppCoordinator.swift

Co-authored-by: Doug <6060466+pixlwave@users.noreply.github.com>

* Update ElementX/Sources/Other/Pills/PillAttachmentViewProvider.swift

Co-authored-by: Doug <6060466+pixlwave@users.noreply.github.com>

* Update ElementX/Sources/Other/Pills/MentionBuilder.swift

Co-authored-by: Doug <6060466+pixlwave@users.noreply.github.com>

* pr comments

* swiftformat

---------

Co-authored-by: Doug <6060466+pixlwave@users.noreply.github.com>
2023-09-27 17:27:07 +00:00
Alfonso Grillo 37afc8c253 Add polls "creator view" (#1765)
* Add end button in PollRoomTimelineView

* Add creator logic

* Refine PollRoomTimelineView previews

* Add UI tests

* Update preview tests
2023-09-21 14:59:17 +00:00