Commit Graph

443 Commits

Author SHA1 Message Date
Mauro
69072694a9 Fixing locheck tool (#788)
* fixing locheck

* fixing locheck tool

* Revert "fixing locheck tool"

This reverts commit 9bb3dbcd70d1ecbc62b4289623b5f9e584929997.

* locheck install

* using the original code to get the directory

* adding swiftgen to download strings

* setup project on ci

* added Strings.swift to the path

* adding String.swift
2023-04-12 10:03:11 +00:00
Doug
d8d9f268c8 Fix project warnings (#791)
- Swift 5.8 warnings
- Run SwiftFormat 0.51.5
- Fix SwiftLint blanket_disable_command warnings. (Assets.swift will be fixed by SwiftGen).
2023-04-12 09:33:38 +00:00
Mauro
2d8c0b9e21 Removing the about section title + Fix notification tap crash (#778)
* Removing the about section title

updated tests

* fixed a bug that made the app crash when tapping

a notification in an unhandled state

* missing screenshots
2023-04-06 16:40:27 +00:00
Stefan Ceriu
ed974915a4 Sliding sync v2 (#775)
* Adopt latest rust Sliding Sync changes

* Bump SDK, converge on similar to configure both sliding sync lists

* Adopt latest SDK version, fix breaking changes

* Fix unit tests
2023-04-06 18:43:08 +03:00
Johannes Marbach
e6faabb0e7 Guard user suggestions behind feature flag so that they don't impact releasability of other room creation features (#770) 2023-04-06 15:32:49 +02:00
Doug
8f1941fc60 A few small tweaks. (#774)
- Use ShareLink instead of InviteFriendsCoordinator.
- Fix a string in the user menu
- Show the word Notification as the notification's body.

---------

Co-authored-by: Mauro <34335419+Velin92@users.noreply.github.com>
2023-04-06 12:44:16 +01:00
Mauro
88a498e538 Notifications Enabled (#760)
* Notifications Enabled with default static text

notifications enabled with default static text

code improvement

added the share key

* added the changelog

* notification ID is added to the json only if it exists

* renamed Bundle.mainApp to app and updated the strings from localazy

* made a struct for the APNSPayload

* APNS Payload fix
2023-04-05 20:16:30 +02:00
Alfonso Grillo
2be2380962 Refactor vm context (#769) 2023-04-05 17:19:05 +00:00
Johannes Marbach
7d8ba1b321 Remove styling for developer toggles 2023-04-05 18:41:05 +03:00
Alfonso Grillo
155fcbbf6e Improve tests' reliability (#763)
* Create publisher extension into the unit test target

* Add ViewModelContext test extension

* Refactor BugReportViewModelTests

* Fix failing UTs

* Idea PublishedClosure

* Refactor RoomDetailsViewModelTests

* Replace more Task.yield/Task.sleep

* Move leaveRoom/ignore/unignore under the @MainActor

* Revert "Idea PublishedClosure"

This reverts commit 4ab25291041f0dbd99083baf9d95bc6647f1fd97.

* Make process(viewAction:) sync

* Refactor BugReportViewModel callback to a publisher

* Fix UTs

* Refactor ReportContentViewModel

* Fix ui test build error

* Try make sonar happy

* Empty commit

* Revert "Try make sonar happy"

This reverts commit 97804b19373a8f55f12174ccbf27f1fd8db583b7.

* Rename ui test identifier

* Cleanup

* Callback -> actions refactor

* Update template

* Add publisher in TemplateCoordinator

* Add env variable in IntegrationTests.xctestplan

* Add async sequence extension

* Amend integration test plan

* Remove env variable from target.yml

* Cleanup

* Fix failing UI tests
2023-04-05 17:07:12 +02:00
Mauro
7e47169a23 Fixed translation bug when the locale contained the region (#765)
* Fixed the issue, added tests and italian translation

* changelog

* improved translation handling code and added more tests

* Update UnitTests/Sources/LocalizationTests.swift

Co-authored-by: Stefan Ceriu <stefanc@matrix.org>

---------

Co-authored-by: Stefan Ceriu <stefanc@matrix.org>
2023-04-05 10:36:02 +02:00
Mauro
63944fc254 m.room.join_rules added as a required state (#762)
* join_rules added as a required state

* removed the m.room.join_rules requirement from the builder (for now)
2023-04-04 09:47:06 +00:00
Alfonso Grillo
e8bb520f9f Improve user search using the GET profile (#754)
* Add getProfile in ClientProxyProtocol

* Add fetchProfileIfNeeded

* Refactor search

* Update StartChatSuggestedUserCell UI

* Add showProfilePopover action

* Remove popover code

* Add UTs in StartChatViewModelTests

* Add UI tests

* Cleanup code

* Refine design

* Fix design

* Localise StartChatSuggestedUserCell

* Update localisations

* Update StartChatSuggestedUserCell design

* Fix UT

* Fix PR comments

* Apply suggestions

* Fix typo
2023-04-04 10:47:41 +02:00
Flescio
a37eb90e2f change name to nil in direct room parameters (#758)
* change name to nil in direct room parameters
2023-04-03 18:34:55 +01:00
Mauro
0aa4f17038 DM Details View (#744)
* Basic implementation completed but it requires some bug fixing and polishing (+4 squashed commits)
Squashed commits:
[43f0064e] now the content of the room details reflects the expected dm details content when the conditions are met
[fe6f2b5e] replaced existing headers with a composable and reusable HeaderView
[3c00120a] now the members are fetched every time the room is opened
[421d539b] refactored the members fetching to be immediate in case the room could be a direct chat

* polished the code and fixed some bugs that prevented the updated state of the members to be displayed in the room details view (+1 squashed commit)
Squashed commits:
[6bf98473] fix for the button not being destructive in room details screen

* removed copy button and updated copy

* moved a file and renamed header view

* addressed all PR comments

* sdk bump

* UI tests

* unit tests

* changelog

* updated mocks

* removed a duplicated signature in a mock
2023-04-03 13:18:19 +02:00
Doug
192974ff3a Add Block user to Report Content screen. (#742) 2023-04-03 10:21:24 +01:00
Stefan Ceriu
569e4761d9 Various tweaks following code review 2023-03-31 17:00:36 +03:00
Stefan Ceriu
c27a56d231 Implements #745, #746, #747 - Initial media uploading flows
- room composer contextual menu for selecting source
- coordinator for presenting the different sources
- system picker handling and URL passback
- file preview after selection
- feature flag
2023-03-31 17:00:36 +03:00
Stefan Ceriu
43c558eec6 Bump the RustSDK, bump the app minor version and force user logout 2023-03-31 15:05:22 +03:00
Alfonso Grillo
8aca9ba85b Add user search for dm chats (#739)
* Add searchUsers in ClientProxy

* Add UserSearchProtocol

* Delete UserSearch file

* Add search

* Refine StartChatScreen

* Improve StartChatViewModel

* Add localizations

* Fix no result style

* Update localizations

* Add UTs

* Add UI tests

* Cleanup

* Refine tests

* Add changelog.d file

* Naming refactor

* Refactor ClientProxyProtocol api

* Fix typo

* Add mark

* Rename tests

* Update Dangerfile

* Improve UI test code

* Refactor search api

* Improve style

* Improve combine chain

* Add comment

* Improve StartChatScreen

* Improve updateState

* Add extension Published.Publisher

* Improve UI tests

* Remove Combine import

* Cleanup

* Remove “proxy” wording

* Delete extra extensions

* Refactor Publisher api
2023-03-29 14:29:25 +02:00
Mauro Romito
f768be6a23 Room Member Details block section code improvement 2023-03-28 17:35:09 +02:00
Michael Kaye
1f61e0b108 Add identifiers for verification cross signing (#590) 2023-03-28 14:27:05 +01:00
Doug
bd34ca9d24 Update UI tests (#730)
* Update snapshots.

* Fix timeline grouping and UI tests.

* Remove German UI tests with double-length pseudolanguage.

Avoids tests breaking when translations are updated.
2023-03-28 13:06:53 +00:00
Mauro
f1fa41553f Ignore User UI (#737)
* generated files

* Revert "generated files"

This reverts commit f62c1dbcd9e505083ad4ff17532e2c054e253187.

* renaming files to RoomMembersList

* completed the renaming of the list files

* added generated files

* basic setup of the view and the mock

* added a new mock with a avatar

* share/copy link

* copyUserLink implemented

* removed unimplemented tests

* block user UI

* navigation to room member details added

* implemented but we require a sync from the Rust side

* adjusted some UI test screens

* alert for unblocking

* completed

* some tests

* changelog

* ignore user ui enabled

* loader inside the button when the request is fetching

* removed unused code

* blocking the button while loading

* improved the code

* changelog

* UI tests

* unit tests

* added collection concurrency kit

* Revert "added collection concurrency kit"

This reverts commit 499fbe129f73a75e903d9f4952fe2ad672930f04.

* replaced the asyncMap with a @MainActor builder function

* pr comments

* added localazy to setup

* sdk bump to 1.0.49
2023-03-28 09:00:40 +00:00
Doug
63f429ea4c Use strings from Localazy (#718)
* Adopt strings from Localazy.

* Remove all old Android strings.

* Disable german snapshot tests for now.

* Rebase and add latest strings.
2023-03-27 17:18:59 +00:00
Mauro
4586fbae39 RoomMemberDetailsScreen (#727)
* generated files

* Revert "generated files"

This reverts commit f62c1dbcd9e505083ad4ff17532e2c054e253187.

* renaming files to RoomMembersList

* completed the renaming of the list files

* added generated files

* basic setup of the view and the mock

* added a new mock with a avatar

* share/copy link

* copyUserLink implemented

* removed unimplemented tests

* block user UI

* navigation to room member details added

* implemented but we require a sync from the Rust side

* adjusted some UI test screens

* alert for unblocking

* completed

* some tests

* changelog

* some unit tests

* improved the tests

* removed unused comment

* Update ElementX/Sources/Services/Room/RoomProxy.swift

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

* optional displayName

* removing toggle

* removed cancel title

* Update UnitTests/Sources/RoomMemberDetailsViewModelTests.swift

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

* removing Group

* pr suggestion

* better naming

* removed capitalizingFirstLetter

* Update ElementX/Sources/Other/Extensions/Alert.swift

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

* trailing closure

* removed useless catch clause

* naming conformed to ignore

---------

Co-authored-by: Doug <6060466+pixlwave@users.noreply.github.com>
2023-03-24 20:27:47 +01:00
Flescio
d344a20d2e Show or create direct message room (#716)
* add start chat flow with UI

* add feature flag for start chat

* add changelog

* fix naming and tests

* fix empty display name in user cell

* Update ElementX/Sources/Application/AppSettings.swift

Co-authored-by: Alfonso Grillo <alfogrillo@element.io>

* add screenshots from UI test

* fix swiftFormat and add identifiers

* fix warnings

* add the create or open already existing direct room feature

* add changelog

* add UserProfile object, add loading indicator in start chat flow

* fix test

* add new section for user profile in start chat

* fix duplicates input on search bar

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

Co-authored-by: Alfonso Grillo <alfogrillo@element.io>

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

Co-authored-by: Alfonso Grillo <alfogrillo@element.io>

---------

Co-authored-by: Alfonso Grillo <alfogrillo@element.io>
2023-03-24 15:16:07 +00:00
Stefan Ceriu
bd2e9e726b Fix uniffi crash: delay session verification controller delegate setting to when verification is requested 2023-03-23 13:13:35 +02:00
Stefan Ceriu
1d02b4578d Prevent configureViewsPostInitialSync from being called before the allRoomsView is instantiated 2023-03-23 13:13:35 +02:00
Mauro
b5eb39af8d Dpendencies update + improved dependencies version management (#721)
* updating dependencies

* minor version pinning

* update completed and also added a tool that checks for outdated swiftpm packages

* changelog

* DTCoreText uses exact version

* minor version for analytics

* pushing OutdatedPackages

* package.swift for the repo also using upToNextMinor

* fixing a typo

* Update Tools/Sources/OutdatedPackages.swift

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

* Update Tools/Sources/SetupProject.swift

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

* removing unused comment

* removed trailing comma

---------

Co-authored-by: Doug <6060466+pixlwave@users.noreply.github.com>
2023-03-23 11:26:20 +01:00
Stefan Ceriu
8c27bb906a Fixes #676 - Fixes regression on updating room list states when using data from the cold cache 2023-03-22 17:38:24 +02:00
Mauro
b5a4f93faf Room Member is now an interface SDK update (#711)
* migrated to the usage of a Protocol for the RoomMember

* removed unused file

* code improvement

* sliding sync new states

* sdk bump

* fix for tests

* fixing tests

* package resolved rollback

* rollback package.resolved

* fixed a mistakenly removed dependency

* Revert "fixed a mistakenly removed dependency"

This reverts commit 096d9da6142d8117bc1dfa6d5bbbd797b43b31ad.

* removing unnecessary Identifiable conformance

* pr suggestions

* pr comment
2023-03-22 12:36:08 +00:00
Doug
ef77ab662f Adopt Compound for the settings and bug report screens. (#708)
* Use compound tokens for Settings and Bug Report.
2023-03-21 14:52:10 +00:00
Doug
f7a0af16cc Fix wrong state. (#710) 2023-03-20 18:47:09 +00:00
Doug
71e154ae9b Bump SDK version and fix breaking changes. (#709) 2023-03-20 19:26:07 +01:00
Doug
e572bb226d Move media file loading logic to the SDK. (#702)
* Adopt getMediaFile for media previewing.
2023-03-20 14:51:33 +00:00
Doug
f6fbe9134f Room list avatar accessibility. (#707)
* Hide the avatar when the Dynamic Text is large

---------

Co-authored-by: sempruijs <sem@pruijs.net>
2023-03-20 10:29:49 +00:00
Doug
a9aacb478e Add Localazy for Strings. (#706)
- Namespaced under L10n.
- Old strings moved to Legacy.strings[dict].
2023-03-17 16:17:45 +00:00
Mauro
15e38e00cc Leave Room (#699)
* created the row in the view and the alert, and added the new function to the RoomProxy

* fixed an issue with the alert function

* handling the navigation

* fixed a bug with the detail coordinators being dismissed incorrectly when inside a stack

* implementation completed

* replaced UI screenshots

* added a test for the fixed bug of the coordinators

* trying to increase the wait time for the expectation

* improved the test

* improved the buttons UI

* uploading artifacts for unit tests

* added result bundle true

* improved the tests

* added a new test

* pr suggestions

* updating mock

* PR suggestions

* improved tests

* fixed UI tests

* pr should be ready now

* removed testing code

* reduced complexity

* fixed test

* added a an assert to the new test case

* more tests and messages cases

* pr comments addressed

* completed
2023-03-17 13:57:08 +00:00
Mauro
ae800b0ed1 Updated setPusher function (#684)
* updated set_pusher function from the SDK

* this fixes a crash and allows for the navigation to work by using the threadIdentifier of the notification

* adding NCE target

* project setup completed with xcodegen

* no need for those ugly storyboards

* code improvement

* removing unused outlet

* mocks generated with the comment instead of the marker protocol

* updated stencil

* fixed unit tests

* updated swiftformat

* pr comments
2023-03-16 16:39:10 +01:00
Doug
9887219783 Use asset catalog for tint colour. Update Sentry. (#705)
Sentry had a bug where the colour was being ignored due to access of the main screen.
2023-03-16 13:32:14 +01:00
Doug
b51489e432 Fix incorrect string. (#704) 2023-03-16 09:28:26 +00:00
Doug
9c3117e83d Bump SDK version and fix breaking changes. (#703) 2023-03-15 12:42:19 +00:00
Doug
c490d8d440 Allow theming of the search bar. (#700) 2023-03-15 10:02:51 +00:00
Doug
e48a13d3ef Fix accent colour not being applied to Alerts etc. (#701) 2023-03-14 13:38:36 +00:00
Flescio
6b153e9726 Epic: create and join rooms - Start Chat (#680)
* add start chat flow with UI

* add feature flag for start chat

* add changelog

* fix naming and tests

* fix empty display name in user cell

* Update ElementX/Sources/Application/AppSettings.swift

Co-authored-by: Alfonso Grillo <alfogrillo@element.io>

* add screenshots from UI test

* fix swiftFormat and add identifiers

* fix warnings

---------

Co-authored-by: Alfonso Grillo <alfogrillo@element.io>
2023-03-14 10:50:09 +01:00
Doug
39c4189ece Update the layout of HomeScreenRoomCell for Dynamic Type (#695)
* Update the layout of HomeScreenRoomCell.

- Make sure the separator always aligns to the text when dynamic type changes.
- Use vertical padding for the minimum height to display more cells at smaller dynamic type sizes.

---------

Co-authored-by: Mauro <34335419+Velin92@users.noreply.github.com>
2023-03-10 15:56:09 +00:00
sem pruijs
349f58d6c4 Fix message composer textfield accessibility label (#688) 2023-03-09 10:25:02 +00:00
Mauro
8a21ae3c2e Cached Avatar cancellation quick fix (#691)
* loading a cached avatar at first, and then actually doing the request so that the avatar can still be displayed without connection

* improved the code

* fix + changelog

* policy on how to fetch the avatar url added

* code improvements

* addressed al PR comments

* improved the error handling

* improved the async task code

* fixed a typo

* fixed another typo

* fix

* removed useless code
2023-03-08 18:22:31 +00:00
Mauro
e396d512dd Cached avatar support (from Rust) (#633)
* loading a cached avatar at first, and then actually doing the request so that the avatar can still be displayed without connection

* improved the code

* fix + changelog

* policy on how to fetch the avatar url added

* code improvements

* addressed al PR comments

* improved the error handling

* improved the async task code

* fixed a typo

* fixed another typo
2023-03-08 17:50:06 +00:00