Commit Graph

134 Commits

Author SHA1 Message Date
Doug
3af8be7dfd 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
2db748018a Remove artificial delay before restarting the sync service following an error 2023-08-29 18:28:57 +03:00
Stefan Ceriu
0152e4147b Fix computing the time it takes to render the first rooms 2023-08-29 13:06:51 +03:00
Stefan Ceriu
52cf6ac7c9 Guard against large visible room list ranges 2023-08-28 18:55:34 +03:00
Stefan Ceriu
ff0b823430 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
98bfb2ead4 Enable OIDC support (#1541)
Notification content is bypassed for now.
2023-08-22 15:53:27 +01:00
Stefan Ceriu
0bb1e5911d Revert "Remove fuzzy searching entirely because of performance issues"
This reverts commit 5016246c62.
2023-08-21 17:22:18 +03:00
Stefan Ceriu
5016246c62 Remove fuzzy searching entirely because of performance issues 2023-08-18 16:17:47 +03:00
Stefan Ceriu
e198bac70a Start using the new (faster) RoomInfo record to populate the room and invite lists 2023-08-17 20:36:47 +03:00
Stefan Ceriu
bf386f4c64 Bump SDK to v1.0.107-alpha. Simplify syncService state handling 2023-08-16 18:21:57 +03:00
Doug
ee430e7e2c Enable fuzzy search behind a feature flag. (#1490) 2023-08-14 16:41:41 +00:00
Doug
f612655d9c Run swiftformat 0.52.0 (#1491) 2023-08-14 17:26:14 +01:00
Mauro Romito
5f50847ce1 two sync loop always enabled by default 2023-07-26 10:39:19 +02:00
Doug
d0b8251bec Make the app version and the device ID copyable in the Settings screen. (#1389) 2023-07-25 17:31:42 +00:00
Stefan Ceriu
0451612f99 Cleanup sync service state management using new currentState sdk support 2023-07-18 13:52:51 +03:00
Doug
455edab11d 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
3875521936 sdk bump 2023-07-18 10:03:25 +02:00
Stefan Ceriu
5bd59a34d5 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
e986fad1e5 Add a "Mute" shortcut and a "Notifications" section in the room details screen #1318 2023-07-14 11:43:19 +02:00
Doug
e1a88521a2 Update SDK (#1323)
Handle async start.
2023-07-13 16:10:09 +00:00
Mauro
a3671e9685 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
748a0d499f bump 2023-06-30 15:18:03 +03:00
Stefan Ceriu
abe1df2524 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
Doug
b8ec1096ba Handle waiting list error. (#1165) 2023-06-26 18:26:20 +01:00
Stefan Ceriu
2b660d48a7 Fix clientProxy isSyncing not taking into consideration the encryptionSyncLoop feature flag 2023-06-24 20:36:03 +03:00
Mauro
dba4060423 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
241df9c157 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
030b1b0bfa 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
c239ed0f8c Bump the RustSDK to v1.0.79-alpha 2023-06-21 18:45:26 +02:00
Stefan Ceriu
e59e5ee2c9 Add back custom identifiers for invalidated room, avoid duplicates and gaps on the room list 2023-06-19 17:51:40 +03:00
Stefan Ceriu
48ae86fe73 #1108 - Prevent invites from stealing away the roomList's state listener 2023-06-19 13:38:49 +03:00
Stefan Ceriu
56530ed55f 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
aea82b1865 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
Stefan Ceriu
49cc2a8c73 Settings about section (#1041)
* Fixes #1011 - Add legal information screen in settings, move all settings related screens under Source/Screen/Settings
* Fix warnings after sliding sync api change
2023-06-07 17:04:42 +03:00
Mauro
3e0e4d02cf 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
5a7ffa761d Bump the RustSDK, adopt latest sliding sync changes and fixes 2023-05-31 20:31:20 +03:00
Stefan Ceriu
b8b0d69891 Bump the RustSDK to v1.0.71-alpha, adopt latest sliding sync range API 2023-05-30 20:05:18 +03:00
Flescio
2ea8fe0254 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
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
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
Stefan Ceriu
4c4764fc5d Start using the new synchronous stopSync method 2023-05-24 16:07:23 +03:00
Stefan Ceriu
7909b1e974 Bump the RustSDK to v1.0.66-alpha 2023-05-22 22:25:33 +03: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
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
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
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
3a9b477e1b Add list name to room summary provider logs to avoid confusion between multiple instances 2023-05-16 12:46:06 +03:00
Stefan Ceriu
0afaa0a300 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
7b7b1fd4b3 Disabled the cold cache entirely so we can test out startup performance without it 2023-05-15 17:05:56 +03:00
Stefan Ceriu
c3b029f1a0 Add background app refresh support (#892)
* Add background app refresh support

* Cleanup: move methods around so delegates are implemented above privates and privates are ordered better

* Add discardableResult on the userSessionStore's refreshRestorationToken
2023-05-15 13:06:25 +03:00