Commit graph

3761 commits

Author SHA1 Message Date
ganfra
bfe1aa7edf change (composer suggestions) : remove feature flag 2025-03-26 21:46:23 +01:00
Jorge Martin Espinosa
ba626fc173
Use embedded version of Element Call (#4470)
* Use embedded version of Element Call: for in-app room calls, the app will use an embedded version of Element Call shipped with the app instead of using an external service.

* Remove `ElementCallBaseUrlProvider` so we don't use the Element well known file to get the base URL anymore

* Remove `ElementCallConfig.DEFAULT_BASE_URL` since it's not used anymore

* Restore the usage of the custom EC base URL in developer settings as the actual base URL, it present

* Add a way to customise the embedded EC analytic credentials

* Update CI to use the EC analytic credentials as secrets

* Improve the custom URL placeholder to include the `/room` suffix
2025-03-26 09:35:21 +01:00
Benoit Marty
68c1d30743
Check link click (#4463)
* Warn when opening a suspicious link.

Upgrade RTE to 2.38.3

* Update screenshots

* Add tests on LinkPresenter and LinkView.

* Format file

---------

Co-authored-by: ElementBot <android@element.io>
2025-03-25 18:17:20 +01: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
ElementBot
8f0075e367
Sync Strings (#4461)
* Sync Strings from Localazy

* Fix UI tests

---------

Co-authored-by: bmarty <3940906+bmarty@users.noreply.github.com>
Co-authored-by: Jorge Martín <jorgem@element.io>
2025-03-24 16:45:24 +00:00
renovate[bot]
3597774dd2
fix(deps): update dependency org.matrix.rustcomponents:sdk-android to v25.3.24 (#4394)
* fix(deps): update dependency org.matrix.rustcomponents:sdk-android to v25.3.24

* Fix SDK changes related to:
    - OIDC authentication.
    - Element Call widget URL generation.
    - Forced trace logging in the SDK.

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Jorge Martín <jorgem@element.io>
2025-03-24 17:07:44 +01:00
Benoit Marty
2fd1c21df0
Let element enterprise be able to configure id for mapTiler. (#4446)
* Let element enterprise configure the ids for maptiler service.

* Disable location sharing and location viewer is the service is not available.

* Fix compilation issue on connected test

* Do not allow to reload the map if the mapId is not available.

* Update screenshots

* Rename file.

* Better to inject a string provider here, so we can unit test DefaultLocationService.

---------

Co-authored-by: ElementBot <android@element.io>
2025-03-21 17:06:52 +01:00
ganfra
d215b5cfa1
Merge pull request #4452 from element-hq/feature/fga/update_rust_sdk_25.03.20
deps(rust sdk) : update to 25.03.20 and fix api change
2025-03-21 13:09:15 +01:00
ganfra
17d5d1e15a deps(rust sdk) : update to 25.03.20 and fix api change 2025-03-21 12:43:28 +01: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
dd3a6af3cf
Clear SDK cache properly (#4396)
* Use close() instead of destroy, because close() is synchronized.

* Use new method to clear the SDK cache.

* Format file.

* Remove the legacy way to clear the SDK cache.

* Remove unused import

* revert name change
2025-03-20 13:33:59 +00:00
ganfra
811ba95ffc
Merge pull request #4399 from element-hq/feat/add-timeline-prefetching-mechanism
Add timeline item prefetching
2025-03-20 11:11:57 +01:00
Jorge Martin Espinosa
fccd881b1f
Update SDK version to 25.03.13 and fix breaking changes (#4406)
Breaking changes addressed:
* Make `MatrixClient.getNotificationSettings()` async, cache its result.
* Use `RoomInfo` for accessing the updated room's info.
* Refactor `MatrixRoom` so it always receives an initial `MatrixRoomInfo` value: this value will be used to make `MatrixRoom.roomInfoFlow` a `StateFlow` so we can assume the initial updated Room data will be present.
* Fetch encryption state when loading a room if it's unknown
2025-03-19 12:52:57 +01:00
Benoit Marty
c956c66921
Merge pull request #4414 from element-hq/feature/bma/openTxtDocument
Open txt document inside the application
2025-03-18 14:18:29 +01:00
Benoit Marty
6609001040 i18n 2025-03-18 11:43:13 +01:00
Benoit Marty
74b7e7f4b6 Fix issues reported by Konsist. 2025-03-18 11:35:11 +01:00
Benoit Marty
cfdc595c84 Add preview for Text media. 2025-03-18 11:24:13 +01:00
Jorge Martín
e1506d9e97 Fix tests and lint issues 2025-03-17 18:22:03 +01:00
Benoit Marty
a6b8e5ca10
Merge pull request #4413 from element-hq/feature/bma/fixOpenMedia
Ensure that a click on a media open the correct media.
2025-03-17 10:06:56 +01:00
Jorge Martin Espinosa
715d75c5c4
Add Google Tink dependency, replacing androidx.security.crypto (#4405)
* Add Google Tink dependency, replacing `androidx.security.crypto`

* Replace the `EncryptedFile` implementation too

* Extract constants, add some more docs
2025-03-17 10:04:21 +01:00
ElementBot
17193ad35a
Sync Strings from Localazy (#4421)
Co-authored-by: bmarty <3940906+bmarty@users.noreply.github.com>
2025-03-17 09:54:03 +01:00
Benoit Marty
bdb7eeec74 Fix test compilation error. 2025-03-17 09:29:45 +01:00
renovate[bot]
cd5c6c611e
fix(deps): update dependency net.java.dev.jna:jna to v5.17.0 2025-03-16 13:29:43 +00:00
Benoit Marty
592120370c Ensure that a click on a media open the correct media. 2025-03-14 17:23:38 +01:00
Benoit Marty
3eb92a7849 Render txt files content.
PdfViewer increase the top padding.
2025-03-14 16:51:57 +01:00
Benoit Marty
4a2a675e69
Merge pull request #4402 from element-hq/misc/enable-logcat-in-all-builds
Add feature flag to let the application prints logs to logcat in release builds.
2025-03-14 11:33:57 +01:00
Jorge Martín
f01078bc8a Use a feature flag to decide whether logs should be printed to logcat or not
This is done so it can be temporarily enabled on release builds for quick debugging sessions, then disabled again.
2025-03-13 16:11:53 +01:00
Benoit Marty
5d881e8b05
Merge branch 'develop' into feature/bma/customPushGateway 2025-03-13 11:39:47 +01:00
Jorge Martin Espinosa
c3817945d9
Fix warnings in tests for push provider modules (#4398) 2025-03-12 17:36:31 +01:00
Benoit Marty
5cab146eed Give ability to configure the UnifiedPush default push gateway. 2025-03-12 17:10:33 +01:00
Benoit Marty
cf60f943a8 Give ability to configure the Firebase push gateway. 2025-03-12 16:50:46 +01:00
Benoit Marty
3ca624648b
Merge pull request #4397 from element-hq/feature/bma/fixNoMoreMediaToShow
…Ensure the snackbar "No more media to show" is not rendered when opening the media viewer.
2025-03-12 12:27:49 +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
9fd600383c Ensure the snackbar "No more media to show" is not render after the app is loading the first item. Closes #4345 2025-03-12 12:09:51 +01:00
Benoit Marty
44b837a6bd
Merge pull request #4378 from element-hq/feature/bma/customSuperButton
Be able to correctly render the UI with other colors.
2025-03-11 09:26:54 +01:00
Jorge Martin Espinosa
f73c0e42a4
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
Benoit Marty
96683850ba Change LocalIsEnterpriseBuild to LocalBuildMeta 2025-03-10 11:08:50 +01:00
Benoit Marty
15de3377d5 Sync strings (fix typo) 2025-03-10 09:30:13 +01:00
bmarty
9a75f40855 Sync Strings from Localazy 2025-03-10 00:28:38 +00:00
Benoit Marty
0a62d40d1d Fix gradient on GradientFloatingActionButton 2025-03-07 18:20:32 +01:00
Benoit Marty
61a6e8dcf4 GradientFloatingActionButton use textActionAccent for enterprise build. 2025-03-07 18:20:31 +01:00
Benoit Marty
f7df69e6b3 Let SuperButton use textActionAccent for enterprise build. 2025-03-07 18:20:31 +01:00
Benoit Marty
c865cf40d6 Provide isEnterpriseBuild value to the Composable. 2025-03-07 18:20:29 +01:00
Benoit Marty
f645a1b221 Fix issue in Modifier 2025-03-07 15:55:02 +01:00
Benoit Marty
6459e3cabd Rename ic_notification_small to ic_notification 2025-03-07 14:21:09 +01:00
Benoit Marty
9af7737302 Add IconColorButton (CloseButton)
Figma: https://www.figma.com/design/G1xy0HDZKJf5TCRFmKb5d5/Compound-Android-Components?node-id=1956-37586
2025-03-07 13:14:51 +01:00
Benoit Marty
b9b328d41d Remove unused ic_encryption_enabled drawable. 2025-03-07 12:19:36 +01:00
ganfra
67af88d1f1 change(read receipt): track read receipts for focused timeline 2025-03-07 09:57:29 +01:00
Benoit Marty
d591ff4c14 Enable the Event cache by default.
Note that it will not enable it if the user has explicitly disabled it.
2025-03-06 10:38:05 +01:00
Benoit Marty
7d8ab98b6a
Merge pull request #4370 from element-hq/feature/fga/update_rust_sdk_25.03.05
deps(rust sdk) : update to 25.03.05
2025-03-05 22:20:36 +01:00