Commit Graph

204 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 5b138e7ad7 Small cleanup and comment 2026-05-28 09:54:01 +02:00
Jorge Martín bf1462f9b1 WIP 2026-05-28 09:54:00 +02:00
renovate[bot] e81ab35f5b Update dependency io.nlopez.compose.rules:detekt to v0.5.8 (#6711)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-05-04 08:06:30 +02:00
renovate[bot] 3199a7dd8b Update dependency io.nlopez.compose.rules:detekt to v0.5.7 2026-04-21 20:06:08 +00:00
Jorge Martin Espinosa a341a1a59e Replace rustls-platform-verifier-android.aar with single class (#6610)
* Replace the `rustls-platform-verifier-android.aar` with the actual source code

* Exclude the platform-verifier code from linters

* Add manual update instructions

* Exclude from Kover too
2026-04-17 14:48:50 +02:00
Jorge Martin Espinosa 3a7faa8b76 Fix TransactionTooLargeExceptions caused by Appyx (#6410)
* Fix `TransactionTooLargeExceptions` caused by Appyx

After a long debugging session, we discovered the code Appyx uses to clear the saved state of nodes that have been removed is not working because of a race condition, causing this saved state to grow indefinitely.

To fix it, we need to wait until the node has been disposed, which will call `SaveableStateHolder.removeState` once, removing the associated `SaveableStateRegistry`, and *then* call `removeState` again when we detect the node has been removed from the navigation graph.

Since these classes and APIs are private in Appyx, we had to copy and modify and use these copies.

* Remove ktlint checks on `SafeChildrenTransitionScope.kt`

* Don't count the new code for coverage
2026-03-23 18:07:00 +01:00
Jorge Martin Espinosa 861f268447 Replace knit with generate_toc.py (#6279) 2026-03-10 09:05:20 +01:00
renovate[bot] 5e39e80ab5 Update dependency io.nlopez.compose.rules:detekt to v0.5.6 (#6093)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-27 11:14:46 +01:00
renovate[bot] 0efae7665f fix(deps): update dependency io.nlopez.compose.rules:detekt to v0.5.5 (#6062)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-22 16:31:59 +01:00
renovate[bot] c8500fdd83 fix(deps): update dependency io.nlopez.compose.rules:detekt to v0.5.4 (#6060)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-01-22 12:53:28 +01:00
renovate[bot] f785e53315 fix(deps): update dependency io.nlopez.compose.rules:detekt to v0.5.3 (#5939)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-12-19 13:13:54 +01:00
renovate[bot] 800d06f179 fix(deps): update dependency io.nlopez.compose.rules:detekt to v0.5.2 (#5911)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-12-17 14:39:10 +01:00
renovate[bot] 5e57e2cebb fix(deps): update dependency io.nlopez.compose.rules:detekt to v0.5.1 2025-12-04 14:21:35 +00:00
renovate[bot] 444a61f889 fix(deps): update dependency io.nlopez.compose.rules:detekt to v0.4.28 (#5795)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-11-24 15:12:57 +01:00
Benoit Marty eb31505dc7 Copyright: Add Element Creations Ltd. copyright 2025-11-10 11:05:05 +01:00
Benoit Marty f86431e663 Copyright: Add final period 2025-11-10 10:13:41 +01:00
Benoit Marty cd990f5772 Kotlin way 2025-10-30 14:34:22 +01:00
Benoit Marty d6e11ca07a Let Renovate upgrade KtLint version.
And move detekt version to quality section.
2025-10-30 14:33:27 +01:00
Benoit Marty 2e67c9c757 Use KtLint version 1.7.1 2025-10-30 13:04:26 +01:00
Benoit Marty 11d6e7e289 Fix CI on screeshot recording 2025-10-06 11:00:30 +02:00
Benoit Marty d4e295807f Import Compound tests from project https://github.com/element-hq/compound-android 2025-10-06 10:47:31 +02:00
Benoit Marty 8d5078904a Introduce runAndTestState extension on NotificationTroubleshootTest 2025-09-23 09:46:21 +02:00
Jorge Martín de8de61b2e Remove dagger and anvil dependencies, try to simplify gradle build scripts a bit 2025-09-04 16:49:21 +02:00
renovate[bot] 8902e1116e Update dependency io.nlopez.compose.rules:detekt to v0.4.27 (#5123)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-08-06 14:41:29 +02:00
renovate[bot] 8947757c4c Update dependency io.nlopez.compose.rules:detekt to v0.4.26 (#5065)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-22 12:34:09 +00:00
renovate[bot] 08b1286133 Update dependency io.nlopez.compose.rules:detekt to v0.4.25 (#5058)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-21 12:19:37 +02:00
renovate[bot] a57a5ab65e Update dependency io.nlopez.compose.rules:detekt to v0.4.24 (#5053)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-07-21 08:08:12 +02:00
Benoit Marty 0a2a6361b6 Fix compilation warning for annotations 2025-07-02 12:18:40 +02:00
Jorge Martin Espinosa efdc10e60a Add catchingExceptions method to replace runCatching (#4797)
- Add `runCatchingExceptions` and `mapCatchingExceptions` to replace `runCatching` and `mapCatching`.
- Make `tryOrNull { ... }` catch only exceptions too.
- Apply the changes to the whole project.
- Add new Rust fakes for tests to handle the code that's now unblocked - previously it just threw an `UnsatisfiedLinkError` which we ignored.
- Add a new `detekt-rules` project with a `RunCatchingRule` to prevent `runCatching` and `mapCatching` usages.
2025-06-04 09:02:26 +02:00
Jorge Martin Espinosa fe99ec0e22 runQualityChecks task shouldn't fail fast (#4309)
* `runQualityChecks` task shouldn't fail fast

Make sure we run every task it depends on so we get a list with all the issues instead of having to retry several times.

* Tweak `runQualityChecks` to make sure all Android lint tasks run

* Use the right check in the quality flow

* Fix Norwegian translations that caused a `Typos` error
2025-02-26 18:34:15 +01:00
Benoit Marty 97f3be3dc5 Apply dual licenses: AGPL + Element Commercial to file headers.
2 replace all actions have been performed:
- "SPDX-License-Identifier: AGPL-3.0-only" to "SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial"
- "Please see LICENSE in the repository root for full details." to "Please see LICENSE files in the repository root for full details."
2025-01-07 10:05:04 +01:00
renovate[bot] 093a20981a Update dependency io.nlopez.compose.rules:detekt to v0.4.22 2024-12-10 22:31:02 +00:00
Benoit Marty 1b490488a2 Exclude non-prod code from quality checks. 2024-11-26 10:29:54 +01:00
renovate[bot] 65e394fd29 Update dependency io.nlopez.compose.rules:detekt to v0.4.19 2024-11-20 04:25:44 +00:00
renovate[bot] ad1db3fd7c Update dependency io.nlopez.compose.rules:detekt to v0.4.18 2024-11-13 04:29:56 +00:00
renovate[bot] 5822615c65 Update dependency io.nlopez.compose.rules:detekt to v0.4.17 2024-10-28 12:56:01 +00:00
renovate[bot] 921bc37b3c Update dependency io.nlopez.compose.rules:detekt to v0.4.16 2024-10-14 14:58:55 +00:00
Jorge Martin Espinosa 366db4791b Upgrade Kotlin to v2.0 (#3594)
* Bump Kotlin to v2.0

* Fix lots of issues due to the upgrade: lint issues, function signature incompatibilities, broken tests, etc.

---------

Co-authored-by: Benoit Marty <benoit@matrix.org>
2024-10-10 08:32:00 +00:00
renovate[bot] 98d9abecd9 fix(deps): update dependency io.nlopez.compose.rules:detekt to v0.4.15 (#3595)
* Update dependency io.nlopez.compose.rules:detekt to v0.4.15

* Fix new detekt issues

* Fix KtLint

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Jorge Martín <jorgem@element.io>
2024-10-04 16:58:19 +02:00
Jorge Martin Espinosa 79c17f714f Use Anvil KSP instead of the Square KAPT one (#3564)
* Use Anvil KSP instead of the Square KAPT one

* Fix several configuration cache, lint and test issues

* Allow incremental kotlin compilation in the CI

* Workaround Robolectric + Compose issue that caused `AppNotIdleException`

* Update the `enterprise` commit hash

* Update screenshots

---------

Co-authored-by: ElementBot <android@element.io>
2024-10-02 11:52:17 +00:00
renovate[bot] 85148f7edc Update dependency io.nlopez.compose.rules:detekt to v0.4.12 2024-09-10 10:43:15 +00:00
Benoit Marty 9fcf664166 Migrate license to AGPL 2024-09-06 17:45:03 +02:00
Benoit Marty 965e445d04 Replace OSS licenses plugin with Licensee and some manually done UI.
This should fix both configuration cache and reproducible F-droid builds.

Cleanup and remove gplay/fdroid diff on open source licenses.

Co-authored by @jmartinesp
2024-09-02 21:11:52 +02:00
renovate[bot] c8590f65ab Update dependency io.nlopez.compose.rules:detekt to v0.4.11 2024-08-30 08:29:31 +00:00
renovate[bot] a7afdcb5a0 Update dependency io.nlopez.compose.rules:detekt to v0.4.10 2024-08-07 16:50:30 +00:00
renovate[bot] 63cc59a5c8 Update dependency io.nlopez.compose.rules:detekt to v0.4.9 (#3277)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2024-08-07 08:35:37 +02:00
Guillaume b7c498a0a2 Update sonarcloud project key (#3264) 2024-08-02 16:18:09 +02:00
renovate[bot] 6b8dba6bb2 Update dependency io.nlopez.compose.rules:detekt to v0.4.8 (#3254)
* Update dependency io.nlopez.compose.rules:detekt to v0.4.8

* Fix new lint issues

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Jorge Martín <jorgem@element.io>
2024-07-31 11:08:11 +02:00
Benoit Marty 766ae389ce Add generated screen to show open source licenses.
For Google Play variant only
2024-07-17 15:53:08 +02:00