Commit Graph

560 Commits

Author SHA1 Message Date
Mauro
bbb462bd83 Pinned Events Timeline actions and differentiation (#3182) 2024-08-22 17:35:44 +02:00
Doug
6a44d79b6e Use native video call picture in picture! (#3190)
* Use native video call picture in picture!

* Handle isSupported, isPossible and web view errors.

* Use new canEnterPip method.

* Hide a room's Call button when already joined to the call.

* Tweak feature flag description.

* PR comments.
2024-08-21 17:48:57 +01:00
Stefan Ceriu
34eb596c1a Introduce a new RoomProxyType and treat rooms differently based on their membership state 2024-08-21 12:24:20 +03:00
Doug
1d29d4de8a Remove GenericCallLinkCoordinator, merging it into CallScreen. (#3181)
* Remove incorrect message send call and fix typo.

* Add overlay coordinator presentation to the NavigationRootCoordinator.

* Remove GenericCallLinkCoordinator, merging it into CallScreen.

This will allow for picture in picture on call links when available.
2024-08-19 17:21:25 +01:00
Doug
2c51f22109 Remove encryption authenticity feature flag. (#3180) 2024-08-19 09:49:10 +01:00
Doug
bcf417cabd Navigation support for upcoming Element Call Picture in Picture mode. (#3174) 2024-08-16 11:25:36 +01: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
11072ce574 RoomScreenViewModel refactor part 2 (#3169) 2024-08-14 18:03:46 +02:00
Mauro
803c61e879 PinnedBanner is now managed by the RoomScreenViewModel (#3163) 2024-08-14 12:38:10 +02:00
Mauro
ecddcfcd16 RoomScreenViewModel is now TimelineViewModel (#3157)
Co-authored-by: Stefan Ceriu <stefanc@matrix.org>
2024-08-13 13:36:40 +02:00
Doug
8d49a237b1 Remove unused protocol. 2024-08-12 12:23:29 +01:00
Mauro
293c5b234e Navigate to the Pinned events timeline (#3139) 2024-08-08 18:29:39 +02:00
Mauro
c23851bbe6 Pinned events banner goes backwards (#3128) 2024-08-07 14:01:01 +00:00
Mauro
07f2242ed0 Pinned events banner loading state (#3118) 2024-08-06 15:46:56 +02:00
Valere
6b8d440be6 Show Encryption Authenticity warnings on messages in the timeline. (#3051)
* Initial implementation.

* Add developer option for showing timeline item authenticity.

* Refactor code to use new SendInfo.Status.

---------

Co-authored-by: Doug <douglase@element.io>
2024-08-05 11:15:38 +00:00
Doug
acc916c5cf Fix the restoration of a SSS session. (#3081) 2024-07-24 10:55:40 +01:00
Doug
17a86a2066 Add a certificate validator hook. (#3069)
* Add a certificate validator hook.

* General tidy up of AppHooks.

* Don't worry about the generic call links.
2024-07-19 17:05:54 +01:00
Stefan Ceriu
536d6a1567 Simplify how we setup Sentry to make sure it's configured before any spans get created - they don't get reported otherwise 2024-07-18 08:58:20 +03:00
Mauro
4de7a88848 Restore Mentions in plain text mode (#3018) 2024-07-09 13:02:46 +02:00
Doug
79734ad4a8 Make sure the BugReportScreen allows the user to retry if sending fails. (#3012) 2024-07-08 14:32:36 +01:00
Stefan Ceriu
bc7c76cf3a Use local room list sorting from Rust. (#2978)
* Switch to the new local room list sorting API

* Get rid of the RoomSummary enum, replace it by the inner RoomSummaryDetails

* And finally, rename RoomSummaryDetails to RoomSummary

* Fix a bunch of warnings

* Small tidy up post rebase/review.

- Remove unused invalidated property.
- Rename some RoomSummary instances to summary instead of details.
- Fix tests with missing roomListItem's.

* Update snapshots

---------

Co-authored-by: Doug <douglase@element.io>
2024-07-05 10:10:53 +01:00
Mauro
ef465d3004 Volatile draft to restore the composer after an edit. (#2996) 2024-07-02 14:48:50 +00:00
Doug
9bd3040e75 Add a bug report hook. (#2988) 2024-07-01 13:53:24 +01:00
Stefan Ceriu
fa15335b9b 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
Mauro
352f6095a9 Remove layout styling abstraction (#2982) 2024-06-27 18:25:25 +02:00
Mauro
2ccf11618d Remove plain style layout (#2980) 2024-06-27 16:53:19 +02:00
Stefan Ceriu
90a22ce5c9 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
Stefan Ceriu
1456c57da0 Ignore punctuation characters at the end of detected links
- fixes permalink handling when that's the case
- prevents deep linking loops between nightly and the main app
2024-06-19 16:10:31 +03:00
Stefan Ceriu
f2503f252d Fixes #2679 - Timestamps in room list inconsistently use absolute and relative formatting 2024-06-19 14:38:00 +03:00
Doug
6e834e7f8b 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
837a72577a Fix ComposerToolbarViewModel user suggestion selection unit test 2024-06-17 09:31:33 +03:00
Mauro
8b8cee0a78 Store and restore drafts (#2898) 2024-06-13 12:19:38 +00:00
Stefan Ceriu
d8e7585354 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
4a56fa75ad Cleanup dead code after Periphery run 2024-06-11 14:38:08 +03:00
Doug
3f57668f56 Adopt Rust's new sessionPath that replaces the basePath (#2903) 2024-06-06 18:35:57 +01:00
Stefan Ceriu
425f4bd45f 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
4d6f5d91a8 Generate mocks for all SDK classes and introduce a simple TimelineItemFactory test to try them out 2024-06-05 17:51:45 +03:00
Doug
dc42647740 SwiftLint fixes. (#2899)
non_optional_string_data_conversion and static_over_final_class

* Revert Data -> String changes for upcoming rule change.
2024-06-05 07:31:49 +01:00
Doug
691640e80e Add a flag to disable hidden profiles for ignored users. (#2892) 2024-05-31 13:37:59 +01:00
Stefan Ceriu
04ae8b0b7f Decouple the bug report service from the analytics one 2024-05-30 15:42:26 +03:00
Mauro
3505486016 removed useless qr logs (#2886) 2024-05-29 17:22:28 +02:00
Mauro
e09e34aa61 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
d922d5ef09 Replace the old MockUserSession with the generated UserSessionMock 2024-05-27 17:05:01 +03:00
Stefan Ceriu
b55eb7d19e Fixes #2878 - Retain cycles on the ElementCall webView and correctly tear down the call on dismissal. 2024-05-24 15:32:56 +03:00
Valere
d9466d584d Add device keys to rageshakes (#2838) 2024-05-21 09:54:16 +01:00
Mauro
ab0edf0b0e Bump SDK (#2857)
Co-authored-by: Doug <douglase@element.io>
2024-05-20 14:37:45 +02:00
Doug
29ca045c5f Add Forgot PIN button to AppLockSetupPINScreen. (#2833) 2024-05-13 15:41:35 +01:00
Doug
489529820b Fix compile error in unit tests. 2024-05-13 15:37:57 +03:00
Doug
73e37a8ddf 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
Doug
87679329d8 Support tapping Matrix URIs in messages. (#2828) 2024-05-10 15:22:22 +01:00