Commit Graph

6039 Commits

Author SHA1 Message Date
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 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
Benoit Marty 5ebeddfe2e Revert change 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
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
Jorge Martín e115d620ca Fix API breaks and an issue with the location changing not moving the camera 2026-05-27 13:19:41 +02:00
ganfra f37222e2d8 change(permissions) : allow to change ShareLiveLocation permission 2026-05-27 10:55:07 +02:00
Benoit Marty c846f4eee2 customMapStyleUrl should end with style.json and should not have any trailing slash. 2026-05-27 09:59:32 +02:00
Benoit Marty 6984ab0393 Use string template instead of multiple append invocations. 2026-05-27 09:54:27 +02:00
Benoit Marty 4a90768893 Read map tiler custom style from matrix .well-known file
Closes #6844
2026-05-26 16:14:09 +02:00
Jorge Martin Espinosa 1e67c2f77b Move empty day separator filtering to a timeline post-processor (#6866)
* Move empty day separator filtering to a timeline post-processor

* Split `FilterPublicMembershipChangesPostProcessor` from `RoomBeginningPostProcessor`
2026-05-26 08:28:32 +00:00
Jorge Martin Espinosa 0e2213a199 Fix public read receipts being sent by mistake (#6838)
When returning to the chat screen from the room details one or a member's profile, `TimelineEvent.OnScrollFinished` will be called immediately, and this would read the default value for `isSendPublicReadReceiptsEnabled`, which is `true`.

If you had public read receipts disabled, this is a mistake, and would send a public read receipt. Instead, what we want to do is wait until the updated value is emitted and use it to decide whether we want to send a public or private read receipt.
2026-05-26 10:10:42 +02:00
Benoit Marty 1f3d848c79 Image edition before sending: crop and rotate. (#6842)
* Add crop and rotate editing before sending images (#6363)

* feat(messages): add crop and rotate before image upload

* Update screenshots

* chore: trigger CI after screenshot update

* fix: resolve detekt violations in image editor and media viewer modules

* fix: require explicit edits param, use plurals for rotation a11y, remove redundant @Inject

* fix: require explicit edits param, use plurals for rotation a11y, remove redundant @Inject

* fix: use semantically correct RotateRight icon for image rotation action

* Update screenshots

* chore: trigger CI after screenshot update

---------

Co-authored-by: ElementBot <android@element.io>
Co-authored-by: Benoit Marty <benoitm@element.io>

* Update design and UX

Update and add tests
Improve preview

* Update screenshots

* For quality issue and improve preview

* Update screenshots

* Remove default value of data class.

* Rename file.

* Fix tests.

* Allow detecting touch events outside the image by applying the drag detection to the parent node and offsetting the touch events

* Improve touch detection.

* Update screenshots

* Remove useless line.

---------

Co-authored-by: Gianluca Iavicoli <gianluca.iavicoli04@gmail.com>
Co-authored-by: ElementBot <android@element.io>
Co-authored-by: Jorge Martín <jorgem@element.io>
2026-05-26 10:07:05 +02:00
ElementBot 0aaa80cbdc Sync Strings from Localazy (#6856)
Co-authored-by: bmarty <3940906+bmarty@users.noreply.github.com>
2026-05-26 08:05:07 +00:00
Benoit Marty 6cef5cec1b Remove useless line. 2026-05-26 09:22:43 +02:00
Benoit Marty 8a4ff4c456 Improve touch detection. 2026-05-25 21:16:12 +02:00
bxdxnn b31dad4b26 Do not show membership/profile events in public rooms (#6360)
* Filter some membership/profile/topic events in public rooms: don't display join and leave membership events in publicly joinable rooms, and hide display name and avatar url changes in non encrypted and publicly joinable rooms.

* Add empty day post-processing to the timeline based on bxdxnn's code, tweaked.

---------

Co-authored-by: Jorge Martín <jorgem@element.io>
2026-05-25 10:31:53 +02:00
Jorge Martín 6e74446209 Allow detecting touch events outside the image by applying the drag detection to the parent node and offsetting the touch events 2026-05-22 16:57:00 +02:00
Benoit Marty afa2a824b5 Fix tests. 2026-05-22 15:28:48 +02:00
Benoit Marty 94c3bb9c41 Rename file. 2026-05-22 13:59:21 +02:00
Benoit Marty fe6a17e977 Remove default value of data class. 2026-05-22 13:56:50 +02:00