85 Commits

Author SHA1 Message Date
Doug
288d2c2fdc
Add a ClientBuilder hook. (#3056) 2024-07-18 09:47:37 +01:00
Stefan Ceriu
239afeb662 Fixes #3042 - Cancel ElementCall ringing as soon as the call ends 2024-07-17 10:24:30 +03:00
Doug
3465ea4cc1
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
23b0cde845 Synchronize access to the new NSE user session property 2024-06-19 19:49:41 +03:00
Stefan Ceriu
f291f10f46 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
2487895207
Adopt Rust's new sessionPath that replaces the basePath (#2903) 2024-06-06 18:35:57 +01:00
Stefan Ceriu
f6c476eeca 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
8bfd802793 Add support for showing the native OS incoming call screen when starting new Element Calls 2024-05-24 15:32:56 +03:00
Doug
11557e4879
Update the SDK. (#2776)
Handle async FFI changes.

Fix flakey unit test.
2024-05-03 12:00:05 +01:00
Stefan Ceriu
8ba544bc44
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
9a172df7fd Introduce an AppMediator which will:
- combine multiple services to handle app wide requests
- remove direct UIApplication access from everywhere
- fix #2703 by combining UIApplication.applicationState with the WindowManager's main window appearance
- leave the door open for more app control in the future (especiall for the mac)
2024-04-19 15:43:56 +03:00
Stefan Ceriu
00908073d2 Print out the current process identifier on NSE runs 2024-04-15 16:23:59 +03:00
Stefan Ceriu
5faa4910b1 Avoid potential app side NSE UserSession races and let the SDK handle them instead 2024-04-15 15:27:08 +03:00
Stefan Ceriu
fcc25dd441 Adop the new SDK permalink detector and user builder 2024-04-12 18:04:41 +03:00
Doug
eda7d59518
Update strings and add productionAppName value for the new placeholder. (#2677)
* Update strings and add productionAppName value for the new placeholder.

* Fix snapshots.

* Fix more snapshots.
2024-04-10 16:58:00 +01:00
Stefan Ceriu
064626fbbe 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
7a9e4819c1 Add .xcprivacy info files to the main app and the notification service extension 2024-03-18 17:31:46 +02:00
Stefan Ceriu
063b3732b1 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
9b949ce84e
Configure SDK to use the global/OS proxy (#2493) 2024-02-21 15:17:23 +01:00
Doug
01f42546e1
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
09fb5461e6
Removing dead code part 3 (#2264) 2023-12-19 12:12:16 +01:00
Mauro
123164f398
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
d11562692c
Mentioned notifications copy improvement (#2144) 2023-11-22 14:16:03 +01:00
Mauro Romito
7b8f4f8276 Revert "mentioned you improvement"
This reverts commit 0ecb15602044b255907ac79062d4712ac5b2ea1b.
2023-11-22 13:49:56 +01:00
Mauro Romito
0ecb156020 mentioned you improvement 2023-11-22 13:48:45 +01:00
Stefan Ceriu
a8be8f839b Fix new swiftformat warnings: convert types used for hosting only static members into enums. 2023-11-13 13:47:14 +02:00
Stefan Ceriu
ab1c7c1c9a Use the unread count to update the application badge on all flow branches 2023-11-13 13:44:39 +02:00
Mauro
a4bc7b8e36
Custom copy for notifications that contain mentions (#2050) 2023-11-09 18:12:11 +00:00
Doug
5d2215f130
Use the custom log level inside the NSE too. (#2020) 2023-11-04 08:36:49 +00:00
Mauro
ce72a9b5f2
Fix NSE Leak (#2022) 2023-11-03 20:30:58 +00:00
Mauro
ad0b2f114f
@room in user suggestions (#1880)
* for now I am using a local RTE solution, need to fix one test

* fixed a test

* new rte version

* pr suggestions

* @room added to the suggestions

* removed empty space

* revert

* code improvement

* project updated

* package
2023-10-12 16:15:47 +00:00
Doug
2c5662a278
Remove DesignKit package (#1886)
- Move button styles to Compound
- Rename text style to AuthenticationTextStyle as its only in the auth flow.
- Add the brand colour locally for now until its included in Compound.

* Update snapshots.

---------

Co-authored-by: Stefan Ceriu <stefan.ceriu@gmail.com>
2023-10-12 15:45:27 +01:00
Mauro
6bc5a440b2
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
b7c46ceac3
@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
ee0539f260
"Poll start" event push notification (#1819)
* Handle polls in NotificationContentBuilder

* Cleanup
2023-09-28 11:21:17 +02:00
Mauro
7bde419e85
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
Mauro
b5ff6bb93e
Fix for reversed placeholder on notifications on iOS 17 (#1785)
* fix

* invalidating cached images only for iOS 17

* removed paranthesis

* better code

* fix
2023-09-25 09:46:43 +02:00
Mauro
9d91cd4fc0
Preview Tests (#1768)
* preview testing

* removed some views that are not really testabl in UnitTests and improved other tests
2023-09-20 17:33:31 +02:00
Doug
64d5ba7a69
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
97aa930852
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
90228374d1 Bump the RustSDK to v1.1.10 2023-09-07 11:56:38 +03:00
Stefan Ceriu
3bc474fb70 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
a19f5a4186 Expose the log level in developer settings 2023-08-23 16:17:49 +03:00
Doug
5e3a32157a
Enable OIDC support (#1541)
Notification content is bypassed for now.
2023-08-22 15:53:27 +01:00
Mauro
8188fd2d2a
NSE user agent support (#1507) 2023-08-17 13:11:34 +00:00
Mauro Romito
d6b3a000f0 removed filter by push rules ff 2023-08-17 11:37:25 +02:00
Stefan Ceriu
28c2490910 Adopt batched timeline diffs and other RustSDK changes 2023-08-02 12:08:57 +03:00
Mauro
4b14617a8e
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
1529b5b8ca
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
ed28bc5d02 two sync loop always enabled by default 2023-07-26 10:39:19 +02:00