Commit Graph

14462 Commits

Author SHA1 Message Date
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
bxdxnn bdedf41f99 Fix FLAG_SECURE splash screen having a pink top bar (#6903) 2026-05-28 16:52:59 +02:00
ganfra 30087ae8aa Merge pull request #6846 from element-hq/fix/downgrade-detekt
Downgrade detekt compose rules
2026-05-28 12:09:15 +02:00
Jorge Martin Espinosa f871252573 Revert "Disable cron jobs and private SSH key jobs in forks" (#6905)
This reverts commit ab4b11b9f0.
2026-05-28 09:56:07 +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 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
Benoit Marty 5b138e7ad7 Small cleanup and comment 2026-05-28 09:54:01 +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 ab4b11b9f0 Disable cron jobs and private SSH key jobs in forks (#6821)
* Try disabling cron jobs in forks

* Try fixing quality checks

* Try fixing tests and enterprise builds

* Stop using the ssh private key in more quality checks

* Try disabling codecov if there is no token
2026-05-27 17:26:14 +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
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
Benoit Marty bd56606e30 Merge pull request #6886 from element-hq/feature/bma/customMapStyle
Read map tiler custom style from matrix .well-known file
2026-05-27 12:49:19 +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
renovate[bot] 2205487571 Merge pull request #6893 from element-hq/renovate/roborazzi
Update roborazzi to v1.63.0
2026-05-27 11:38:49 +02:00
Benoit Marty f36916e5e7 Fix test compilation 2026-05-27 11:03:45 +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
renovate[bot] ecfeb52424 Update dependency androidx.compose:compose-bom to v2026.05.01 (#6888)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-05-27 09:22:28 +02:00
renovate[bot] 8fd5072ba5 Update dependency org.maplibre.compose:maplibre-compose to v0.13.0 2026-05-27 00:46:10 +00:00
ganfra 26ebfa4afd Merge pull request #6858 from element-hq/renovate/roborazzi
Update roborazzi to v1.62.0
2026-05-26 20:26:47 +02:00
Jorge Martin Espinosa d7af6c0d0a Use a raw key for the SDK stores for new sessions (#6835)
* Use a raw key for the SDK stores for new sessions

- Add `ClientSecret` to tell apart the legacy passphrases from the raw keys and centralise parsing/formatting.
- Use the `ClientSecret` to set the passphrase/key in the `SqliteStoreBuilder`.
2026-05-26 19:28:23 +02:00
Jorge Martin Espinosa dd48582313 Remove DI-generated code from Kover reports (#6834)
* Remove DI-generated code from Kover reports

* Add more regexes for DI-generated code to exclude
2026-05-26 19:27:35 +02:00
ElementBot f6bdf51f6d Update screenshots 2026-05-26 14:33:42 +00:00
Benoit Marty 09e14e037a Merge pull request #6876 from element-hq/renovate/io.element.android-element-call-embedded-0.x
Update dependency io.element.android:element-call-embedded to v0.20.0
2026-05-26 16:27:55 +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
renovate[bot] b34473a88c Update roborazzi to v1.62.0 2026-05-26 10:21:44 +00:00
renovate[bot] 5aea885240 Update dependency io.element.android:element-call-embedded to v0.20.0 2026-05-26 10:21:34 +00:00
Jorge Martin Espinosa 87b3a5d2f0 Add better logs to track token update failures (#6859)
1. Make some logs use `info` log level instead of `debug`, so they appear in most user's bug reports.
2. Make the anonymized tokens even harder to reverse.
3. Detect when the tokens we should be saving match the current ones, as that's an error.
2026-05-26 12:19:26 +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
Jorge Martin Espinosa 7b93bfbba9 Use runBlocking for the token refresh logic (#6863)
* Use `runBlocking` for the token refresh logic

The `RustClientSessionDelegate` callbacks always run in a separate thread, so they don't block the main thread.

This ensures the token refresh is fully done (data saved/failed to) before the SDK continues sending the pending previously failed requests
2026-05-26 09:40:07 +02:00
Benoit Marty 6cef5cec1b Remove useless line. 2026-05-26 09:22:43 +02:00
renovate[bot] f447560665 Update codecov/codecov-action action to v6.0.1 (#6864)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-05-26 07:59:33 +02:00
ElementBot 1f6824d285 Update screenshots 2026-05-25 19:34:34 +00:00
Benoit Marty 8a4ff4c456 Improve touch detection. 2026-05-25 21:16:12 +02:00