Commit Graph

610 Commits

Author SHA1 Message Date
Doug
7c4d0631df Server Confirmation Screen (#959)
* Add ServerConfirmationScreen.
2023-05-30 10:31:18 +01:00
Mauro
7338fc998b Generating SDK Mocks through the usage of swift run tools generate-sdk-mocks (#982)
* basic implementation, that works for now only with the local SDK

* replaced a handmade mock with a generated mock
2023-05-30 09:48:55 +02:00
Alfonso Grillo
13a0bd4ac2 Fix update on LoadableImage (#973)
* Refactor LoadableImage

* Cleanup
2023-05-29 10:53:23 +00:00
Mauro
3885f234d0 Logging the failed device token registration (#969)
* logging the failed registration

* Update ElementX/Sources/Services/Notification/Manager/NotificationManager.swift

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

---------

Co-authored-by: Doug <6060466+pixlwave@users.noreply.github.com>
2023-05-29 08:58:12 +00:00
Mauro
6897ca94eb 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
4857c1c26a 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
ac546e90ea Translations update 2023-05-29 11:03:28 +03:00
Stefan Ceriu
3888536163 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
d10647628c Prevent race conditions when adding timeline listeners between the timeline provider and other screens 2023-05-26 17:42:39 +03:00
Stefan Ceriu
b0ef79bbe8 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
980e113a98 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
73e7369b68 Revert "Adopt async uniffi in the RoomSummaryProvider and ensure diffs are still processed serially"
This reverts commit 59922983a2.
2023-05-26 15:01:17 +03:00
Mauro
36a82750e7 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
61dcf6ec72 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
db2b2b7e34 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
b8545ebd0f 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
4c4764fc5d Start using the new synchronous stopSync method 2023-05-24 16:07:23 +03:00
Stefan Ceriu
59922983a2 Adopt async uniffi in the RoomSummaryProvider and ensure diffs are still processed serially 2023-05-24 16:07:23 +03:00
Stefan Ceriu
39cb509c32 Convert the SessionVerificationProxy to async-uniffi 2023-05-24 16:07:23 +03:00
Stefan Ceriu
d5a1b95265 Prevent room navigation back button from jumping while animating 2023-05-23 16:51:58 +03:00
Stefan Ceriu
7909b1e974 Bump the RustSDK to v1.0.66-alpha 2023-05-22 22:25:33 +03:00
Alfonso Grillo
9afab81f77 Re-apply changes (#940) 2023-05-22 16:23:03 +00:00
Flescio
c9d7a70bcc 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
4ca615e890 Fixes #923 - Add background color to avatars 2023-05-22 17:41:02 +03:00
Alfonso Grillo
f2f335d3f3 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
e21c75087c Delivery Status Redesign (#931) 2023-05-22 15:17:06 +02:00
Velin92
7e589adc65 Translations update 2023-05-22 08:32:36 +03:00
Alfonso Grillo
0cb4dbfba5 Add share link in start chat flow (#926) 2023-05-19 15:34:35 +00:00
Stefan Ceriu
5b45818b9d 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
4f6f19760f 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
b0de00a5b5 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
1ff3dfe6ea 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
df9c94c3b0 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
22e0656633 Fix styling post code review 2023-05-17 16:17:48 +03:00
Stefan Ceriu
25f36c6d23 Update blockquote styling to latest designs 2023-05-17 16:17:48 +03:00
Stefan Ceriu
ada4fb81a4 Start fetching timeline item details directly on creation 2023-05-17 16:17:48 +03:00
Stefan Ceriu
7ec618b7ff Added custom reply views for all message types as well as a loading state 2023-05-17 16:17:48 +03:00
Flavio Alescio
920dcf419f UI section title fix 2023-05-16 18:23:23 +02:00
Flavio Alescio
f8543701b6 remove keyboard from screenshots 2023-05-16 18:23:23 +02:00
Flescio
ab9c687448 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
94c632d81b 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
ae6af5a987 fix compile error, Task not throwing 2023-05-16 18:23:23 +02:00
Flavio Alescio
b7c51d9df1 remove create room parameters by reference and use coordinator flow instead 2023-05-16 18:23:23 +02:00
Flavio Alescio
e8d31a8368 change accesibility identifiers, remove single selection button style, use Picker instead, 2023-05-16 18:23:23 +02:00
Flavio Alescio
60d2de46fa fix throwing task compile error 2023-05-16 18:23:23 +02:00
Flavio Alescio
ebb1901d00 add screenshots for UI test 2023-05-16 18:23:23 +02:00
Flavio Alescio
29acc06bca 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
c8df835a9d UI on create room screen 2023-05-16 18:23:23 +02:00
Flavio Alescio
0be12eb2e0 persisting create room parameter in volatile memory 2023-05-16 18:23:23 +02:00
Flavio Alescio
aa7f446536 Create room: add selectable state for security, add navigation to screen 2023-05-16 18:23:23 +02:00