Commit Graph

6060 Commits

Author SHA1 Message Date
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 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
Benoit Marty ff8e477b4f Merge pull request #6984 from bxdxnn/fix/draft-threads
Fix message drafts not being saved in Threads
2026-06-10 14:44:12 +02:00
ganfra cf63453ff8 Fix tests (after rebasing develop) 2026-06-09 17:25:30 +02:00
Benoit Marty 703f2b22ed Improve static map preview / screenshots. 2026-06-09 13:00:30 +02:00
bxdxnn 3bc7da0e01 Apply suggestion from @bmarty
Co-authored-by: Benoit Marty <benoit.marty@gmail.com>
2026-06-09 13:29:58 +03:00
ganfra 6b9aa31c19 change(location): ensure permissions are always requested at least once 2026-06-08 22:10:04 +02:00
bxdxnn 8b4158c824 Address review 2026-06-08 18:17:45 +00:00
Jorge Martin Espinosa bea2903093 Click on avatar in moderation bottom sheet opens avatar preview (#6991)
* Make the avatar in the room member moderation bottom sheet open the avatar in the media viewer (#6962)

* Make the avatar in the room member moderation bottom sheet open the avatar in the media viewer.

* Fix issue with avatar overlay not dismissing the bottom sheet: the bottom sheet would eat all the touch events until the first click, which would somehow cancel this behaviour

* Fix lint issues

* Update screenshots

---------

Co-authored-by: bxdxnn <267911624+bxdxnn@users.noreply.github.com>
Co-authored-by: ElementBot <android@element.io>
2026-06-08 16:32:13 +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
bxdxnn 6219378ad3 Fix "Sent" checkmark disappearing when the message is read and "Share presence" is disabled (#6985)
* Don't compute read receipts if presence sharing is disabled

* Update screenshots

---------

Co-authored-by: ElementBot <android@element.io>
Co-authored-by: Jorge Martín <jorgem@element.io>
2026-06-08 13:21:34 +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
bxdxnn a10aa6cbe3 Support thread root in drafts 2026-06-06 18:26:46 +00:00
ganfra 53bbef0554 Merge pull request #6955 from element-hq/feature/fga/remove_location_dot_when_sharing
Change: hide UserLocationPuck when sharing from current device
2026-06-05 17:30:00 +02:00
Benoit Marty 43ab1e5050 Fix some string mappings for link new device errors (#6958)
* Fix some string mappings for link new device errors (#6675)

* Fix some string mappings for link new device errors

* Update snapshots

* Add appName

* Iterate

---------

Co-authored-by: Jorge Martin Espinosa <jorgem@element.io>
Co-authored-by: Benoit Marty <benoitm@element.io>

* Update screenshots

---------

Co-authored-by: Hugh Nimmo-Smith <hughns@users.noreply.github.com>
Co-authored-by: Jorge Martin Espinosa <jorgem@element.io>
Co-authored-by: ElementBot <android@element.io>
2026-06-05 11:17:44 +02:00
Benoit Marty 4749ec3112 Replace "Edit" button with Crop icon. 2026-06-04 16:13:30 +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
Hugh Nimmo-Smith 1717cc7370 Fix some string mappings for link new device errors (#6675)
* Fix some string mappings for link new device errors

* Update snapshots

* Add appName

* Iterate

---------

Co-authored-by: Jorge Martin Espinosa <jorgem@element.io>
Co-authored-by: Benoit Marty <benoitm@element.io>
2026-06-04 09:34:55 +02:00
ganfra f800bb5586 change : Hide UserLocaitonPuck when currentlySharing from this device (and follow the marker instead of the puck) 2026-06-03 21:54:29 +02:00
ganfra 930aa4f1db change: ensure UserLocationState is computed from the Presenters instead of Views 2026-06-03 21:52:54 +02: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 Martín 63ba6d2b18 Try fixing flaky screenshots for location timeline items
Replace the `rememberAsyncImagePainter` call when in preview mode with fake values
2026-06-03 16:36:52 +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 a9ecf3c5dc Add flip actions to image edition 2026-06-03 11:03:56 +02:00
ganfra a9fe0a3560 Fix LiveLocationReceiver interface and update tests 2026-06-02 13:14:03 +02:00
ganfra 1a40e460ae Handle unrecoverable location errors and stop sharing 2026-06-02 12:23:14 +02:00
ganfra 1713555a67 Introduce PlatformLocationProvider to replace the maplibre one. 2026-06-02 10:29:23 +02:00
Benoit Marty a095190902 Merge pull request #6924 from element-hq/feature/bma/fixImageEdition
Fix image resizing behavior.
2026-06-01 22:40:01 +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
ganfra 024e5b7734 Merge branch 'develop' into feature/user_location_state 2026-06-01 21:34:20 +02:00
Benoit Marty 7a05fc118a Fix test 2026-06-01 18:15:02 +02:00
Benoit Marty ee4e4ee701 Add Figma link 2026-06-01 17:48:21 +02:00
Benoit Marty 6c804e734d Add missing "Security" section. 2026-06-01 17:46:25 +02:00
Benoit Marty d7788a8c01 Remember presenter only on userId.
Avoid creating again the presenter when other parameter of the room member are changing.
2026-06-01 17:41:29 +02:00
Benoit Marty ac93c6bd70 Move logic to the presenter 2026-06-01 17:38:24 +02:00
Benoit Marty 6222416b17 Romo details: reorder items
Fixes #6824
2026-06-01 17:34:36 +02:00
Benoit Marty b68c78526f Use secondary color (default) for leading icons.
Fixes #6910
2026-06-01 15:49:53 +02:00
Benoit Marty f52fc9c1c2 Fix image resizing behavior. 2026-06-01 14:41:26 +02:00
ElementBot 81ed41d580 Sync Strings (#6921)
Co-authored-by: bmarty <3940906+bmarty@users.noreply.github.com>
2026-06-01 09:52:14 +02:00
ganfra d6892dd090 change: replace the maplibre-compose UserLocationState to a simpler one 2026-05-29 18:21:18 +02:00
bxdxnn 8c29a7b55c Merge pull request #6889 from bxdxnn/fix/read-receipt-calls
Fix read receipts not shown for calls
2026-05-29 17:46:35 +02:00
Benoit Marty 488ef54cbc Add leading icon #. 2026-05-29 15:39:16 +02:00
Benoit Marty 1564736366 Report problem: add an optional TextField to provide a GitHub issue number. 2026-05-29 15:35:49 +02:00
Benoit Marty a8e1274786 Rename parameter onSoundPicked to onSoundPick. 2026-05-29 15:01:45 +02:00
bxdxnn e0cda170a9 Do not hide own media (#6898) 2026-05-29 09:18:12 +02:00
ganfra b796436be6 Merge pull request #6891 from element-hq/renovate/org.maplibre.compose-maplibre-compose-0.x
Update dependency org.maplibre.compose:maplibre-compose to v0.13.0
2026-05-28 18:58:13 +02:00
ganfra c5f9b55433 Keep accuracy from position (no default) 2026-05-28 18:20:22 +02:00
ganfra 510588b93e Use simple custom LocationTrackingEffect waiting for a fix from maplibre 2026-05-28 18:19:48 +02: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 2798244975 Remove unused import 2026-05-28 09:54:03 +02:00