Commit Graph

1552 Commits

Author SHA1 Message Date
Doug bf22250b45 Automatically sign out when toggling the SSS feature flag. (#3071) 2024-07-23 11:55:51 +01:00
Stefan Ceriu b135940097 Fixes #3041 - ElementCall unable to access media on ongoing CallKit session. 2024-07-22 17:39:22 +03:00
Mauro ff33c07596 Fix editing items not in the timeline failing (#3075) 2024-07-22 13:15:57 +02:00
Doug cdd763efd4 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 a436ea6504 Track sub-spans as transactions as well so that we can plot them on a sentry dashboard. 2024-07-19 11:55:07 +03:00
Mauro d437e1f3ed Pinning items Feature Flag (#3063) 2024-07-18 18:28:30 +02:00
Doug 7fbdc2c20f Use the same UI as Android when tapping a link to a private room. (#3044)
* Use the same UI as Android when tapping a link to a private room.

* Fix preview of knocking.

* Fix snapshots.
2024-07-18 15:58:17 +01:00
Doug 6339fe2bf0 Fix a potential race condition when redacting a message. (#3061)
* Refactor the timeline item menu action provider.

- Move it into its own struct.
- Use an item, not an ID so it doesn't randomly change.
- Move permissions into the room screen view model.

* Use the stable ID when redacting/editing/forwarding a message.

Just like we do when fetching the item in the actions menu.
2024-07-18 15:14:38 +01:00
Doug 2fb7f65957 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 288d2c2fdc Add a ClientBuilder hook. (#3056) 2024-07-18 09:47:37 +01:00
Stefan Ceriu 65dd6f3496 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
Doug 95d53f1edf Update the SDK fixing a few room list bugs. (#3054)
* Update the SDK.

* Handle API break for editing timeline items.

* Handle API break for Element Call
2024-07-17 15:48:32 +01:00
Stefan Ceriu 239afeb662 Fixes #3042 - Cancel ElementCall ringing as soon as the call ends 2024-07-17 10:24:30 +03:00
Stefan Ceriu d16ba9f3ef Hook up CallKit lock screen muting controls to the ElementCall widget 2024-07-17 10:24:30 +03:00
Stefan Ceriu 2cce310540 Fixes #3041 - Video not rendering after starting or joinng a call
- not completely sure why this happens but `reportOutgoingCall` interferes with how the WebView gets access to video streams
- the call itself isn't really necessary so removing it is the simplest way forward
2024-07-17 10:24:30 +03:00
Doug 2e6def5157 Fix the string used for encrypted events in the room list. (#3030)
I don't think its actually meant to be shown but this should still be correct if it is.
2024-07-16 09:22:20 +01:00
Doug c92c6a28ae Upgrade the project to use Xcode 15.4 (#3027)
* Update snapshots for Xcode 15.4

* Update CI.

* Fix crashing UI test.

* Fix compile error in Integration Tests.

* Try putting UI tests on GH runners again.
2024-07-11 17:38:32 +01:00
Doug fe5cea15d5 Make sure Element Call uses the correct theme and language. (#3017) 2024-07-09 12:07:13 +01:00
Doug a1329d9d54 Replace old visible rooms range with subscriptions in the room list. (#3014)
* Add a SubscriptionTracker actor to RoomProxy.

* Request subscriptions when scrolling rooms.

* Stop unsubscribing in preparation for Simplified Sliding Sync.
2024-07-08 14:32:13 +01:00
Mauro Romito 7a09be192e fix 2024-07-05 12:56:02 +02:00
Stefan Ceriu d71c8c4e83 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 94f98345b0 Volatile draft to restore the composer after an edit. (#2996) 2024-07-02 14:48:50 +00:00
Doug 457bd3160a Add a missing scheme when getting the Element .well-known file. (#2995) 2024-07-02 11:27:07 +01:00
Mauro dac363c8c5 Edit by timeline item only if the event id is missing (#2989) 2024-07-02 11:14:15 +02:00
Stefan Ceriu b2c9878df6 Make Element Call widget URL configurable (#2971) 2024-07-02 08:35:05 +00:00
Doug 78b0c7068d Add a bug report hook. (#2988) 2024-07-01 13:53:24 +01: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 ab299ab3de Add support for editing local echoes. 2024-06-28 14:28:33 +03:00
Mauro b7345aafca Remove layout styling abstraction (#2982) 2024-06-27 18:25:25 +02:00
Mauro 064b1bf224 Remove plain style layout (#2980) 2024-06-27 16:53:19 +02:00
Doug d977efdf31 Stop the timeline from requesting back pagination whilst loading existing items. (#2969)
* Handle Rust error "can't subscribe to the back-pagination status on a focused timeline"

* Fix a bug where the timeline was attempting to paginate before adding the items.

* Stop the timeline from paginating whilst loading existing items.
2024-06-27 14:20:44 +01: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
Mauro fa22b98b3f Improve UX when answering EL-Call through the notification (#2965) 2024-06-24 16:51:43 +00: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 341b6df70a Avoid races between enabling the send queue and receiving back a status update, stop dropping duplicates both here and on reachability status printing. 2024-06-21 13:29:11 +03:00
Mauro b94111af26 fix (#2942) 2024-06-19 15:30:27 +02:00
Mauro f16b9aad0a Update SDK (#2941) 2024-06-19 12:24:22 +00:00
Stefan Ceriu 4a9de65030 Fixes #2679 - Timestamps in room list inconsistently use absolute and relative formatting 2024-06-19 14:38:00 +03: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 75e8bbd67c Handle sending queue recoverable errors the same way as unsent messages. (#2939) 2024-06-18 17:06:05 +01:00
Stefan Ceriu 63524bff62 Bring back failed message state rendering and a redaction option. Bump the RustSDK to 1.0.15 2024-06-18 13:07:16 +03:00
Stefan Ceriu 3bb8d668bf Bump the RustSDK to v1.0.14 2024-06-17 17:37:13 +03:00
Stefan Ceriu b614f43d00 Add a feature flag for fuzzy room list searching 2024-06-17 15:21:12 +03:00
Mauro cefa38049f Store and restore drafts (#2898) 2024-06-13 12:19:38 +00: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 a2faae20c2 Allow showing the developer options on any build type by tapping the settings screen version footer 7 times (a la android) 2024-06-12 13:07:00 +03:00
Stefan Ceriu 9e195882fc Bump the RustSDK to v1.0.11 2024-06-11 18:46:43 +03:00
Mauro Romito 61e00cf0f7 room membership change states will use displayName
changelog

code improvement
2024-06-11 18:09:59 +03:00
Stefan Ceriu 9f6fc1d42f Fix various swiftlint and swiftformat warnings 2024-06-11 18:09:43 +03:00