Commit Graph

14727 Commits

Author SHA1 Message Date
Benoit Marty dd3beb11bd Add unit test on GalleryMediaGalleryDataSource and simplify the code. 2026-06-29 10:28:10 +02:00
Benoit Marty fb7bc50cdb Rename test class. 2026-06-29 10:15:28 +02:00
Benoit Marty 1a5336e650 Add missing test on EventItemFactory 2026-06-29 10:15:00 +02:00
Benoit Marty b2a7c6548a Add missing test on TimelineItemContentMessageFactory 2026-06-29 10:01:21 +02:00
Benoit Marty 95e656cc32 Fix regression on tests. 2026-06-29 09:11:51 +02:00
Benoit Marty b62242cdd2 Fix sharing gallery from pinned event timeline. 2026-06-26 17:36:27 +02:00
Benoit Marty a7e6d8af6e Better fix to render all items in the gallery. Should be able to render mixed items. 2026-06-26 16:24:57 +02:00
ElementBot e282212270 Update screenshots 2026-06-26 14:18:39 +00:00
bxdxnn 87aff40b26 Support gallery messages (#6519)
* Support gallery messages

* Address review

* Remove unused function

* Fix indent

* Add "Gallery" message prefix

* Support galleries for image editing

* Fix tapping on a tile opens the last item

* Fix overflow count

* Add caption editing to gallery messages

* Use the new gallery string for prefix

* Lock sending galleries behind a feature flag

* Fix detekts

* Fix

* Ensure image edition is saved when navigating

* Fix sending media broken on edited gallery.

* Fix tests

* Order imports

* Remove unused parameters.

* Fix copyright header of new files.

* Fix Konsist test

* Extract new previews to a dedicated file.

* Sync strings

* Remove unused import

* Update screenshots

* Trigger CI

* Remove parameters with default value.

* More cleanup

* Restore sendAsFile behavior.

* Improve Preview.

* Improve Preview.

* Improve Preview.

* Fix gallery sending cancel and retry issue

* Ensure any previous job is cancelled.

* Fix issue in summary message

* Gallery feature is disabled by default.

* Kotlin convention

* Remove useless parenthesis

* Update screenshots

* Fix test

* List -> ImmutableList

* Remove useless code.

* Render formatted caption for attachment list.

* Replace set of Booleans by an enum

* Remove unused model for individual caption in a gallery Event.

* Fix tests

* Fix tests

* Rework MediaViewer entry point.

And ensure that the clicked image from the gallery is displayed first.

* Ensure gallery item can be click in the pinned message list
Improve the gallery item click handling code.

* Improve code and fix separator color
Closes #7101

* React on attachment item click
Improve code

* Improve code and support 0 items in gallery.

* Fix click on attachment item not rendering anything.

---------

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-26 16:00:56 +02:00
ganfra 9e7ae34728 Merge pull request #7107 from element-hq/renovate/org.matrix.rustcomponents-sdk-android-26.x
Update dependency org.matrix.rustcomponents:sdk-android to v26.06.25
2026-06-26 14:13:02 +02:00
Jorge Martin Espinosa 5848e0b9eb Disable periodically generating the screenshot gallery (#7110) 2026-06-26 12:48:04 +02:00
ganfra 2689f53342 Merge pull request #7104 from element-hq/renovate/danger-danger-js-13.x
Update danger/danger-js action to v13.0.8
2026-06-26 11:10:03 +02:00
ganfra 340317d667 Merge pull request #7097 from element-hq/renovate/lifecycle
Update lifecycle to v2.11.0
2026-06-26 11:09:33 +02:00
renovate[bot] 17d0c54173 Update actions/checkout action to v7 (#7098)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-06-26 09:32:40 +02:00
renovate[bot] 0f64266ba6 Update dependency com.google.crypto.tink:tink-android to v1.22.0 (#7105)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-06-26 06:45:27 +00:00
Jorge Martín 16d16b92f5 Fix breaking API changes:
- Use `uniffi.ruma_events` types for `MessageLikeEventType` and `StateEventType`.
- Fix tests: using those 2 classes can sometimes call the SDK under the hood, trying to load the native library. We ignore the tests that cause it for now.
2026-06-26 08:16:56 +02:00
renovate[bot] dd55d9c369 Update dependency org.matrix.rustcomponents:sdk-android to v26.06.25 2026-06-26 06:10:10 +00:00
renovate[bot] 4495f58520 Update danger/danger-js action to v13.0.8 2026-06-25 15:07:47 +00:00
renovate[bot] a3736786cd Update dependency com.google.firebase:firebase-bom to v34.15.0 (#7089)
* Update dependency com.google.firebase:firebase-bom to v34.15.0

* Replace deprecated FCM `token` usages with `installationId`

Renamed a few components, changed the behaviour of `FirebaseTokenRotator` so it doesn't save the new token, `FirebaseMessagingService` will do it in its `onRegistered` method

* Enable firebase messaging installation_id

* Make sure we delete the FID when unregistering the app from Firebase

* Add `runFirebaseTask` util to convert `Task<T>` into a `Result<T>` returned from a suspending function

Also, rename the use cases and make them use the `invoke` pattern

---------

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 <benoit@matrix.org>
2026-06-25 09:48:48 +02:00
renovate[bot] 81b0b357e5 Update firebaseAppDistribution to v5.3.0 (#7096)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-06-25 09:41:48 +02:00
renovate[bot] 3d86105e8c Update lifecycle to v2.11.0 2026-06-25 00:51:25 +00:00
Jorge Martín 7a5a0f5955 Bump SDK bindings to v26.06.24 2026-06-24 13:29:28 +02:00
Jorge Martín b38b5a924f Remove Room.clearEventCacheStorage since it's not supported by the SDK anymore 2026-06-24 13:29:28 +02:00
Jorge Martín f62030ac5b Modify rustls' CertificateVerifier, removing the cert revocation logic:
This operation is not done by Android by default and doesn't properly support CRLs (Certificate Revocation Lists) which can be a problem with CAs like Let's Encrypt.
2026-06-24 13:29:28 +02:00
Jorge Martín 3586824a0d Remove UserCertificatesProvider:
`rustls-platform-verifier` automatically checks the user certs too, so there's no need to provide them separately.

This should also improve start times since we don't need to load the user certs when starting the app, which was a really slow operation.
2026-06-24 13:29:28 +02:00
renovate[bot] 8eafab20aa Update dependency org.matrix.rustcomponents:sdk-android to v26.06.18 2026-06-24 13:29:28 +02:00
ganfra bbc4259220 Merge pull request #7088 from element-hq/renovate/actions-setup-java-5.x
Update actions/setup-java action to v5.3.0
2026-06-24 11:55:06 +02:00
renovate[bot] 03fb97ce6e Update actions/setup-java action to v5.3.0 2026-06-23 19:14:52 +00:00
renovate[bot] 24bde2430e Update dependency com.github.matrix-org:matrix-analytics-events to v0.37.0 (#7079)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-06-23 09:03:15 +02:00
renovate[bot] 7c6cf542ce Update dependency io.element.android:element-call-embedded to v0.20.2 (#7075)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-06-23 08:09:58 +02:00
ElementBot 932fdaeb2c Sync Strings (#7071)
* Sync Strings from Localazy

* Sync strings again.
Restore `screen_notification_settings_sound_system_default`

---------

Co-authored-by: bmarty <3940906+bmarty@users.noreply.github.com>
Co-authored-by: Benoit Marty <benoit@matrix.org>
2026-06-22 15:37:33 +02:00
renovate[bot] c77f349484 Update rnkdsh/action-upload-diawi action to v1.5.13 (#7067)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-06-22 10:41:48 +02:00
Benoit Marty 1d33c1faed Merge pull request #6992 from element-hq/feature/bma/protectLinkNewDevice
Protect link new device
2026-06-22 10:40:17 +02:00
renovate[bot] f2d1e60ff8 Update roborazzi to v1.64.0 (#7068)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-06-22 09:36:25 +02:00
renovate[bot] 0cb04c714a Update gradle/actions action to v6.2.0 (#7063)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-06-22 08:25:40 +02:00
bxdxnn 790b9cff63 Hide message notification content when the app is locked (#6902)
* Hide message notification content by default when the app is locked

* Make this the default without an option

* Fix test

* Update DefaultNotificationDrawerManager.kt

* Fix
2026-06-19 15:34:38 +02:00
Benoit Marty d4aa49f3d3 Fix small code smell (#7058)
* RolesAndPermissionsNode does not need to implement RolesAndPermissionsNavigator and simplify the code.

* Remove default implementation in `RoomMemberListNavigator`

* Remove dead code.

* Fix test compilation issue
2026-06-19 15:33:01 +02:00
Jorge Martin Espinosa e370b33771 Fix Sonar with AGP 9 (some workarounds) (#7055)
Since it'll try to resolve their output, first they need to complete.
2026-06-19 13:12:54 +02:00
renovate[bot] c82d1011d7 Update metro to v1.2.1 (#7057)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-06-19 09:26:16 +02:00
ganfra ea8e0bd1cb Changelog for version 26.06.4 2026-06-18 21:08:47 +02:00
ganfra 1cff301c09 Merge tag '26.06.4' into develop 2026-06-18 21:07:53 +02:00
ganfra 410bb311c6 Merge branch 'release/26.06.4' 2026-06-18 20:35:00 +02:00
ganfra 0db91ee9d9 Adding fastlane file for version 26.06.4 2026-06-18 20:34:59 +02:00
ganfra bb5f3bef46 Setting version for the release 26.06.4 2026-06-18 20:34:56 +02:00
Benoit Marty 5ac7d2acb0 Merge pull request #7054 from element-hq/feature/bma/divider
Let Divider use our theme color.
2026-06-18 16:40:35 +02:00
Benoit Marty 34d17f4903 Merge pull request #7041 from element-hq/feature/bma/compileWithSdk37
Compile with sdk37 and target API 37
2026-06-18 16:15:47 +02:00
Jorge Martin Espinosa 9dc3dec72e Replace ContentResolver.delete usage with a backwards-compatible version (#7053)
The previous signature needed API 30, the new one is available since API 1
2026-06-18 15:48:21 +02:00
Benoit Marty f8ef971017 Robolectric test needs to extend RobolectricTest. 2026-06-18 15:37:22 +02:00
ElementBot d3f0a7e198 Update screenshots 2026-06-18 13:30:14 +00:00
Benoit Marty 790a56a256 Robolectric test needs to extend RobolectricTest. 2026-06-18 14:40:30 +02:00