Commit graph

97 commits

Author SHA1 Message Date
Benoit Marty
3be08fdb0c Add Konsist test to check that files do not have double license header.
It seems that sometimes Android Studio is doing this mistake.
2025-08-11 10:36:40 +02:00
Jorge Martin Espinosa
1a335698c0
Force last owner of a room to pass ownership when leaving (#5094)
* Move `ChangeRoles*` classes to their own module so they can be shared

* Hook the change roles screen to the leave room action, add confirmation dialogs

* Use enum instead of sealed interface for `ChangeRoomMemberRolesListType`

* Try to improve communications between nodes

* refactor (leave room) : makes sure to expose only necessary code from api module

* Add `:libraries:previewutils` module to share some test fixtures used for UI previews

* Update screenshots

---------

Co-authored-by: ElementBot <android@element.io>
Co-authored-by: ganfra <francoisg@matrix.org>
2025-08-05 17:24:14 +02:00
Benoit Marty
b547b6a735 Cleanup 2025-07-11 16:19:11 +02:00
Benoit Marty
4c42b3c013 Add preview for mentions in the context of the timeline. 2025-07-08 18:49:22 +02:00
Benoit Marty
4688b15c06 Fix issue after rebase. 2025-07-07 17:24:58 +02:00
Benoit Marty
1782e6d30b Apply gradient to focused Event. 2025-07-07 15:03:30 +02:00
Benoit Marty
b3af5509c7 Improve Konsist test. 2025-07-07 14:49:09 +02:00
Benoit Marty
2b8c4ba079 Remove bloom effect and replace by linear gradient
Use semantic colors.
2025-07-07 14:49:07 +02:00
Benoit Marty
f3eb0e69cc Fix wrong TopAppBar usage 2025-07-04 09:43:30 +02:00
Benoit Marty
390e5cf20d
Rename classes overriding classes from the FFI layer. (#4817)
* Rename classes overriding classes from the FFI layer.

* For other Konsist test.
2025-06-04 16:13:57 +02:00
Benoit Marty
a230b83e99
Remember flows (#4533)
* Add Konsist test to ensure that the result of a function returning a flow is remembered.

* Remember flows before they are collected by state.

* Fix compilation issue

* Make isOnline a val.

* Make selectedUsers() a val.

* Make flow() a val.

* Make getUserConsent(), didAskUserConsent() and getAnalyticsId() some val.

* Remove Timeline.paginationStatus() and replace by direct access to the underlined flow.

* Simplify test

* userConsentFlow must be initialized before because it's used in observeUserConsent

* Fix test compilation
2025-04-04 16:50:43 +02:00
Benoit Marty
670af86e8b
Replace OutlinedTextField by our TextField (#4521)
* Let TextFieldListItem take the entire width.

* Add unit test to detect usage of OutlinedTextField.

* Use TextField instead of OutlinedTextField

* Remove unnecessary opt in to ExperimentalFoundationApi

* Use TextField instead of OutlinedTextField

* Fix compilation issue.

* Update screenshots

* ListDialog: add space between items.

* Update screenshots

* Set applyPaddingToContents to true by default.

* Update screenshots

---------

Co-authored-by: ElementBot <android@element.io>
2025-04-02 14:04:07 +00:00
Benoit Marty
1fdb590ece
Improve TextFieldDialog (#4512)
* Extract TextFieldDialog to its own file (no other change).

* Add TextFieldDialogPreview

Enhance TextFieldDialog

* Let RoomMembersModerationView use TextFieldDialog

* Update screenshots

* Konsist.

* Add modifier parameter.

---------

Co-authored-by: ElementBot <android@element.io>
2025-04-02 10:05:56 +02:00
Jorge Martin Espinosa
b9e286d9d6
Add 'unencrypted room' badges and labels (#4445)
* Add 'unencrypted room' icon and label to composer

* Modify colors for room details screen info labels

* Add exception to Konsist's preview check

* Update screenshots

---------

Co-authored-by: ElementBot <android@element.io>
2025-03-25 11:26:25 +00:00
Jorge Martin Espinosa
a06619780c
Make verification screens scrollable and emoji labels multiline (#4449)
* Make self verification screens scrollable

* Remove unused fields from `VerificationEmoji`

* Make only the header and content scroll in `HeaderFooterPage`.

* Use the right 'emoji' icon in both flows (`ReactionSolid`)

---------

Co-authored-by: ElementBot <android@element.io>
2025-03-21 12:18:38 +01:00
Benoit Marty
74b7e7f4b6 Fix issues reported by Konsist. 2025-03-18 11:35:11 +01:00
Jorge Martin Espinosa
fd50ce4daf
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
Benoit Marty
37fc68c6ab Add Konsist exception for FocusedEventPreview 2025-03-07 18:48:04 +01:00
Benoit Marty
0f888ae018 Avoid test from failing when the enterprise modules are not present. 2025-02-24 09:32:40 +01:00
Benoit Marty
e7de056d47 Fix Konsist test.
New enterprise module was not correctly detected.
Also ensure that the files are correctly found.
2025-02-20 18:41:11 +01:00
Benoit Marty
822efe8baa Cleanup 2025-01-28 11:33:20 +01:00
Benoit Marty
6c904a403c Add exception for Konsist 2025-01-22 16:24:28 +01:00
Benoit Marty
97f3be3dc5 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
Benoit Marty
c048cd4ec5 Fix quality checks 2025-01-02 08:16:06 +01:00
Benoit Marty
75e8ec6e7c Add inline voice player to the files gallery 2024-12-16 11:03:44 +01:00
Benoit Marty
a84ca7ee8e Fix API break in Sealed interface used in Composable MUST be Immutable or Stable 2024-11-26 11:39:33 +01:00
Benoit Marty
e261f6f36e Fix API break in Fake classes must be named using Fake and the interface it fakes
It seems that the workaround is not necessary anymore.
2024-11-26 11:09:38 +01:00
Benoit Marty
878bd29b67 Ensure Fake classes must be named using Fake and the interface it fakes is detecting error by adding failing cases. 2024-11-26 10:48:01 +01:00
Benoit Marty
c433bab0a8 Ensure Sealed interface used in Composable MUST be Immutable or Stable is detecting error by adding a failing case. 2024-11-26 10:24:03 +01:00
Benoit Marty
81d2e0d750
Merge pull request #3906 from element-hq/feature/bma/minSizeForHiddenMedia
Min size for hidden media
2024-11-21 21:06:19 +01:00
Benoit Marty
aa1948ac44 Fix test and rename class to follow naming convention for PreviewParameterProvider. 2024-11-21 15:18:56 +01:00
Benoit Marty
4a5259f1d9 Fix tests 2024-11-21 09:45:27 +01:00
Benoit Marty
0dbfab99d1 Fix Konsist test failing 2024-11-07 20:40:19 +01:00
Benoit Marty
223eae9602 Send caption with media 2024-11-04 14:24:39 +01:00
Valere
9fb68fc58e
Bump rust-sdk version to rust-sdk 0.2.57 (#3735)
* Bump rust-sdk version to rust-sdk 0.2.57

* rust sdk update: Support persisted WedgeQueueError

* Trust & Decoration | Support new expected UTD causes

* Room Subscribtion settings not needed anymore (see https://github.com/matrix-org/matrix-rust-sdk/pull/4159)

* File/Attachement upload: update to support `storeInCache`

* feat(knock): update API to use reason and serverNames

* Add another `Konsist` exception

* Update screenshots

---------

Co-authored-by: Jorge Martín <jorgem@element.io>
Co-authored-by: ElementBot <android@element.io>
Co-authored-by: Benoit Marty <benoit@matrix.org>
2024-10-24 16:45:16 +02:00
Benoit Marty
95d95d4f89
Merge pull request #3718 from element-hq/feature/bma/verifiedUserBadge
Verified user badge
2024-10-23 14:20:23 +02:00
Benoit Marty
daaaf92a87 Let IconTitleSubtitleMolecule use BigIcon. 2024-10-22 11:53:30 +02:00
Benoit Marty
77b87af52a Move RoomBadge to atomic package and rename to MatrixBadge 2024-10-22 10:18:42 +02:00
Benoit Marty
576658988f Improve test Classes extending 'PreviewParameterProvider' name MUST end with 'Provider' and MUST contain provided class name 2024-10-16 11:17:45 +02:00
Benoit Marty
8c018c4fda Fix konsist test. 2024-10-08 11:13:56 +02:00
Benoit Marty
ac481a59de Konsist: Ensure that Presenter do not depend on other presenters. 2024-10-07 17:45:16 +02:00
Benoit Marty
f2ca3c30d7 Konsist: Ensure that unit tests are detected 2024-10-07 17:45:15 +02:00
Benoit Marty
b889e8681c Rename hideContent to hideMediaContent 2024-10-04 17:02:03 +02:00
Benoit Marty
d2bd1b7cab Fix test 2024-10-04 17:01:54 +02:00
Benoit Marty
154114bfce Konsist: implement another workaround. 2024-09-27 12:14:51 +02:00
Benoit Marty
e0a9fbe063 Konsist: fix compilation issue and implement workaround. 2024-09-27 11:59:32 +02:00
Benoit Marty
2d9b0bbe19 Adapt Konsist test for Fake Rust classes. 2024-09-18 18:50:54 +02:00
Benoit Marty
49fcba1381 Migrate license to AGPL - Update KonsistLicenseTest 2024-09-06 18:02:35 +02:00
Benoit Marty
f61df38e55 Migrate license to AGPL.
Run script `uv run license-editor --repository ../element-x-android`
2024-09-06 17:19:19 +02:00
Benoit Marty
965e445d04 Replace OSS licenses plugin with Licensee and some manually done UI.
This should fix both configuration cache and reproducible F-droid builds.

Cleanup and remove gplay/fdroid diff on open source licenses.

Co-authored by @jmartinesp
2024-09-02 21:11:52 +02:00