Commit Graph

3760 Commits

Author SHA1 Message Date
Jorge Martin Espinosa
e2febabcf6 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
9ab6144001 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
bb97015e59 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
2f8b40777d 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]
721becf45d 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
f0a6a0037c 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
8ec57d162b 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
29bc9ee68f deps(rust sdk) : update to 25.03.20 and fix api change 2025-03-21 12:43:28 +01:00
Jorge Martin Espinosa
d27a61a588 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
93d27735e4 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
f85abe27fc 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
1659572950 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
94eb54abcf 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
2b7b2e1358 i18n 2025-03-18 11:43:13 +01:00
Benoit Marty
af866e3407 Fix issues reported by Konsist. 2025-03-18 11:35:11 +01:00
Benoit Marty
ba59fe27ba Add preview for Text media. 2025-03-18 11:24:13 +01:00
Jorge Martín
f95a959ed1 Fix tests and lint issues 2025-03-17 18:22:03 +01:00
Benoit Marty
70c8524e20 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
e2afa9a691 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
6dbb371ca2 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
5825160d29 Fix test compilation error. 2025-03-17 09:29:45 +01:00
renovate[bot]
a97d3d4ac3 fix(deps): update dependency net.java.dev.jna:jna to v5.17.0 2025-03-16 13:29:43 +00:00
Benoit Marty
207fcc829c Ensure that a click on a media open the correct media. 2025-03-14 17:23:38 +01:00
Benoit Marty
b6bbb0bc7a Render txt files content.
PdfViewer increase the top padding.
2025-03-14 16:51:57 +01:00
Benoit Marty
6d6be64311 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
cb5dcf9b79 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
2dfa1ab64d Merge branch 'develop' into feature/bma/customPushGateway 2025-03-13 11:39:47 +01:00
Jorge Martin Espinosa
e3dcb683b8 Fix warnings in tests for push provider modules (#4398) 2025-03-12 17:36:31 +01:00
Benoit Marty
b30e1095c9 Give ability to configure the UnifiedPush default push gateway. 2025-03-12 17:10:33 +01:00
Benoit Marty
cd48d051a8 Give ability to configure the Firebase push gateway. 2025-03-12 16:50:46 +01:00
Benoit Marty
a930e9ae6b 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
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
Benoit Marty
6958cc480b 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
a31af8dcd6 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
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
Benoit Marty
ea5fde99a5 Change LocalIsEnterpriseBuild to LocalBuildMeta 2025-03-10 11:08:50 +01:00
Benoit Marty
05e328b916 Sync strings (fix typo) 2025-03-10 09:30:13 +01:00
bmarty
9456ee921d Sync Strings from Localazy 2025-03-10 00:28:38 +00:00
Benoit Marty
5c6c211bd0 Fix gradient on GradientFloatingActionButton 2025-03-07 18:20:32 +01:00
Benoit Marty
5dcc13236b GradientFloatingActionButton use textActionAccent for enterprise build. 2025-03-07 18:20:31 +01:00
Benoit Marty
846201df78 Let SuperButton use textActionAccent for enterprise build. 2025-03-07 18:20:31 +01:00
Benoit Marty
00507fa309 Provide isEnterpriseBuild value to the Composable. 2025-03-07 18:20:29 +01:00
Benoit Marty
d3a6b107af Fix issue in Modifier 2025-03-07 15:55:02 +01:00
Benoit Marty
7258b05a3c Rename ic_notification_small to ic_notification 2025-03-07 14:21:09 +01:00
Benoit Marty
8d14ac67e9 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
99b3e6b547 Remove unused ic_encryption_enabled drawable. 2025-03-07 12:19:36 +01:00
ganfra
ef185cb5ee change(read receipt): track read receipts for focused timeline 2025-03-07 09:57:29 +01:00
Benoit Marty
3522a4fdbf 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
5c0c87ddeb 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
Benoit Marty
93f0598479 Fix test compilation 2025-03-05 21:54:10 +01:00