Commit Graph

77 Commits

Author SHA1 Message Date
Doug
ef2fd1e0d2 Adopt sliding sync versions for client Restoration. 2024-08-30 14:45:54 +03:00
Doug
a3e66d3e7e Update the SDK (#3196)
* Update the SDK.

* Fix API breaks on send failures and propagate the new type.

* Handle new SDK ShieldState.

* Set up the ClientBuilder's `cachePath` option.

* Delete the cacheDirectory during logout/clearCache.

* Add unit tests for RestorationToken decoding and SessionDirectories generation.
2024-08-27 11:06:26 +01:00
Doug
039cc1621f Remove delivered notifications if their event gets redacted. (#3191) 2024-08-22 13:49:00 +01:00
Doug
66a0211133 Clarify the mention copy in notifications. (#3142) 2024-08-22 11:51:05 +00:00
Stefan Ceriu
40bf8a460d Automatically try reloading failed images on network changes (#3170)
* Add the networkMonitor to the NSE and delete the old MockMediaLoader

* Generate a MediaLoaderMock through AutoMockable and use it in the MediaProviderTests

* Implement an ImageProvider mechanism that automatically tries reloading images when connectivity is established again and use it for LoadableImages

* Merge the ImageProvider protocol back into the MediaProvider

* Address PR review comments

* Provide a default sdk client request configuration

* Address tasks not automatically cancelling themselves when views get deallocated
2024-08-15 18:20:19 +03:00
Mauro
28bfa3f5dc Pinned items timeline implementation for the banner (#3099) 2024-08-05 14:09:05 +02:00
Doug
94c9a04474 Automatically sign out when toggling the SSS feature flag. (#3071) 2024-07-23 11:55:51 +01:00
Doug
a141532355 Add a feature flag for Simplified Sliding Sync. (#3057)
* Disable SSS when logging out.

* Bump the SDK.
2024-07-18 10:16:51 +01:00
Doug
de07f441f0 Add a ClientBuilder hook. (#3056) 2024-07-18 09:47:37 +01:00
Doug
99309ddfd2 Use a Client in AuthenticationService now that the Rust one has been removed. (#2954)
* Replace Rust's Authentication service by building a Client.

* Drop the Proxy from AuthenticationServiceProxy[Protocol].

* Make sure to call abortOIDCLogin.

* Centralise common ClientBuilder code.

* Update the SDK.
2024-06-24 15:05:00 +01:00
Stefan Ceriu
807175169d Synchronize access to the new NSE user session property 2024-06-19 19:49:41 +03:00
Stefan Ceriu
2fcd7c320f Avoid creating multiple clients if the NSE is invoked more than once on the same process 2024-06-19 19:49:41 +03:00
Doug
3f57668f56 Adopt Rust's new sessionPath that replaces the basePath (#2903) 2024-06-06 18:35:57 +01:00
Stefan Ceriu
7b12e95192 Show ElementCalls in the system Recents list and allow deep linking back into a call from there 2024-05-27 17:04:48 +03:00
Stefan Ceriu
70bf5d0e8d Add support for showing the native OS incoming call screen when starting new Element Calls 2024-05-24 15:32:56 +03:00
Doug
5a493d74fc Update the SDK. (#2776)
Handle async FFI changes.

Fix flakey unit test.
2024-05-03 12:00:05 +01:00
Stefan Ceriu
66a36a76bf Cleanup following the AppMediator introduction (#2723)
- stop using multiple background task, the appCoordinator sync one is enough for the whole app
- move the AppMeditor to the MainActor
- expose the WindowManager through the AppMediator
- hide sensitive WindowManager API behind a different protocol
- remove the now unnecessary `BackgroundTaskService`
2024-04-22 18:10:24 +03:00
Stefan Ceriu
1709b48b09 Print out the current process identifier on NSE runs 2024-04-15 16:23:59 +03:00
Stefan Ceriu
bfe74d68d4 Avoid potential app side NSE UserSession races and let the SDK handle them instead 2024-04-15 15:27:08 +03:00
Stefan Ceriu
8be236883d Adop the new SDK permalink detector and user builder 2024-04-12 18:04:41 +03:00
Stefan Ceriu
b4f653d6d8 element-hq/element-x-ios/issues/2670 - Show invites as part of the room list 2024-04-09 18:18:11 +03:00
Stefan Ceriu
b2409c80f5 Fixes #1837 - Add support for m.call.invite events in the timeline, room list and notifications 2024-03-07 18:23:22 +02:00
Mauro
dc14accbef Configure SDK to use the global/OS proxy (#2493) 2024-02-21 15:17:23 +01:00
Doug
63ff979057 Enable database encryption for new logins on Nightly/PR builds. (#2328)
- Slightly reworks where the pusher client ID is generated.
2024-01-12 16:45:59 +00:00
Mauro
bc97bdeea5 Removing dead code part 3 (#2264) 2023-12-19 12:12:16 +01:00
Mauro
a705d18ba6 Removing dead code part 2 (#2235)
Co-authored-by: Doug <6060466+pixlwave@users.noreply.github.com>
2023-12-15 20:16:16 +01:00
Mauro
238d6b2f56 Mentioned notifications copy improvement (#2144) 2023-11-22 14:16:03 +01:00
Mauro Romito
6c52b16a89 Revert "mentioned you improvement"
This reverts commit 9c801759ae.
2023-11-22 13:49:56 +01:00
Mauro Romito
9c801759ae mentioned you improvement 2023-11-22 13:48:45 +01:00
Stefan Ceriu
0ed753982d Fix new swiftformat warnings: convert types used for hosting only static members into enums. 2023-11-13 13:47:14 +02:00
Stefan Ceriu
c438cde085 Use the unread count to update the application badge on all flow branches 2023-11-13 13:44:39 +02:00
Mauro
3f8c246be2 Custom copy for notifications that contain mentions (#2050) 2023-11-09 18:12:11 +00:00
Doug
19947b7177 Use the custom log level inside the NSE too. (#2020) 2023-11-04 08:36:49 +00:00
Mauro
f4d164b2e7 Fix NSE Leak (#2022) 2023-11-03 20:30:58 +00: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
38e824d74d @room pill (#1834)
* all users mention pill + red higlight for own mentions

* more tests

* changelog

* removed useless if let
2023-09-29 15:40:31 +02:00
Alfonso Grillo
dce77f62f8 "Poll start" event push notification (#1819)
* Handle polls in NotificationContentBuilder

* Cleanup
2023-09-28 11:21:17 +02: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
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
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
Stefan Ceriu
1863cd1562 Bump the RustSDK to v1.1.10 2023-09-07 11:56:38 +03:00
Stefan Ceriu
9c3242932c Update the app badge after receiving a notification by reading and using the unreadCount from the request payload 2023-09-06 16:41:59 +03:00
Stefan Ceriu
81bb239f46 Expose the log level in developer settings 2023-08-23 16:17:49 +03:00
Doug
98bfb2ead4 Enable OIDC support (#1541)
Notification content is bypassed for now.
2023-08-22 15:53:27 +01:00
Mauro
15ac0effa8 NSE user agent support (#1507) 2023-08-17 13:11:34 +00:00
Mauro Romito
947ff6e35d removed filter by push rules ff 2023-08-17 11:37:25 +02:00
Stefan Ceriu
65c7dec5c9 Adopt batched timeline diffs and other RustSDK changes 2023-08-02 12:08:57 +03:00
Mauro
ec92cfeecb FF to enable filtering notifications by push rules (#1412)
* filtering notification by push rules

* changelog

* Apply suggestions from code review

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

---------

Co-authored-by: Doug <6060466+pixlwave@users.noreply.github.com>
2023-07-27 14:12:52 +00:00
Alfonso Grillo
942c3eec33 Update SDK to 1.0.102-alpha (#1408)
* Update SDK to 1.0.102-alpha

* Log error

* Notification Improvements API part 1 (#1410)

* changes

* WIP

* progress

* updated test

* removed unused

* code improvement

* Process diffs as batches provided by the SDK.

---------

Co-authored-by: Mauro <34335419+Velin92@users.noreply.github.com>
Co-authored-by: Doug <douglase@element.io>
2023-07-27 09:48:56 +00:00
Mauro Romito
5f50847ce1 two sync loop always enabled by default 2023-07-26 10:39:19 +02:00