* Forward message to multiple rooms
* Ensure event is sent only once per room.
* `RoomSelectEvents` -> `RoomSelectEvent`
* Use test extension on presenter.
* Room selection: add a limitation of 10 rooms for Share and Forward actions.
* Update screenshots
* Fix padding issue
* Update screenshots
* `RadioButton` -> `Checkbox`
* Update screenshots
---------
Co-authored-by: ElementBot <android@element.io>
* Fix ANRs when calculating DB sizes for Sentry
Instead of using the SDK's `Client.getStoreSizes()` method, manually check the sizes using the file system.
For this, the `SessionPaths` need to be synchronously accessible from a `MatrixClient`. I removed `SessionPathsProvider` too since it's not needed anymore.
When a `MediaSource` is disposed, the local temp file associated to it will be deleted from disk.
When we try sharing a media from the media viewer screen to another room, this will dismiss the screen, which in turn will dispose of the media source and remove the file, which then fails to be shared.
If we copy it first and then make sure we delete it after trying to send it, it works fine.
The new entry point had no test, leaving its createNode body (and the api
Inputs data class) uncovered and failing codecov/patch. Mirror the existing
Default*EntryPointTest convention to exercise the builder.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
The merged element-enterprise#261 well-known schema advertises the feature
under custom_recovery_passphrase (no _settings/_requirements suffix), so the
parser previously looking for custom_recovery_passphrase_settings would never
activate the flow. Update the @SerialName and drop the narrow "Requirements"
suffix from the type — the block is now general, extensible feature settings —
to mirror the .pkl CustomRecoveryPassphrase class. Bumps the enterprise
submodule to the matching consumer change.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Adopt the design feedback from element-meta#3228: drop the time-to-crack
hint strings and reduce the strength labels to Very weak / Weak / Moderate /
Strong / Very strong. Bumps the enterprise submodule to the matching
indicator change.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Updating matrix-rust-components-kotlin from git on every build is
time-consuming, and requires network connectivity. It's useful to be able to
skip it, particularly when working offline.
Add an option to the build script to skip this step.
* 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>