1973 Commits

Author SHA1 Message Date
Stefan Ceriu 32e1e1aa24 Add a logout option on the root of IdentityVerification screen. 2024-08-30 15:07:23 +03:00
Doug 4925884f6c Adopt sliding sync discovery for authentication. 2024-08-30 14:45:54 +03:00
Doug 02f868c320 Make sure reactions go through the timeline controller. (#3209) 2024-08-29 09:51:51 +01:00
Doug 61df1dd18c Remove the Element Call Picture in Picture feature flag. (#3204) 2024-08-27 11:07:19 +01:00
Doug 812c5d5c61 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
Mauro 993fe8cd36 TimelineKind refactor (#3193) 2024-08-22 18:33:21 +00:00
Doug 8c07397548 Fix the call URL input field in Developer Options (#3192) 2024-08-22 17:45:58 +01:00
Mauro 4eb1ed5d09 Pinned Events Timeline actions and differentiation (#3182) 2024-08-22 17:35:44 +02:00
Doug 304070e8cc 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 e281a3f242 Introduce a new RoomProxyType and treat rooms differently based on their membership state 2024-08-21 12:24:20 +03:00
Doug e0ba9925e7 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 6616d1799f Remove encryption authenticity feature flag. (#3180) 2024-08-19 09:49:10 +01:00
Doug ebf7c00eeb Navigation support for upcoming Element Call Picture in Picture mode. (#3174) 2024-08-16 11:25:36 +01:00
Stefan Ceriu f89c3e54b4 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 Romito cf35056c78 removing dead code 2024-08-14 18:04:39 +02:00
Mauro 0bbdb05220 RoomScreenViewModel refactor part 2 (#3169) 2024-08-14 18:03:46 +02:00
Mauro c71da91d54 PinnedBanner is now managed by the RoomScreenViewModel (#3163) 2024-08-14 12:38:10 +02:00
Mauro 1ad361a6e8 RoomScreenViewModel is now TimelineViewModel (#3157)
Co-authored-by: Stefan Ceriu <stefanc@matrix.org>
2024-08-13 13:36:40 +02:00
Stefan Ceriu 5eda85a171 Fixes #3144 - Stop showing filters when the room list is not in the rooms display mode 2024-08-13 09:49:05 +03:00
Mauro c62c12397b Remove links from pinned events banner (#3153) 2024-08-12 10:43:30 +02:00
Stefan Ceriu 13d2fa7060 Manually cancel the identity reset handle when dismissing the EncryptionReset screen. 2024-08-09 13:57:04 +03:00
Mauro b84c436551 Fix for a memory leak (#3143) 2024-08-08 19:04:02 +02:00
Mauro ed7d3b0b13 Navigate to the Pinned events timeline (#3139) 2024-08-08 18:29:39 +02:00
Stefan Ceriu 0ad8f3cae8 Fixes #3137 - Delay starting ElementCall until a sync response comes in (or a 5 second timeout)
- this will ensure that the room state is up to date before sending any call related events
2024-08-08 16:04:47 +03:00
Doug 534860b149 Fix search in the Change Roles screen. (#3138) 2024-08-08 10:44:07 +00:00
Stefan Ceriu e5c97ec9a4 Addition to #3122 - Force the room list search text field to always be displayed
- while looking into fixes we noticed that we can more easily break the layout when the search field is automatically hidden
2024-08-07 17:54:28 +03:00
Stefan Ceriu 0c47ea7231 Delete more unnecessary logs 2024-08-07 17:53:10 +03:00
Mauro 91a42538ac Pinned events banner goes backwards (#3128) 2024-08-07 14:01:01 +00:00
Doug 3d112a5683 Make sure the whole room header is tappable. (#3125)
The space between the avatar and the label wasn't.
2024-08-07 09:39:18 +01:00
Stefan Ceriu edbf816447 Fixes #3026, fixes #2386 - Force update the home screen every time the room list changes by manually moving the inner scrollview 2024-08-06 21:30:40 +03:00
Mauro a39a8f9bd0 state events for pinning and unpinning (#3123) 2024-08-06 17:30:42 +02:00
Doug e2712f6b0a Finalise strings/icons for EncryptionAuthenticity. (#3121) 2024-08-06 15:03:11 +01:00
Mauro 08347e15a5 Pinned events banner loading state (#3118) 2024-08-06 15:46:56 +02:00
Stefan Ceriu d31e128aa7 Fixes #3050 - Sync mute state between ElementCall and CallKit 2024-08-06 14:31:27 +03:00
Doug e667be0f43 Add Encryption Authenticity explanations. (#3116) 2024-08-06 10:45:46 +01:00
Doug 6a45ffc939 Fix a bug where moving a new line in the composer could move the caret. (#3114) 2024-08-05 14:46:40 +01:00
Mauro ff2c42d53b Pinned items timeline implementation for the banner (#3099) 2024-08-05 14:09:05 +02:00
Valere a11faeb131 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
Stefan Ceriu 63e0b94764 Crypto identity reset (#3107)
* Add EncryptionReset password entry screen

* Expose client proxy identity reset method

* Update the IdentityConfirmationScreen to the latest designs

* Replace the old recovery key reset screen with a new EncryptionReset one

* Fixes #3102 - Add support for resetting the user's whole crypto identity

* Address review comments

* Bump the SDK to v1.0.30
2024-08-05 09:35:18 +03:00
Doug a2ea9c4a06 Refactor TimelineItemSendInfo out of the styler. (#3100)
* Reorder some properties.

No code changes.

* Refactor TimelineItemSendInfo out of the styler.

* Add (unused) examples of encryption shields.

* Rename file.
2024-07-30 09:43:17 +01:00
Doug 0fab3a8afc Add the inviter to JoinRoomScreen when it's an invite. (#3093)
* Add inviter property to RoomProxyProtocol.

* Extract the room cell inviter label into it's own view.

* Use the new RoomInviterLabel in the JoinRoomScreen.

* Fix bug with invite to a public room.
2024-07-29 09:57:49 +01:00
Mauro 0da2d4917b Pin/Unpin Logic (#3084) 2024-07-26 20:41:00 +02:00
Doug c10ed6169c Update Compound and handle API breaks in Introspect. (#3083) 2024-07-24 17:09:11 +00:00
Stefan Ceriu f44c0765f8 Fixes #3078 - Trim number of resolved alias vias and always default to a join button in the room preview screen 2024-07-24 16:44:27 +03:00
Mauro 37786b8fad Hide/Show pin banner based on scroll direction (#3080) 2024-07-24 12:15:36 +02:00
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 5cb44ee60c Pinned Items Banner UI (#3072) 2024-07-22 12:57:04 +00: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 f1de42a1f3 Fixes #2840 - Use both the room list room and the room preview details to populate the join room screen
- the room summary API is indeed enabled on matrix.org and working fine for most rooms
- it is not however capable of giving us data about non-joined + private rooms
- the SDK addresses that by first trying to use known rooms before resorting to the preview endpoint
- that fails if it's a brand new room that the client doesn't know about yet i.e. a sync hasn't ran, which is exactly what's happening here
- the ClientProxy instead does wait for the room list to go into the first loaded before returning the room
2024-07-18 20:11:54 +03:00