Commit Graph

3760 Commits

Author SHA1 Message Date
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
Benoit Marty a1762ba178 Fix test compilation 2025-03-05 21:54:10 +01:00