Commit Graph

155 Commits

Author SHA1 Message Date
Mauro
f4d164b2e7 Fix NSE Leak (#2022) 2023-11-03 20:30:58 +00:00
Stefan Ceriu
519cd938b7 Key backup Rust API adoption (#1952)
* Adopt Rust side secure backup APIs (incomplete, based on poljar/backup-pr)

* Implement the home screen recovery key confirmation banner.

* Update with the latest Rust changes.

The loading button for .unknown was incorrect. It should be treated as disabled.

---------

Co-authored-by: Doug <douglase@element.io>
2023-10-27 20:16:51 +01:00
Stefan Ceriu
1fe4244fe0 #1899, #1900, #1901 - Implement chat backup setting screens 2023-10-19 15:34:10 +03:00
Stefan Ceriu
b06a8a857a Check network reachability before attempting to restart the sync service 2023-10-13 17:42:15 +03:00
Stefan Ceriu
518ce3a923 Bump the RustSDK to v1.1.22 2023-10-12 11:26:28 +03:00
Stefan Ceriu
db0987a8c2 Fixes 1864 - Message forwarding room list filtering and pagination problems (#1867)
* Fixes 1864 - Message forwarding room list filtering and pagination problems

* Fix SwiftFormat redundant closures body error

* Prevent crashes when writing to the localization bundle cache from different threads

* Fix unit tests

* Fix unit tests

* Address PR comments
2023-10-09 14:59:31 +03:00
Mauro
981a51e61b Fixed a bug that prevented the mentions to be shown as plain text in the room list cell (#1835)
* fix a bug that made the room list not render mentions as plain text

* better naming
2023-09-29 14:49:20 +00:00
Mauro
4c5e6cfd19 Pill View (#1797)
* provider can now check the current session

* More testable code

* created the test condition

* it works but not always not sure why, need to dig deeper

* sadly we need to use textkit 1 to solve this issue

* removed developer option screen test

* this experimental solution kinda works but I need a way to pill recomputation is weird

* format

* display improvement

* better and faster solution

* pilished the code

* better coloring

* swift format

* just need to solve the caching issue

* fix caching issue

* tests done!

* changelog

* pr comments addressed

* all pr comments addressed

* docs

* line lenght

* updated tests and fixed a parsing permalink issue

* MentionBuilder

* pr comments

* swiftformat

* code blocks should not have links

* Update ElementX/Sources/FlowCoordinators/RoomFlowCoordinator.swift

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

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

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

* Update UnitTests/Sources/AttributedStringBuilderTests.swift

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

* Update ElementX/Sources/UITests/UITestsAppCoordinator.swift

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

* Update ElementX/Sources/Other/Pills/PillAttachmentViewProvider.swift

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

* Update ElementX/Sources/Other/Pills/MentionBuilder.swift

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

* pr comments

* swiftformat

---------

Co-authored-by: Doug <6060466+pixlwave@users.noreply.github.com>
2023-09-27 17:27:07 +00:00
Stefan Ceriu
89cb8c9291 Room list searching tweaks (#1800)
* Prevent the room list from flashing previous rooms when searching

* Remove reset diff chunking now that the whole list is limited

* Bump the Rust SDK to v1.1.19 and fix breaking API changes
2023-09-26 14:33:15 +03:00
Stefan Ceriu
de1b020ea1 Adopt new members and sync indicator APIs 2023-09-18 15:41:56 +03:00
Stefan Ceriu
af8a13bc91 Change user display name and avatar (#1718)
* Fixes #1715, #1716 - Add new user profile editing screen

* Bump SDK, adopt new `client.removeAvatar()` method

* Address PR review comments
2023-09-15 16:20:33 +03:00
Doug
7cbb064464 Enable OIDC token refresh in the NSE. (#1711)
Update the SDK and handle API changes.
2023-09-15 09:01:09 +00:00
Doug
9a8cf5508f Separate Manage account from Manage devices. (#1698)
Update the SDK.
2023-09-13 15:49:01 +01:00
Nicolas Mauri
258d5f3184 Remove notification settings feature flag (#1693) 2023-09-13 12:05:32 +00:00
Stefan Ceriu
4646153818 Parse markdown and html from push notifications (#1688)
* Extract notification content building outside of the NotificationItemProxy. First step in a bigger refactoring of the NSE

* Import the attributed string buider into the NSE, sort `sources` imports

* Extract message event string building into the RoomMessageEventStringBuilder and reuse it building content for push notifications

* Cleanup

* Add changelog
2023-09-13 12:30:41 +03:00
Doug
949c71748e Stop the sync service constantly attempting to restart on auth error. (#1654)
Additionally removes a retain cycle that was preventing the client from being released.

Remove restartSync - the SDK has changed a lot, we no longer need to stop and start the sync loop.
2023-09-08 11:00:12 +01:00
Stefan Ceriu
1ceac30198 Adopt the new room list service syncIndicatorListener 2023-09-07 13:10:19 +03:00
Stefan Ceriu
1863cd1562 Bump the RustSDK to v1.1.10 2023-09-07 11:56:38 +03:00
Stefan Ceriu
2eb663c4ef Move the invites summary provider configuration the underlying sliding sync list is availablle sooner now 2023-08-31 18:13:22 +03:00
Nicolas Mauri
8cd3d345e4 Display the notification mode for each room in the the room list (#1595)
Co-authored-by: Stefan Ceriu <stefan.ceriu@gmail.com>
2023-08-31 11:15:38 +00:00
Stefan Ceriu
d4e80051d3 Improve when we show and hide the syncing spinner 2023-08-30 15:07:31 +03:00
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