Commit Graph

520 Commits

Author SHA1 Message Date
Mauro 94f98345b0 Volatile draft to restore the composer after an edit. (#2996) 2024-07-02 14:48:50 +00:00
Stefan Ceriu b2c9878df6 Make Element Call widget URL configurable (#2971) 2024-07-02 08:35:05 +00:00
Stefan Ceriu 3c500887ab Setup Sentry instrumentation on top of the existing Signposter (#2985)
* Move Sentry setup outside of the BugReportService

* Setup Sentry SwiftUI tracing for the homeScreen and roomScreen roots

* Setup Sentry instrumentation on top of the existing Signposter

* Various tweaks
2024-06-28 18:15:57 +03:00
Stefan Ceriu b7fcb76094 Remove redundant remove failed sent message menu 2024-06-28 14:28:33 +03:00
Stefan Ceriu 41d40d8de0 Cleanup how we setup the CallKit provider and have it be used for outgoing calls as well (#2967)
- tear down ElementCall screens when ending the call from the CXCallController
- make the call UI available in the task manager and lock screen
- Fix broken hang up widget message format
2024-06-27 14:07:44 +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
Mauro f16b9aad0a Update SDK (#2941) 2024-06-19 12:24:22 +00:00
Doug 834260c144 Use the room heroes when computing a DM avatar. (#2900)
* Use room heroes for DM avatar content ID.

* Use RoomAvatar.heroes for the DM Details stack.
2024-06-19 10:27:10 +00:00
Stefan Ceriu 3bb8d668bf Bump the RustSDK to v1.0.14 2024-06-17 17:37:13 +03:00
Stefan Ceriu 63a474bb3f Stop showing "Preview unavailable" while loading room preview details on the JoinRoomScreen 2024-06-14 17:33:02 +03:00
Mauro cefa38049f Store and restore drafts (#2898) 2024-06-13 12:19:38 +00:00
Stefan Ceriu b8dea8ac4e Handle multithreaded access crashes on unit tests using generated mocks
- always dispatch receivedInvocations mutations on the main queue
2024-06-13 14:38:33 +03:00
Stefan Ceriu 8b3141ffec Bump the SDK and handle breaking changes on timeline diffing
- avoid race conditions between when a timeline listener starts publishing to the `updatePublisher` and when they are consumed (and in which order)
- subscribe to the timeline directly in the TimelineProvider and correctly process updates serially
- update the AutoUpdatingRoomTimelineProviderMock to use an SDK TimlineMock and listener to publish updates
2024-06-13 14:38:33 +03:00
Stefan Ceriu b73e5e9e5d Prioritise joining rooms by alias if available and letting the homeserver do the right thing 2024-06-13 14:38:18 +03:00
Stefan Ceriu 9e195882fc Bump the RustSDK to v1.0.11 2024-06-11 18:46:43 +03:00
Stefan Ceriu b2afa04832 Cleanup dead code after Periphery run 2024-06-11 14:38:08 +03:00
Doug 2487895207 Adopt Rust's new sessionPath that replaces the basePath (#2903) 2024-06-06 18:35:57 +01:00
Stefan Ceriu 6c1647b851 Fixes #2842, fixes #2841 - Adopt new message sending queue API
- automatically retry failed requests as soon as the network is availble again
- remove manual retry options
2024-06-06 12:59:03 +03:00
Stefan Ceriu 53fc5df55b Generate mocks for all SDK classes and introduce a simple TimelineItemFactory test to try them out 2024-06-05 17:51:45 +03:00
Stefan Ceriu a4c9135b58 Decouple the bug report service from the analytics one 2024-05-30 15:42:26 +03:00
Mauro 4e23f7be22 QR Code Login Flow (#2767)
Co-authored-by: Hugh Nimmo-Smith <hughns@users.noreply.github.com>
Co-authored-by: Hugh Nimmo-Smith <hughns@element.io>
2024-05-29 17:07:17 +02:00
Stefan Ceriu 3a904ebc9d Replace the old MockUserSession with the generated UserSessionMock 2024-05-27 17:05:01 +03:00
Stefan Ceriu f8d094516d Fixes #2878 - Retain cycles on the ElementCall webView and correctly tear down the call on dismissal. 2024-05-24 15:32:56 +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
Valere f0ac0a63fb Add device keys to rageshakes (#2838) 2024-05-21 09:54:16 +01:00
Mauro 545b5c31cc Bump SDK (#2857)
Co-authored-by: Doug <douglase@element.io>
2024-05-20 14:37:45 +02:00
Doug 824190510f Show a failure toast when alias look-up fails. 2024-05-13 15:37:57 +03:00
Doug 1e0a6d76ae Make sure we pass the via parameters with all the routes.
Put the event ID first.

Fix tests.

Bump the SDK.
2024-05-13 15:37:57 +03:00
Stefan Ceriu a401976b2b Enable room list invites by default and remove old code paths 2024-05-09 19:01:57 +03:00
Valere bd4fae6086 Posthog: report SessionSecurityState (#2795)
* Posthog: report SessionSecurityState

* Review quick change

---------

Co-authored-by: Mauro <34335419+Velin92@users.noreply.github.com>
2024-05-07 14:31:12 +00:00
Valere 0eb1fb257c Posthog: use correct API for user properties (#2793) 2024-05-07 12:08:56 +02:00
Valere 176abd5841 Bump posthog SDK version to 3.2.0 (#2788)
Co-authored-by: Mauro <34335419+Velin92@users.noreply.github.com>
2024-05-06 15:07:05 +00: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 38416dbb5c Plain composer suggestions and pills (#2751)
* Move ComposerToolbar files to withing the RoomScreen folder (as it's not a screen on its own)

* Switch the plain composer to NSAttributedStrings

* Enable suggestions on the plain composer

* Introduce a new `MatrixUserDisplayName` attributed string attributed and use it for mention building

* Implement mention pill rendering and sending on the plain message composer

* Fix plain composer snapshot tests

* Fix broken formatting options layout

* Add clarifying comment.
2024-05-03 10:06:16 +01:00
Valere ec19b5a0c4 Support for posthog super properties (#2774)
* Support for posthog super properties

* Use typed SuperProperties and add tests

* update superProperty in AppCoordinator
2024-05-02 16:21:09 +01:00
Mauro 18dc9cd20f Account URL is now fetched async (#2769) 2024-04-30 19:08:32 +02:00
Doug f688d2eda4 Permalink Tweaks (#2768)
* Revert back to creating a new flow when re-selecting the same room.

Fix the composer bug by adding IDs to the all of the module AnyViews.

* Don't show the live timeline when starting with a focussed event.
2024-04-30 17:25:32 +01:00
Doug 76e7de40b5 Prepare for event focus and forward pagination (#2745)
Neither are available yet.
2024-04-25 18:32:33 +01:00
Stefan Ceriu 69ffd3be46 Handle alias room permalinks 2024-04-23 08:01:30 +03: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 1e810f91ff Fixes #2707 - Prevent the app from locking while recording a voice message 2024-04-20 15:38:58 +03:00
Stefan Ceriu effe3b6a9b Membership aware room routes (#2709)
* Remove the invites button when room list invites are enabled

* element-hq/element-x-ios/issues/2632 - Handle room permalinks based on their membership state and show the according room joining screens:
- modify the room flow coordinator to only take a roomID and be able to decide its own room flows (especially for unjoined rooms)
- add support for the new room preview API
- have RoomDirectorySearch go through the same paths
2024-04-19 17:04:18 +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 20d57e4998 Bump the RustSDK to v1.1.59, regenerated the SDK mocks 2024-04-18 15:01:31 +03:00
Doug e7af7fb59c Handle external links to a user. (#2690) 2024-04-15 11:08:00 +01:00
Stefan Ceriu 4d513f9ed1 Stop relying on the NotificationCenter for removing delivered push notifications:
- this will improve the architecture but more importantly will remove some very flakey unit tests
2024-04-12 19:18:00 +03:00
Mauro fc1310d7ad QR Code, verification code views (#2685) 2024-04-12 09:29:14 +00:00
Mauro 9bc24e2038 QR Code error views (#2678)
Co-authored-by: Doug <douglase@element.io>
2024-04-11 08:32:56 +00:00
Stefan Ceriu 7645971812 Attempt to improve unit test reliability:
- synchronize mock properties on the main queue
- sleep for longer when processing routes
- finish encoding before deallocating the keyed archiver
- wait for NotificationCenter notifications to be delivered
- change were we process remote notification permissions
2024-04-10 17:40:47 +03: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