Commit Graph

610 Commits

Author SHA1 Message Date
Benoit Marty
c8ff0d5641 Fix code quality. 2024-10-08 11:09:46 +02:00
Benoit Marty
9d815d26b4 Pin user identity. 2024-10-07 22:19:13 +02:00
Benoit Marty
9b94edcfa3 Render PinViolation above the composer. 2024-10-07 22:18:32 +02:00
Valere
0cc751d168 dep | Adapt rust-sdk, rename PreviouslyVerified to VerificationViolation 2024-10-04 12:37:33 +02:00
ganfra
8181572dde timeline : improve jumpTo precision (introducing animateScrollToItemCenter) 2024-10-03 15:33:03 +02:00
ganfra
3a1c20a0fe timeline : makes typingNotification item part of the timelineItems. 2024-10-03 13:14:14 +02:00
renovate[bot]
bb11bc5494 Update dependency org.matrix.rustcomponents:sdk-android to v0.2.50 (#3565)
* Adapt to changes in the SDK

* Update dependency org.matrix.rustcomponents:sdk-android to v0.2.50

* Use lambda instead of overriding the `EventDebugInfoProvider` interface

* Fix test proposal.
We may find a better way to compare data class instance if we need to do more comparison in the future...

---------

Co-authored-by: Jorge Martín <jorgem@element.io>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Benoit Marty <benoit@matrix.org>
2024-10-01 09:44:52 +02:00
Benoit Marty
93e3d60ae9 Remove ability to change default common trace level 2024-09-23 17:21:39 +02:00
Benoit Marty
08b63943b8 Add unit test on RustNotificationService
And fix mapping error.
2024-09-19 19:43:40 +02:00
Benoit Marty
7626ace24c Change type of items in activeRoomCallParticipants from String to UserId 2024-09-18 17:16:06 +02:00
Benoit Marty
b842a53106 Change type of items in alternativeAliases from String to RoomAlias 2024-09-18 17:16:06 +02:00
Benoit Marty
5893b4d0b4 Distinguish between roomId and roomAlias. 2024-09-18 12:27:07 +02:00
Benoit Marty
ea355d29ed Account deactivation. 2024-09-17 16:51:11 +02:00
Benoit Marty
8c424c63e6 Merge pull request #3467 from element-hq/feature/bma/accountCreation
Temporary account creation using Element Web.
2024-09-16 16:52:26 +02:00
ganfra
60365e46a5 Merge pull request #3461 from element-hq/feature/fga/send_failure_identity_changes
Require acknowledgement to send to a verified user if their identity changed or if a device is unverified.
2024-09-16 16:00:18 +02:00
ganfra
6c29b5c694 Send failure verified user : add some comments and logs. 2024-09-16 15:22:40 +02:00
Jorge Martin Espinosa
b91d13b466 Fix not being able to decline an invite from the room list (#3466)
* Add `InvitedRoom` to wrap Rust SDK Rooms in 'invited' membership state.

At the moment, this is a wrapper that allows us to call `Room.leave()` without having to initialise the room's timeline (which is impossible).

* Add `MatrixRoom.getInvitedRoom(roomId)` to get one of these rooms.

Also, `RustRoomFactory` now has a `createInvitedRoom` method for this.

* Adapt `AcceptDeclineInvitePresenter` to use the new APIs.
2024-09-16 13:02:20 +00:00
Benoit Marty
bed7776674 Account Creation using a WebView 2024-09-16 12:24:47 +02:00
Jorge Martin Espinosa
03786c1fd2 Add forced logout flow when the proxy is no longer available (#3458)
* Add `MatrixClient.isSlidingSyncProxySupported` function

* Update localazy strings

* Modify `ErrorDialog` to have an `onSubmit` call, which will be used for the submit action.

Also make the title text optional and dismissing the dialog by tapping outside/going back configurable.

* Check if a forced migration to SSS is needed because the proxy is no longer available.

In that case, display the non-dismissable dialog and force the user to log out after enabling SSS.

* Enable native/simplified sliding sync by default.

* Refactor the login to make sure we:

1. Always try native/simplified sliding sync login first, if available.
2. Then, if it wasn't available or failed with an sliding sync not supported error, try with the proxy instead (either discovered proxy or forced custom one).

* Move logic to `LoggedInPresenter` and the UI to `LoggedInView`

* Update screenshots

---------

Co-authored-by: ElementBot <benoitm+elementbot@element.io>
2024-09-16 09:13:02 +00:00
ganfra
b38f016677 Send failure verified user : resolve ui and logic 2024-09-13 16:40:07 +02:00
ganfra
ba70fbb77e Send state : introduce Failed.VerifiedUser interface. 2024-09-13 16:40:06 +02:00
ganfra
ff0ef5f093 Send failure verified user : expose new methods on MatrixRoom. 2024-09-13 16:40:06 +02:00
Benoit Marty
6087b15560 Fix filtering of Event at the beginning of DM. 2024-09-12 09:21:53 +02:00
Benoit Marty
9cbc1805dd Merge pull request #3442 from element-hq/feature/bma/deviceId
DeviceId and cleanup.
2024-09-11 11:01:31 +02:00
Benoit Marty
626fa4e495 Introduce value class "DeviceId" 2024-09-11 09:52:25 +02:00
Jorge Martin Espinosa
8154aa3319 Add banner for optional migration to simplified sliding sync (#3429)
* Add banner for optional migration to native sliding sync

- Add `MatrixClient.isNativeSlidingSyncSupported()` and `MatrixClient.isUsingNativeSlidingSync` to check whether the home server supports native sliding sync and we're already using it.
- Add `NativeSlidingSyncMigrationBanner` composable to the `RoomList` screen when the home server supports native sliding sync but the current session is not using it.
- Add an extra logout successful action to the logout flow, create `EnableNativeSlidingSyncUseCase` so it can be used there.

* Update screenshots

* Make sure the sliding sync migration banner has lower priority than the encryption setup ones

---------

Co-authored-by: ElementBot <benoitm+elementbot@element.io>
2024-09-09 18:13:19 +02:00
ganfra
a556557881 Timeline : remove the encrypted history banner for now. 2024-09-09 11:20:50 +02:00
Benoit Marty
62a6e916a6 Migrate license to AGPL - XML files. 2024-09-06 17:43:35 +02:00
Benoit Marty
2b016227e9 Migrate license to AGPL.
Run script `uv run license-editor --repository ../element-x-android`
2024-09-06 17:19:19 +02:00
ganfra
e5c81db224 Merge pull request #3392 from element-hq/feature/fga/pinned_messages_list
[Feature] Pinned messages list
2024-09-06 16:32:44 +02:00
ganfra
a37a6d249f Pinned messages list : improve and fix code after PR review. 2024-09-05 17:40:50 +02:00
ganfra
4fe142c624 Rust sdk : update to 0.2.42 2024-09-04 16:37:46 +02:00
ganfra
9936dbc464 Merge branch 'develop' into feature/fga/pinned_messages_list 2024-09-04 14:11:53 +02:00
Jorge Martin Espinosa
4fbf98700a Make sure to save the tokens the Client might return when its session is restored (#3378)
* Use `ClientSessionDelegate` to ensure tokens are always updated.

Refreshed tokens on client restoration might not have been stored to disk if the token refresh happened before `RustMatrixClient` was built and the `ClientDelegate` was set in it.

Using `ClientSessionDelegate` should ensure the tokens refreshed callback is called at any point in time.

* Improve how assigning the Client works, fix docs

* Fix review comments
2024-09-04 10:54:31 +02:00
renovate[bot]
5ba88dc5b0 Update dependency org.matrix.rustcomponents:sdk-android to v0.2.41 (#3384)
* Introduce value class UniqueId.

* Allow reactions on non-sent Event, the SDK can now handle it.

Also the SDK will manage local echo for reactions.

* Update dependency org.matrix.rustcomponents:sdk-android to v0.2.41

* Fixes after SDK upgrade:

- Use `ClientBuilderSlidingSync` to set `SlidingSyncVersionBuilder` in `RustMatrixClientFactory`.
- `Room.toggleReaction(emoji: String, eventId: EventId)` is now `Room.toggleReaction(emoji: String, uniqueId: UniqueId)`, since reactions can now be applied to local echoes too in the SDK.

* Rename exception case

* Fix wrong error case being used in test

---------

Co-authored-by: Benoit Marty <benoit@matrix.org>
Co-authored-by: Benoit Marty <benoitm@matrix.org>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Jorge Martín <jorgem@element.io>
2024-09-03 20:09:33 +02:00
ganfra
3cc749dd0a Pinned events : start displaying actions in timeline 2024-08-30 15:15:22 +02:00
Benoit Marty
82fa369c8b Merge pull request #3320 from element-hq/feature/bma/cleanNotificationOfRedactedEvent
Redact message on displayed notification
2024-08-29 14:46:13 +02:00
Benoit Marty
b4e9799fec Better handling on null reset handler.
This is not an error, but in this case, the reset identity is successful.
2024-08-29 09:41:13 +02:00
ganfra
0832fb9f2f Timeline : add a mode to differentiate between live/focused/pinned 2024-08-28 12:35:21 +02:00
Benoit Marty
3b12d54dad Cleanup notification for redacted event. 2024-08-28 10:29:01 +02:00
ganfra
f06b2290ea Rust sdk : handle the remaining changes 2024-08-27 17:45:32 +02:00
ganfra
18959a930f Rust sdk : refactor LocalSendState to use the new failure states as iOS does 2024-08-27 17:45:22 +02:00
ganfra
57c6abfe47 Rust sdk : use newMessageShield state 2024-08-27 17:43:07 +02:00
Benoit Marty
4b8985e501 Suggestion for room alias.
Rename `Mention` to `IntentionalMention` for clarity
Remove dead code, there is no intentional mention for Room or RoomAlias.
Rename `IntentionalMention.AtRoom` to `IntentionalMention.Room` to match Rust naming
2024-08-21 15:32:05 +02:00
Benoit Marty
c420fcad18 Merge pull request #3240 from element-hq/feature/valere/message_shields
Timeline UI | MessageShield Support
2024-08-16 14:25:33 +02:00
Benoit Marty
0362498fae Make extension isCritical a val instead of a fun. 2024-08-16 09:56:01 +02:00
Benoit Marty
34268a30ea Iterate on shield mapping and rendering
Also handle click on the timeline and information displayed on long click.
2024-08-14 17:24:11 +02:00
Benoit Marty
5dceba8146 Merge branch 'develop' into feature/valere/message_shields 2024-08-14 12:37:31 +02:00
Jorge Martín
0ddadd8c5a Fix lint issues 2024-08-13 08:55:06 +02:00
Jorge Martín
903d24ea2f Improve APIs, add tests 2024-08-13 08:55:06 +02:00