Commit Graph

5427 Commits

Author SHA1 Message Date
Benoit Marty d33852d32f Room selection: add a limitation of 10 rooms for Share and Forward actions. 2026-06-12 09:22:29 +02:00
Benoit Marty c0c2f59822 Use test extension on presenter. 2026-06-11 16:50:53 +02:00
Benoit Marty 9739f58901 RoomSelectEvents -> RoomSelectEvent 2026-06-11 16:49:57 +02:00
Benoit Marty 66c7c35785 Ensure event is sent only once per room. 2026-06-11 16:47:25 +02:00
Benoit Marty bda24a1175 Forward message to multiple rooms 2026-06-11 16:36:52 +02:00
renovate[bot] f0a6cba6db fix(deps): update android.gradle.plugin to v9 (major) (#6021)
* Update android.gradle.plugin to v9

* Separate extensions between app and library ones

`CommonExtension` has been split and its properties are now duplicated in `ApplicationExtension` and `LibraryExtension` without a shared interface, so we now need to duplicate the helper extension functions

* Bump Gradle wrapper to `9.3.1`

* Remove `kotlin-android` plugin usage: it's no longer needed

* Enable `resValues` build feature for the modules that have resources in custom variants like gplay, debug, etc.

Otherwise this now fails saying the resources are there but the feature is disabled

* Remove `retrofit` dependency from `:features:call:impl`

It wasn't in use and the build was failing

* Update kotlin to v2.4.0

* Update plugin paparazzi to v2.0.0-alpha05

* Update gradle wrapper to 9.5.1

./gradlew wrapper --gradle-version 9.5.1 --gradle-distribution-sha256-sum bafc141b619ad6350fd975fc903156dd5c151998cc8b058e8c1044ab5f7b031f

* Update com.android.tools.build:gradle to 9.2.1

* Update plugin sonarqube to v7.3.1.8318

* Kotlin 2.4.0

* Context parameters are enabled by default in Kotlin 2.4.0

* Fix code issue

* Fix record screenshot issue

* Workaround for https://github.com/cashapp/paparazzi/issues/2342

* Workaround for another issue with Paparazzi

* Remove unused import

* Update screenshots

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Jorge Martín <jorgem@element.io>
Co-authored-by: Benoit Marty <benoitm@element.io>
Co-authored-by: Benoit Marty <benoit@matrix.org>
Co-authored-by: ElementBot <android@element.io>
2026-06-11 09:51:47 +02:00
Benoit Marty 552f2efd81 Remove unused import 2026-06-11 09:41:22 +02:00
Benoit Marty 99b7c758f2 Merge pull request #6954 from element-hq/fix/try-fixing-flaky-location-timeline-item-screenshots
Try fixing flaky screenshots for location timeline items
2026-06-10 14:44:39 +02:00
Jorge Martín 568a72ee73 Merge remote-tracking branch 'origin/main' into develop 2026-06-10 13:11:12 +02:00
Jorge Martín 337528bce3 Fix DefaultOAuthUrlParserTest 2026-06-10 13:10:59 +02:00
Jorge Martín 7c95dbfe0c Merge remote-tracking branch 'origin/main' into develop 2026-06-10 12:30:39 +02:00
Benoit Marty 33f64ca5a1 Merge commit from fork
* Log error on unsupported OAuth URL.

* Bump version to 26.06.2
2026-06-10 12:22:13 +02:00
Benoit Marty 703f2b22ed Improve static map preview / screenshots. 2026-06-09 13:00:30 +02:00
Benoit Marty 52bd2b23c9 Ensure that the application rotate the QrCode if one day the SDK emits the .Expired error. (#6993) 2026-06-09 12:02:34 +02:00
Jorge Martin Espinosa 786c53ac06 Make BaseRoom.getDirectRoomMember change when roomInfo.isDm changes (#6989)
With `derivedStateOf` this wasn't working as expected for some reason, resulting in the dm member being null and displaying the wrong `RoomType` in the room details screen
2026-06-08 15:50:56 +02:00
Benoit Marty b1b468d6a6 Ensure that the application rotate the QrCode if one day the SDK emits the .Expired error. 2026-06-08 15:29:35 +02:00
ElementBot 5a4c0b5d58 Sync Strings from Localazy (#6986)
Co-authored-by: bmarty <3940906+bmarty@users.noreply.github.com>
2026-06-08 14:33:40 +02:00
Benoit Marty c06e7ed276 Merge pull request #6953 from element-hq/feature/bma/cropIcon
Replace "Edit" button with Crop icon.
2026-06-08 10:15:11 +02:00
Benoit Marty 0bcf8e3a6b Merge pull request #6865 from bxdxnn/feat/myroomnick
Add `/myroomnick` slash command to change your display name in the current room
2026-06-05 14:24:50 +02:00
Benoit Marty d54f10046d Ensure the video preview can be played several times.
Closes #6956
2026-06-04 16:55:31 +02:00
ElementBot 9eed7de799 Update screenshots 2026-06-04 14:33:07 +00:00
S1m 25264dd3e3 Fallback to the default push gateway on error (#5742)
* Add more HTTP response code returning NoMatrixGateway

Fix Push notifications with Mozilla's autopush that returns 406

* Update gateway resolver tests to match new known errors

* Use default gateway on error if no gateway is recorded yet

* Update gateway resolver tests to return default gateway on error
2026-06-04 16:19:52 +02:00
Benoit Marty 1592ab9686 Sync compound tokens https://github.com/element-hq/compound-design-tokens/releases/tag/v10.2.2 2026-06-04 16:13:31 +02:00
Jorge Martin Espinosa a91e1fa2ae Make Vulkan a *not required* feature (#6961)
* Make Vulkan a *not required* feature

* Add `DeviceHasVulkanSupport` helper to check this on runtime

* When trying to open a screen with a map in it, check if vulkan is supported and display a new error dialog in that case

* Fix random lint issue

* Update screenshots

---------

Co-authored-by: ElementBot <android@element.io>
2026-06-04 13:08:19 +00:00
bxdxnn 27cdc0fe7d Add unread count to the room unread indicator (#6887)
* Add unread indicator count

* Address review
2026-06-03 17:08:35 +02:00
Jorge Martin Espinosa 2ab780576a Remove the FloatingDateBadge feature flag (#6950)
* Remove the `FloatingDateBadge` feature. This is now always enabled.

* Update screenshots

---------

Co-authored-by: ElementBot <android@element.io>
2026-06-03 16:34:06 +02:00
Benoit Marty 1a73ab0094 Import compound token from release 10.2.1 https://github.com/element-hq/compound-design-tokens/releases/tag/v10.2.1 (#6942)
* Sync compound tokens https://github.com/element-hq/compound-design-tokens/releases/tag/v10.2.1

* Update screenshots

---------

Co-authored-by: ElementBot <android@element.io>
2026-06-03 09:58:00 +02:00
Benoit Marty 41b4a56681 Merge pull request #6938 from element-hq/feature/bma/mediaDetailsUpdate
[Media bottom sheet] UI iteration
2026-06-02 16:20:05 +02:00
Benoit Marty 1aef3860c2 [Media bottom sheet] Improve design, and hide Share and Download when rendered from the MediaViewer.
Closes #6907
2026-06-02 15:22:04 +02:00
Benoit Marty 1c058037be Update the way we display file format and size. 2026-06-02 12:50:51 +02:00
Benoit Marty 0a1ef5d121 [Media viewer] Increase topAppBarHeight so that text and PDF files are not rendered below the top app bar. 2026-06-02 10:48:11 +02:00
Benoit Marty 97135272ec [Media viewer] Improve rendering of files
Closes #6899
Closes #6908
2026-06-02 10:22:34 +02:00
Benoit Marty f08179bcab Merge pull request #6929 from element-hq/feature/bma/reorderRoomDetailItems
Reorder room detail items
2026-06-01 22:39:41 +02:00
Benoit Marty 6222416b17 Romo details: reorder items
Fixes #6824
2026-06-01 17:34:36 +02:00
Jorge Martin Espinosa 1df94a563c Use reverse ordering for FilterEmptyDayPostProcessor (#6927)
It turns out the previous ordering was right: timestamp ordering is ascending, not descending
2026-06-01 15:25:33 +00:00
Benoit Marty b68c78526f Use secondary color (default) for leading icons.
Fixes #6910
2026-06-01 15:49:53 +02:00
Jorge Martin Espinosa 80de3e4c5d Create log messages from WebView just once (#6923)
We were creating the same message twice by mistake.

Also, check the retrieved message for passwords before formatting the log line instead of after: this way we don't create a new formatted log line to just discard it
2026-06-01 15:11:04 +02:00
bxdxnn 4b99e5914e Address review 2026-06-01 11:22:11 +03:00
ElementBot 81ed41d580 Sync Strings (#6921)
Co-authored-by: bmarty <3940906+bmarty@users.noreply.github.com>
2026-06-01 09:52:14 +02:00
bxdxnn 4c1a167e2b Add HS capability check 2026-05-29 18:18:43 +00:00
Benoit Marty c88edc9621 Notification settings: pick custom sounds for messages and call ringtones (#6897)
* Notification settings: pick custom sounds for messages and call ringtones (#6702)

* Feature: add notification sound settings for messages and calls

* Add sound not available banner, accessibility checks

* Fix build and Konsist convention violations

- libraries:preferences:api now uses io.element.android-compose-library
  so NotificationSound's @Immutable annotation can resolve, matching the
  pattern in libraries:matrix:api.
- Rename SoundUnavailableBannerStateProvider to
  NotificationSoundUnavailableStateProvider so the class name contains
  the parameter type as required by KonsistClassNameTest.

* Suppress LargeClass on RoomListPresenterTest

The three new sound-unavailable tests pushed the class past Detekt's
default LargeClass threshold. Matches the suppression pattern already
used on five presenter test classes under features/messages/impl/test.

* NotificationSettingsView: guard ringtone-picker launchers in inspection mode

rememberLauncherForActivityResult requires a LocalActivityResultRegistryOwner,
which Paparazzi-driven preview snapshot tests don't provide, causing
NotificationSettingsViewPreview to throw IllegalStateException for every
preview parameter. Extract the click handlers into a helper that returns a
no-op when LocalInspectionMode.current is true; the runtime path is unchanged.

* Handle unresolved notification sounds mid session

* Quality checks, refactor mid session error ui

* Suppress detekt LargeClass on NotificationSettingsPresenterTest

* Remove notification sound resilience layer, replace with file copy

* Reselect element sound option, code cleanup

* Add element fade notification sound option

* Fix new file headers

* Revert to flowOf(Unit) for announcement service

* Add ringtone picker dialog to match message selector

* Update strings in conjunction with ios

* Update test to reflect new string

* Sync strings.

* Update screenshots

* Fix test

* Remove not properly located translations.
This will be fixed in the next String sync.

* Fix test on CI

---------

Co-authored-by: Jenna Vassar <jenna.vassar@toptal.com>
Co-authored-by: ElementBot <android@element.io>
2026-05-28 16:54:12 +02:00
Benoit Marty 7003bf5702 Fix broken preview 2026-05-28 09:54:02 +02:00
Benoit Marty c409fc2c83 Fix other issues detekted. 2026-05-28 09:54:02 +02:00
Jorge Martín 97de57fd79 More fixes 2026-05-28 09:54:01 +02:00
Jorge Martín bf1462f9b1 WIP 2026-05-28 09:54:00 +02:00
Jorge Martin Espinosa 1e00353f29 Avoid SQLCipher key derivation (#6774)
* Avoid SQLCipher key derivation by manually providing the generated as a raw key: this needs a series of DB re-key operations, performed as part of a 'dummy' DB migration

* Set key generation length to 32 bytes in `RandomSecretPassphraseProvider`.

* Use `ClientSecret` for handling the keys for SQLCipher. Move `ClientSecret` to `:libraries:androidutils` so it's shared.
2026-05-27 17:25:51 +02:00
ganfra 4cafdae22d Merge pull request #6890 from element-hq/feature/beacon_events_permissions
change(permissions) : allow to change ShareLiveLocation permission
2026-05-27 14:46:33 +02:00
Benoit Marty c94d36d05d Merge branch 'develop' into feature/bma/customMapStyle 2026-05-27 12:16:52 +02:00
renovate[bot] 2e42e78307 Update dependency org.matrix.rustcomponents:sdk-android to v26.05.26 (#6885)
* Update dependency org.matrix.rustcomponents:sdk-android to v26.05.26

* Fix API break

* Fix test compilation

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Benoit Marty <benoit@matrix.org>
2026-05-27 12:16:17 +02:00
Benoit Marty f36916e5e7 Fix test compilation 2026-05-27 11:03:45 +02:00