Commit Graph

363 Commits

Author SHA1 Message Date
Doug a5045e1598 Use Safari for OIDC account URL. (#1591)
* Handle RP-Initiated Logout URL.

Safari is only used on devices, the simulator doesn't work properly.
2023-08-30 08:22:22 +00:00
Stefan Ceriu 220279fd28 Remove artificial delay before restarting the sync service following an error 2023-08-29 18:28:57 +03:00
Stefan Ceriu b5c8676d95 Fix computing the time it takes to render the first rooms 2023-08-29 13:06:51 +03:00
Stefan Ceriu 5162d0c726 Move the firstRooms signpost out of the RoomSummaryProvider so that it doesn't invoked for each instance 2023-08-28 11:41:37 +03:00
Doug 5e3a32157a Enable OIDC support (#1541)
Notification content is bypassed for now.
2023-08-22 15:53:27 +01:00
Stefan Ceriu ff074e3fae Revert "Remove fuzzy searching entirely because of performance issues"
This reverts commit e86f65ad2d.
2023-08-21 17:22:18 +03:00
Stefan Ceriu e86f65ad2d Remove fuzzy searching entirely because of performance issues 2023-08-18 16:17:47 +03:00
Stefan Ceriu fa78912027 Start using the new (faster) RoomInfo record to populate the room and invite lists 2023-08-17 20:36:47 +03:00
Stefan Ceriu 5400910855 Bump SDK to v1.0.107-alpha. Simplify syncService state handling 2023-08-16 18:21:57 +03:00
Doug b2928a0dc6 Enable fuzzy search behind a feature flag. (#1490) 2023-08-14 16:41:41 +00:00
Mauro Romito ed28bc5d02 two sync loop always enabled by default 2023-07-26 10:39:19 +02:00
Doug 7a9edc5efa Make the app version and the device ID copyable in the Settings screen. (#1389) 2023-07-25 17:31:42 +00:00
Stefan Ceriu 3a538c6e29 Cleanup sync service state management using new currentState sdk support 2023-07-18 13:52:51 +03:00
Doug c83a2bd729 Tidy up Developer screen, add button to crash the app. (#1348)
* ID all the things
2023-07-18 11:25:07 +01:00
Mauro Romito 63935ceab3 sdk bump 2023-07-18 10:03:25 +02:00
Stefan Ceriu 870cefe316 Fix syncing not restaring because of relying on the roomList service state instead of the sync service one 2023-07-17 14:36:46 +03:00
Nicolas Mauri dfdaee0563 Add a "Mute" shortcut and a "Notifications" section in the room details screen #1318 2023-07-14 11:43:19 +02:00
Doug 4a03c4f715 Update SDK (#1323)
Handle async start.
2023-07-13 16:10:09 +00:00
Mauro 76506752b4 SDK Changes Refactor (#1312)
* internal id

* notification refactor

* client proxy refactor

* required self

* better identifier system

* using the event id when required

* tests fixed

* tested some stuff

* fixed merge conflict

* improved the test wait

* animation disabled

* Bump Rust SDK version to 1.0.98-alpha (#1310)

* code improvement

* pause sync

* pr suggestions

* result

* Apply suggestions from code review

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

* enum based debug identifier

---------

Co-authored-by: aringenbach <80891108+aringenbach@users.noreply.github.com>
Co-authored-by: Doug <6060466+pixlwave@users.noreply.github.com>
2023-07-12 10:28:41 +00:00
Mauro Romito c5d47378a4 bump 2023-06-30 15:18:03 +03:00
Stefan Ceriu e6711a0236 Removed unused swipe gesture (+3 squashed commits)
Squashed commits:
[d64bb3bb] Stop using the ServiceLocator directly in the ScreenTrackerViewModifier
[37c46ab9] Rename Analytics to AnalyticsService
[8852a371] #920 - Cleanup ServiceLocator usages
2023-06-28 11:33:41 +03:00
Stefan Ceriu a7aae1bbc4 Fix clientProxy isSyncing not taking into consideration the encryptionSyncLoop feature flag 2023-06-24 20:36:03 +03:00
Mauro afc4332716 Two sync loop experimental solution to decrypt push notifications (#1082)
* Experimental two sync loop solution

* better logging

* improved the code and handled invite notifications display better

* improved invite notifications

* new exerimental branch

* new sync loop

* code updated

* code improvements

* code improvements

* fix typo

* code improvements

* removed some unused code and added a respawn

* fixing some NSE issues

* code improvements

* new version of the branch

* more logging

* running the nse process ONLY IF necessary

* finally works! made also the feature flag

* also the encryption value of the room list api will depend on the flag now

* changelog

* code improvements

* code improvement

* updated proj

* fixing some compilation error after the rebase

* opt-in for the encryption sync

* fix
2023-06-22 17:23:33 +00:00
Stefan Ceriu 652fd3cf76 Room list service (#1138)
* Adopt the new RoomListService

* Use client.roomListWithEncryption

* Store the roomList so that it doesn't get dropped and create problems on the rust side

* Use roomListService instead of old roomList client method

* Added back documentation removed by mistake

* Tweaks following code review, SDK bump
2023-06-22 19:59:32 +03:00
Stefan Ceriu e65a2d2431 Various tweaks (#1129)
* Fixes #1121 - Hide the loading indicator after the logout task finishes

* Manually restart the sync only when entering the `error` state

* Use stopSync instead of the roomListService directly on client deinit

* Replace WeakClientProxyWrapper with callback based delegate

* Fix homescreen user avatar not automatically updating

* Replace default Build SDK profile with reldbg, which is fast but also doesn't crash

* Always show the loading indicator when the room list is not in a `running` state

* Implement delayed user indicator presentations through the normal API

* Fix the unit tests

* Replace UserIndicatorController delayedIndicators dictionary with a plain set
2023-06-22 15:04:20 +03:00
Stefan Ceriu bbcfec3574 Bump the RustSDK to v1.0.79-alpha 2023-06-21 18:45:26 +02:00
Stefan Ceriu ef4346fa08 #1108 - Prevent invites from stealing away the roomList's state listener 2023-06-19 13:38:49 +03:00
Stefan Ceriu d2d626f724 Add support for the new RoomList API (#1092)
* Add support for the new RoomList API

Squashed commits:
[8c2625a] Re-enable invites
[339e59b5] Add automatic syncing restarts after entering the terminated state for whatever reason
[b5498e96] Reimplemented room list state management and usage
[8154b0cf] Fix visible rooms range setting after scrolling stops
[5155c44d] Hook up initial loading idicator and session verification banner to room list service states
[700a5a2e] Enable back room subscriptions, timeline listeners and unread notifications / counts
[9df383bc] Enable last messages and timestamps, they don't crash on release builds
[7c4da9da] Add back certain fields now that the "full room" is available
[9f6534a7] Adopt interfaces to new RoomList API, untested as requests don't go to the right URL

* Tweaks following code review

* Bump the RustSDK to v1.0.76-alpha
2023-06-16 16:11:45 +03:00
Mauro 94c97ec7e9 Disable RR extension when feature flag is off (#1068)
* disable rr extension according to ff

* fixed typos in the code
2023-06-12 10:59:01 +00:00
Mauro c0611b4e6b SDK Bump to 1.0.73-alpha (#1043)
* sdk bump

* moved the bump event types to the sliding sync list builder

* removed sync growing mode from notifications even if we are not really using it anymore

* recency order is also for the all room list

* removed the local notification code entirely

* removed unused function

* fixed the code placement for the ordering
2023-06-07 15:22:54 +02:00
Stefan Ceriu f792aafe8d Bump the RustSDK, adopt latest sliding sync changes and fixes 2023-05-31 20:31:20 +03:00
Stefan Ceriu 30c39130fc Bump the RustSDK to v1.0.71-alpha, adopt latest sliding sync range API 2023-05-30 20:05:18 +03:00
Flescio 03ba211e6c Flescio/add room image (#961)
* image media upload for room creation

* fix remove duplicate logic

* use Async Image, add Focusable Fields in create room

* remove alert message which doesn't have a copy

* add remove duplicates on crete room image

* add button style for preventing undesired touches

* add changelog, add error case for file too large

* Fix iPad sheet presentation

* add error media preprocess

* dismissing focus on image picker
2023-05-30 12:55:29 +00:00
Mauro 088ca622a1 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
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
Stefan Ceriu caa4abe659 Start using the new synchronous stopSync method 2023-05-24 16:07:23 +03:00
Stefan Ceriu d38cf8f989 Bump the RustSDK to v1.0.66-alpha 2023-05-22 22:25:33 +03: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
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 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
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 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
Stefan Ceriu abc86b7368 Disabled the cold cache entirely so we can test out startup performance without it 2023-05-15 17:05:56 +03:00
Mauro 23137726de Disable Local Push Notifications + Start Handling invite notifications (#882)
* disabled local pushes and fixed the issue with the image rendering

* disabled local notifications for now and started implementing invite notificatons

* disabled local notifications for now and started implementing invite notificatons

* removed code that should not have changed

* removed useless comment

* refactored name for category

* fixed a test

* fix

* fix for missing try await

* pr comments
2023-05-12 10:45:59 +00:00
Doug 185710adf4 Remove AppAuth and prepare for Rust OIDC. (#870) 2023-05-11 16:46:36 +01:00
Stefan Ceriu 3285888100 Show more descriptive errors when failing to retrieve a room tuple 2023-05-11 16:29:06 +03:00
Stefan Ceriu ba02c439dd No restart sliding sync (#866)
* Adopt new sliding sync list interaction APIs

* Re-enable summary providers, be more leninent in the list proxy and remove now unnecessary restartSync method

* Rename all sliding sync views to lists

* Bump the SDK to v1.0.61-alpha
2023-05-09 07:46:46 +03:00
Mauro f679c0ca2a Remote Push Notifications can now be decrypted (#854)
* refactored the NSE to use the client function

* removed unused imports in the target.yml

* some code improvements

* changelog

* code improvement

* code improvement

* more code improvements

* separated the client and the media provider in a dedicated NSEUserSession

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

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

* pr suggestions

* logging the error

---------

Co-authored-by: Doug <6060466+pixlwave@users.noreply.github.com>
2023-05-05 15:29:46 +00:00
Mauro Romito b17c987fd0 sdk bump to 1.0.60 2023-05-05 15:44:18 +02:00