Commit Graph

531 Commits

Author SHA1 Message Date
Jorge Martin Espinosa
96e34cb8ee Add user verification and verification state violation badges (#4392)
* Move `observeRoomMemberIdentityStateChange` and associated classes to `libs:matrixui` module so they can be reused

* Add `EncryptionService.getUserIdentity` method to retrieve not only if the user is verified or not, but in which state they are

* Fix `IdentityChangePresenter` after the previous changes

* Fix `withFakeLifecycleOwner` and add `testWithLifecycleOwner` helper

* Display verified badge in DM top app bar when possible

* Display a verification violation warning icon next to the 'People' item in room details screen

* Display either a verified badge or a verification violation warning icon next to the room members in the room member list screen

* Display either a verified badge or a verification violation warning and withdraw verification button in the room member profile.

Generic user profiles won't display verification state anymore since we can't easily track changes in it.

* Add preview for room member details screen with verification violation identity state

* Add verified and violation badge to the `Profile` list item in room details screen

* Update screenshots

---------

Co-authored-by: ElementBot <android@element.io>
2025-03-12 12:22:53 +01:00
Jorge Martin Espinosa
b91933625c Implement user verification (#4294)
* Add support for starting verification of a user

* Add support for replying to incoming user verification requests

* Add reset recovery key button and previews to `ChooseSelfVerificationModeView`

* Add 'Profile' item in room details screen

* Update screenshots

* Remove `showDeviceVerifiedScreen` parameter from `NavTarget.UseAnotherDevice`

* Allow exiting the FTUE flow, which will close the app. The previous state will be restored when the app is reopened.

* When outgoing verification fails, move to the `Canceled` state. Then, when resetting the state machine state also reset the verification service.

---------

Co-authored-by: ElementBot <android@element.io>
2025-03-10 11:20:17 +01:00
ganfra
8b933cf10d change(invites) : clean code 2025-03-04 10:51:22 +01:00
ganfra
abb0460bbb change(invites) : add some tests and update some fakes 2025-02-27 21:33:28 +01:00
Benoit Marty
ec63866aa4 Merge pull request #4301 from element-hq/feature/bma/preloadAccountURL
Preload account urls
2025-02-26 15:54:20 +01:00
Jorge Martin Espinosa
274d9dc7c1 Upgrade SDK version to 25.02.26 (#4305)
* Upgrade SDK version to 25.02.26

* Remove OIDC URL result from logout, the SDK no longer provides it

* Handle room creation and destruction in a better way

* Remove `onSuccessLogout`
2025-02-26 09:04:49 +00:00
Benoit Marty
5b07a0acb1 Add tests. 2025-02-25 15:45:06 +01:00
Benoit Marty
bf62c51a97 Merge pull request #4274 from element-hq/feature/bma/mediaTimelineImprovment
Update Matrix Room API and allow media swipe on pinned event only.
2025-02-19 09:41:27 +01:00
Benoit Marty
36d5528904 Merge branch 'develop' into feature/valere/support_verification_violation_banner 2025-02-18 15:42:08 +01:00
Benoit Marty
e35eda0c67 Improve MatrixRoom.createTimeline API. 2025-02-18 12:12:36 +01:00
Benoit Marty
c02436d3f0 Update Matrix Room API and allow media swipe on pinned event only. 2025-02-17 16:45:25 +01:00
Jorge Martín
02addf54dd Add RoomMembershipDetails to get the room member info for the current user and the sender of its m.room.member state event in the room. 2025-02-10 19:13:02 +01:00
Jorge Martín
311fbb84f7 Make MatrixClient return a RoomPreview instance, not a RoomPreviewInfo one. 2025-02-10 19:13:02 +01:00
ganfra
3b0ac5420a feat(room preview) : use room summary joined members count 2025-02-10 19:13:02 +01:00
ganfra
ba07370dfa feature(room preview): Add option to forget room, improve the room preview screen for banned rooms.
Some internal refactoring was done too:
- Remove RoomInfo.isPublic to only use JoinRule.
- Also take into account restricted access rooms for previews.
2025-02-10 19:13:02 +01:00
Valere
fe235de273 code review: renaming, comments, extract common code 2025-02-06 16:27:21 +01:00
Valere
1087b151a3 feature(crypto): verification violation handling and block sending 2025-02-06 16:27:19 +01:00
Benoit Marty
0409ed84ed Enable Offline mode of the SyncService, so that the sync starts automatically when the network is back.
Also rely on the sync state to render the "Offline" banner.
2025-02-03 18:27:32 +01:00
ganfra
c689809b55 Merge pull request #4212 from element-hq/feature/fga/room_settings_security_privacy
Feature : room settings - security and privacy
2025-01-29 17:29:56 +01:00
Benoit Marty
9b1d0aadbe Add tests on GroupedMediaItems.hasEvent 2025-01-28 12:47:05 +01:00
Benoit Marty
fdf40120a7 Add ability to swipe between media when opened from the timeline. 2025-01-28 09:58:44 +01:00
ganfra
9ee5927489 feat(security&privacy) : expose more methods from sdk 2025-01-23 14:18:17 +01:00
ganfra
70f39c4f7c feat(security&privacy) : expose methods from sdk to update alias and rename alias to canonicalAlias 2025-01-22 15:13:09 +01:00
ganfra
6e4bcedc4c feat(security&privacy) : expose new sdk methods 2025-01-21 11:49:56 +01:00
Benoit Marty
05fc76822a Apply dual licenses: AGPL + Element Commercial to file headers.
2 replace all actions have been performed:
- "SPDX-License-Identifier: AGPL-3.0-only" to "SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial"
- "Please see LICENSE in the repository root for full details." to "Please see LICENSE files in the repository root for full details."
2025-01-07 10:05:04 +01:00
ganfra
69307f7c62 knock requests : format and clean 2024-12-18 18:13:13 +01:00
ganfra
01f7fc20f4 Merge branch 'develop' into feature/fga/knock_requests_sdk 2024-12-18 17:21:16 +01:00
ganfra
a6decdf697 knock requests : add tests to the feature 2024-12-17 15:36:30 +01:00
ganfra
7e523df08c knock request : expose JoinRule from sdk 2024-12-16 20:23:25 +01:00
ganfra
8a73a9c158 knock requests : branch the api in presenters 2024-12-13 20:00:00 +01:00
Benoit Marty
87de436c98 Add a way to clear the cache for a specific room. 2024-12-12 11:58:46 +01:00
ganfra
741ae35aca knock requests : expose api through Room 2024-12-11 17:50:44 +01:00
Benoit Marty
4bbde1d7a3 Remove extra space. 2024-12-10 09:24:45 +01:00
Benoit Marty
28725a364f Media Gallery 2024-12-09 16:48:48 +01:00
ganfra
40c9a12a98 Merge branch 'develop' into feature/bma/fixSendQueueCrash 2024-11-22 10:51:41 +01:00
ganfra
982410ece8 fix : protect some more calls to client and rework the concerned apis 2024-11-21 19:53:42 +01:00
Benoit Marty
d3408c8f25 Edit / Add / Remove caption 2024-11-21 09:45:27 +01:00
Benoit Marty
ece62b7978 Allow caption for audio and file.
Need to preview all the attachments now, to be able to type a caption.
2024-11-21 09:45:26 +01:00
Jorge Martin Espinosa
56fe177c31 Update SDK bindings version to 0.2.62 and fix SendHandle usages (#3876) 2024-11-15 13:48:59 +00:00
ganfra
2ef8bd33ef preview api : rename RoomPreview to RoomPreviewInfo to avoid confusion 2024-11-15 10:51:47 +01:00
ganfra
dfe18168a2 create room : improve handling of room address 2024-11-13 17:55:45 +01:00
Jorge Martin Espinosa
49e1cfed42 Fix verification failed issue, simplify verification logic (#3830)
* Simplify session verification:

- Reuse Rust `Client` instances created on the login process so we don't need to restore one right before the session verification.
- Remove unnecessary sources of verification state updates.
- Add an intermediate FTUE flow step which will display an indeterminate progress indicator instead of a blank screen.

* Remove unnecessary workaround: the SDK should already handle this

* Add regression tests for noop analytics service usage.

* Add `services.analytics.noop` module to the test dependencies

---------

Co-authored-by: Benoit Marty <benoit@matrix.org>
2024-11-08 16:42:27 +01:00
ganfra
1e12d2cb71 Merge pull request #3809 from element-hq/renovate/org.matrix.rustcomponents-sdk-android-0.x
fix(deps): update dependency org.matrix.rustcomponents:sdk-android to v0.2.59
2024-11-06 17:25:27 +01:00
ganfra
f8d4b11f56 rust sdk : handle api breaks for 0.2.59 2024-11-06 16:31:25 +01:00
Benoit Marty
19c56cdbe3 Send caption with media 2024-11-04 14:24:39 +01:00
Benoit Marty
e6f7300be6 Improve FakeMatrixRoom to be able to check all the parameters. 2024-10-30 18:39:55 +01:00
Benoit Marty
d1b3ecab36 Incoming session verification request
Add more log to the state machines
Ensure the block cannot be cancelled, else if the Rust SDK emit a new state during the API execution, the state machine may cancel the api call.
Let VerificationFlowState values match the SDK api for code clarity.
Rename sub interface for clarity.
Migrate tests to the new FakeVerificationService.
2024-10-29 09:26:15 +01:00
ganfra
52053fcf38 Merge pull request #3725 from element-hq/feature/fga/knock_request_to_join
Feature: knock request to join
2024-10-23 18:50:32 +02:00
ganfra
2ffd46061e knock : improve a bit code and add tests. 2024-10-23 15:44:00 +02:00
ganfra
c135f5a3b9 knock : add knock function to the matrix client 2024-10-22 16:22:19 +02:00