Commit Graph

606 Commits

Author SHA1 Message Date
Mauro ce6d68614a Showing the iOS default silhoutte when the user/room avatar is missing (#965)
* fix

* Element X app name

* project update

* improvement
2023-05-29 08:41:01 +00:00
Stefan Ceriu 590655197d Notification deep linking fix (#972)
* Fixed unused animated parameter

* Wait for lists to load before querying rooms if the cold cache isn't available

* Fix a couple of unused result warnings in the ExpiringTaskRunner unit tests
2023-05-29 11:21:01 +03:00
Velin92 33e80b5890 Translations update 2023-05-29 11:03:28 +03:00
Stefan Ceriu a1fdfd068a Fix UI tests (#950)
* Fixed unstored weak reference warning

* Prevent the timeline from jumping whenever we access XCUIApplication properties

* Prevent UI tests from causing side effects on the timeline

* Update userSession reference screenshots

* Fix create room UI tests

* Update inviteUsers UI test reference screenshots

* Allow certain tests to enable timeline accessibility

* Fix roomLayout tests and update reference screenshots

* Disable the testTimelineLayoutInMiddle test because of flakiness

* Update screenshots following timestamp addition

* Another attempt

* Yet another attempt, replace XCUIScreen screenshots with XCUIApplication ones, decrease delay to 1 second

* Allow tests to retry up to 3 times before failing the run
2023-05-26 17:43:38 +03:00
Stefan Ceriu 142a8d6275 Prevent race conditions when adding timeline listeners between the timeline provider and other screens 2023-05-26 17:42:39 +03:00
Stefan Ceriu 0082aba9d4 Fixes #918, #919 - Introduce a RoomTimelineFlowCoordinator and related FlowCoordinator protocol
Squashed commits:
Add unit tests and move the state machine into the FlowCoordinator
[bb686861] Replace the RoomFlowCoordinator's public interface with just `handleAppRoute`
[0d9a4f8d] Remove the navigationStackCoordinator dependency from the roomScreenCoordinator
[4b5fbdf2] Allow rooms to be selected from any other state
[41dbd127] Move all missing coordinators to the RoomFlowCoordinator and state machines
[f32431b7] The UserSessionFlowCoordinator does not need to conform to the CoordinatorProtocol
[0f07e87d] Fix leaving a room dismissing the currently selected one when different
[138385a2] Rewind the navigation stack when re-selecting the same room (iPad)
[0727eb93] Fix presenting different room details from the side menu on iPads
[faf4cc60] Fix selecting the same room multiple times
[fb3391da] Move room details presentation responsibility to the RoomFlowCoordinator. Fixed invitation flows.
[fa2a68d9] Rename RoomTimelineFlowCoordinator -> RoomFlowCoordinator
[0c9c06b5] Start moving things away from the RoomScreenCoordinator and into the RoomTimelineFlowCoordinator
[86cbbdcc] Introduce a RoomTimelineFlowCoordinator to deal with timeline related operations
[9b2381be] Introduce the FlowCoordinatorProtocol
2023-05-26 17:42:39 +03:00
Alfonso Grillo f2b7faa183 Room's details edit screen (#956)
* Add RoomDetailsEditScreen template

* Add navigation to the edit screen

* Delete template code

* Start RoomDetailsEditScreen UI

* Manage power levels in RoomDetailsScreen

* Start RoomDetailsEditScreenViewModel logic

* Inject initial room state

* Add cancel action

* Expose set name/topic APIs in RoomProxy

* Refine RoomDetailsEditScreen UI

* Add save logic

* Add localisations

* Fix avatar image

* Update localisations

* Add “Add topic” button

* Add feature flag

* Add dismiss on save logic

* Reduce throttling

* Improve form logic

* Fix UT build errors

* Add media sheet

* Add media preprocessing

* Add LoadableEditableAvatarImage

* Add condition on delete image

* Add avatar save button logic

* Add remove avatar logic

* Cleanup

* Fix edit bug in DM

* Add upload avatar

* Add focus

* Add RoomDetailsViewModel UTs

* Fix button style

* Add UTs

* Add empty topic ui test

* Fix iPad sheet presentation

* Revert topic appearance in room’s details

* Address PR comments

* Add UI tests
2023-05-26 13:47:12 +00:00
Stefan Ceriu 524997438f Revert "Adopt async uniffi in the RoomSummaryProvider and ensure diffs are still processed serially"
This reverts commit d710dafc94.
2023-05-26 15:01:17 +03:00
Mauro c3eb64bde5 Fix for flaky corner radius path generation (#958)
* fixed the flaky corner radius path generation

* format
2023-05-25 11:15:12 +00:00
Alfonso Grillo bf2102e5d1 Add room's update publisher (#952)
* Add room update publisher

* Cleanup

* Update room’s title

* Add refresh logic in RoomDetailsScreenViewModel

* Fix UTs

* Add UT

* Update timeline listener in RoomProxy

* Fix caching in LoadableAvatarImage

* Cleanup

* Update RoomProxy api

* Inject room proxy in RoomScreenViewModel

* Cleanup

* Fix UTs
2023-05-25 10:42:58 +00:00
Mauro c59921103d Inlined Timestamp in bubble style for messages that have a bubble (#947)
* web-like solution

* not super polished but working implementation

* polishing the spacing and sizes

* removing unused code

* code improvements

* adding a test case in the preview for RTL

* addressing some PR comments

* added some tests and polished the code

* better naming

* code improvement

* RTL fix

* Revert "RTL fix"

This reverts commit 14e4468a5358769daa57891f4991e9e32da1c985.

* better RTL fix

* updated UI tests

* separated some files

* addressed some PR comments

* some more tests
2023-05-25 10:13:45 +00:00
Stefan Ceriu 6b13c52cd0 Disable background app refreshes until we understand the deadlocks and crashes we've been seeing 2023-05-24 17:51:55 +03:00
Stefan Ceriu caa4abe659 Start using the new synchronous stopSync method 2023-05-24 16:07:23 +03:00
Stefan Ceriu d710dafc94 Adopt async uniffi in the RoomSummaryProvider and ensure diffs are still processed serially 2023-05-24 16:07:23 +03:00
Stefan Ceriu 0d97ed8075 Convert the SessionVerificationProxy to async-uniffi 2023-05-24 16:07:23 +03:00
Stefan Ceriu 59f60a14a2 Prevent room navigation back button from jumping while animating 2023-05-23 16:51:58 +03:00
Stefan Ceriu d38cf8f989 Bump the RustSDK to v1.0.66-alpha 2023-05-22 22:25:33 +03:00
Alfonso Grillo 3ff61f5158 Re-apply changes (#940) 2023-05-22 16:23:03 +00:00
Flescio beb61d109f Flescio/create room action (#925)
* fix invites users screen

* add create room action

* add a task runner with timeout, add fetch room summary after creation

* rename Runner, add Unit Test, separate UserProfile form client proxy

* change to all room summary publisher
2023-05-22 15:27:39 +00:00
Stefan Ceriu 16728ca438 Fixes #923 - Add background color to avatars 2023-05-22 17:41:02 +03:00
Alfonso Grillo d9e0f36aeb Invite people in an existing room (#915)
* Handle power levels

* Add “invite” button in RoomMembersListScreen

* Refactor DI in RoomDetailsScreenCoordinator

* Add navigation to “select people” coordinator

* Add InviteUsersScreenRoomContext

* Add invite user by id api

* Updare InviteUsersScreenRoomContext

* Support disabled state on FormButtonStyles

* Handle membership in UserProfileCell

* Fix conflicts

* Refactor RoomContext -> RoomType

* Refactor UserProfileCell

* Add invite action

* Setup navigation to user flow coordinator

* Add invite logic

* Fix test build errors

* Address comments

* Fix localisations

* Update required state

* Handle error

* Move invite logic in RoomDetailsScreenCoordinator

* Add navigation from room’s members list

* Fix UTs

* Fix missing display name in RoomMemberDetails

* Add user indicator

* Add feature flag

* Add RoomDetailsViewModel UTs

* Add room details ui tests

* Add InviteUsersViewModelTests UTs

* Add UI tests

* Update UI tests

* Empty commit
2023-05-22 14:03:07 +00:00
Mauro 8ed8cf6f0c Delivery Status Redesign (#931) 2023-05-22 15:17:06 +02:00
Velin92 9afc0c0747 Translations update 2023-05-22 08:32:36 +03:00
Alfonso Grillo d15ed1f6a3 Add share link in start chat flow (#926) 2023-05-19 15:34:35 +00:00
Stefan Ceriu 35d7f1f893 Attempt to simplify the background app refresh flows and always clean up the task while at the same time make sure the task is always cleaned up (#930) 2023-05-19 15:22:27 +00:00
Mauro 4e46c01945 Cleanup the background task that pauses the SDK when resigning active (#903)
* checking if the stop taskHandle is finished before stopping the bg task

* stopping the sync in background now works properly

* this will prevent the case in which if the app suspends and then is immediately foregrounded again, we do not start the sync

* now works as intended

* code improvement

* improved the code a bit
2023-05-19 08:28:30 +00:00
Mauro eb68f52a0f Run single Test on CI for faster debugging (#896)
* let's disable autocorrection

* waiting some more time in flaky tests and updated the content of a test that was failing

* controlled delay waited a bit moe for the timeline to settle

* try await

* trying with a bit more waiting time after the tap and a slow velocity for the swipe

* let's try waiting more time

* workflow for a single ui test

* las try

* slow swiping tests

* commenting out flaky CI tests, for now we'll just disable them

* better description

* flaky test improvement

* disabling animations that are not needed in UITests

* code that already prevents animations in UI tests

* code improv
2023-05-17 16:15:43 +00:00
Stefan Ceriu 3ed5e96e5d Fix background app refresh crashes. Make the user session an optional instead of it randomly crashing 2023-05-17 17:58:56 +03:00
Stefan Ceriu ce36be4e8b Adopt latest rust side sliding sync fixes. Relates to https://github.com/matrix-org/matrix-rust-sdk/pull/1936 2023-05-17 16:20:13 +03:00
Stefan Ceriu 0066761380 Fix styling post code review 2023-05-17 16:17:48 +03:00
Stefan Ceriu 6ec5922956 Update blockquote styling to latest designs 2023-05-17 16:17:48 +03:00
Stefan Ceriu 70790161f1 Start fetching timeline item details directly on creation 2023-05-17 16:17:48 +03:00
Stefan Ceriu 0608c68aee Added custom reply views for all message types as well as a loading state 2023-05-17 16:17:48 +03:00
Flavio Alescio 8b746fcd33 UI section title fix 2023-05-16 18:23:23 +02:00
Flavio Alescio 1b0948d618 remove keyboard from screenshots 2023-05-16 18:23:23 +02:00
Flescio 9fee8e7558 Update ElementX/Sources/Screens/CreateRoom/View/CreateRoomScreen.swift
Co-authored-by: Alfonso Grillo <alfogrillo@gmail.com>
2023-05-16 18:23:23 +02:00
Flescio 8cfb4c70ce Update ElementX/Sources/Screens/CreateRoom/CreateRoomViewModel.swift
Co-authored-by: Alfonso Grillo <alfogrillo@gmail.com>
2023-05-16 18:23:23 +02:00
Flavio Alescio fb76d062fc fix compile error, Task not throwing 2023-05-16 18:23:23 +02:00
Flavio Alescio 6723da16c6 remove create room parameters by reference and use coordinator flow instead 2023-05-16 18:23:23 +02:00
Flavio Alescio 372a2d5360 change accesibility identifiers, remove single selection button style, use Picker instead, 2023-05-16 18:23:23 +02:00
Flavio Alescio 41094cb293 fix throwing task compile error 2023-05-16 18:23:23 +02:00
Flavio Alescio da0b35ea6f add screenshots for UI test 2023-05-16 18:23:23 +02:00
Flavio Alescio f8b7b86641 add UI test, separate model class in Services, UI fix for button with single selection style 2023-05-16 18:23:23 +02:00
Flavio Alescio 2bcefd31e9 UI on create room screen 2023-05-16 18:23:23 +02:00
Flavio Alescio 7ad302e5e7 persisting create room parameter in volatile memory 2023-05-16 18:23:23 +02:00
Flavio Alescio 4eb8906b6b Create room: add selectable state for security, add navigation to screen 2023-05-16 18:23:23 +02:00
Flavio Alescio a4334ebb0d work on text input for room creation 2023-05-16 18:23:23 +02:00
Flavio Alescio 06147cd99c add files for create room screen, add selected users section with test 2023-05-16 18:23:23 +02:00
Stefan Ceriu f1a26417bd Add list name to room summary provider logs to avoid confusion between multiple instances 2023-05-16 12:46:06 +03:00
Stefan Ceriu 1af710d2b0 Switch the RustSDK to v0.0.1-paginate-only-with-token in order to test out a timeline ordering fix 2023-05-15 19:19:44 +03:00