Commit Graph

54 Commits

Author SHA1 Message Date
Benoit Marty 73b3282939 Stop rewriting screenshots that did not meaningfully change
Recording rewrote every screenshot unconditionally, so renderer noise far below
the verification tolerance produced large "Update screenshots" commits.

Use `app.cash.paparazzi.overwriteOnMaxPercentDifference` to keep screenshots that
are within tolerance. Existing screenshots are no longer deleted before recording;
obsolete ones are pruned afterwards, only when their preview produced no
screenshot at all.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-01 15:46:28 +02:00
Benoit Marty a42d91a050 Merge pull request #7697 from bxdxnn/misc/keystore
Allow changing keystore path
2026-09-25 16:45:46 +02:00
Jorge Martin Espinosa c4529b87b4 Remove Roborazzi, use Paparazzi for Compound (#7735)
* Remove Roborazzi, use Paparazzi for Compound

The new screenshots will be recorded with the rest of the Paparazzi ones. Note the names changed, since Paparazzi enforces a `$packagename.$testname.$name.$extension` format

* Set a max width value for color previews

* Merge the `verifyPaparazziDebug` CI steps

* Update screenshots

---------

Co-authored-by: ElementBot <android@element.io>
2026-09-21 12:27:56 +02:00
bxdxnn 9f3905e830 Apply suggestion from @bmarty
Co-authored-by: Benoit Marty <benoit.marty@gmail.com>
2026-09-15 16:49:29 +03:00
bxdxnn 7191313ce5 Allow changing keystore path 2026-09-12 18:10:53 +00:00
Jorge Martin Espinosa 0cd163a680 Import Compound tokens from v10.2.3 (#7272)
* Import Compound tokens from `v10.2.3`

* Remove manually added `bgSubtleTertiary` semantic color: it's in Compound now

* Bump enterprise module to a compatible commit
2026-07-28 09:07:24 +00:00
Nick Hainke 8d9ad76531 Bump the default Gradle daemon heap to match what CI already uses (#7152)
A local release build runs R8 over the full app and reliably runs out of
heap at the checked-in 4g default. CI has used 8g for release builds all
along via GRADLE_OPTS, so bring the local default in line with that.

Same reasoning as 6e55f2d7 (#1087), which bumped 2048m to 4g.
2026-07-06 09:36:08 +02:00
renovate[bot] 539aa35eeb fix(deps): update android.gradle.plugin to v8.13.1 (#5260)
* fix(deps): update android.gradle.plugin to v8.13.1

* Remove warning about AGP 8.12.x+

* Fix proguard-related code deprecations, use the new `optimization` API

* Workaround issues related to Android lint not being able to check these complex methods with kotlin contracts

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Jorge Martín <jorgem@element.io>
2025-11-26 11:57:22 +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 d4e295807f Import Compound tests from project https://github.com/element-hq/compound-android 2025-10-06 10:47:31 +02:00
Benoit Marty 2294fd2b87 Comment out the lint version override.
We should override only when we have an issue with the lint version defined in AGP.
2025-09-09 18:13:20 +02:00
Benoit Marty e88743bd6a Rename anvil modules to annotations and codegen 2025-09-05 14:26:27 +02:00
renovate[bot] f0ba59d84e Update android.gradle.plugin to v8.12.2 (#5244)
* Update android.gradle.plugin to v8.12.2

* Upgrade lint version

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Benoit Marty <benoit@matrix.org>
2025-09-01 15:23:33 +02:00
Jorge Martin Espinosa 8245ad8bc3 Handle preference stores corruption by clearing them (#5086)
* Handle preference stores corruption by clearing them:
    - Use the centralised `PreferenceDataStoreFactory` instead of `preferences by`.
    - Add `DefaultPreferencesCorruptionHandlerFactory.replaceWithEmpty` to its `create(name)` method so all preference stores are cleared if they're corrupted.

* Add detekt rule to make sure we use `PreferenceDataStoreFactory` instead of `by preferencesDataStore`

* Remove `@SingleIn` annotations as the annotated class no longer have to be singletons
2025-08-22 06:59:06 +00:00
renovate[bot] 64072f063e Update android.gradle.plugin to v8.12.1 (#5184)
* Update android.gradle.plugin to v8.12.1

* Upgrade lint version to 8.12.1 (version 8.13.+ or 9.+ break the lint job)

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Jorge Martín <jorgem@element.io>
2025-08-19 08:22:53 +02:00
ganfra 4aab53aaf6 Merge pull request #5106 from element-hq/renovate/android.gradle.plugin
Update android.gradle.plugin to v8.12.0
2025-08-08 14:17:45 +02:00
ganfra 40c8f3f280 deps (lint) : use latest stable lint 2025-08-08 13:46:47 +02:00
Jorge Martin Espinosa 1a335698c0 Force last owner of a room to pass ownership when leaving (#5094)
* Move `ChangeRoles*` classes to their own module so they can be shared

* Hook the change roles screen to the leave room action, add confirmation dialogs

* Use enum instead of sealed interface for `ChangeRoomMemberRolesListType`

* Try to improve communications between nodes

* refactor (leave room) : makes sure to expose only necessary code from api module

* Add `:libraries:previewutils` module to share some test fixtures used for UI previews

* Update screenshots

---------

Co-authored-by: ElementBot <android@element.io>
Co-authored-by: ganfra <francoisg@matrix.org>
2025-08-05 17:24:14 +02:00
Benoit Marty ffa3719758 Upgrade lint version to 8.12.0-alpha07 2025-07-02 12:32:08 +02:00
ganfra 6840dd4be7 deps (lint) : update lint version to align with android gradle plugin 2025-07-01 18:44:53 +02:00
renovate[bot] 5fb0fc0d50 fix(deps): update android.gradle.plugin to v8.10.0 (#4687)
* fix(deps): update android.gradle.plugin to v8.10.0

* Update lint version to 8.11.0-alpha09

* Fix lint false positive.

Error: Modifier factory functions must use the receiver Modifier instance [ModifierFactoryUnreferencedReceiver from androidx.compose.ui]

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Benoit Marty <benoit@matrix.org>
2025-05-07 11:07:20 +02:00
Benoit Marty ee261704e1 Upgrade lint to the latest version. 2025-03-12 14:41:09 +01:00
Benoit Marty 2d822e481d Update android.experimental.lint.version to the latest available version. 2025-01-10 16:44:37 +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] 1c4ac316c9 Update android.gradle.plugin to v8.7.0 (#3577)
* Update android.gradle.plugin to v8.7.0

* Bump Android lint version to `8.8.0-alpha04`

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Jorge Martín <jorgem@element.io>
2024-10-02 13:53:25 +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
Joe Groocock 88189647f7 Remove redundant dependency-analysis autoapply option
Fixes the warning:

    > Configure project :
    dependency.analysis.autoapply is set to false, but this is now the
    only behavior, and the flag has no effect. You should remove it from
    your build scripts.

Signed-off-by: Joe Groocock <me@frebib.net>
2024-09-09 22:05:10 +00:00
Benoit Marty 566bbb9d90 Migrate license to AGPL. 2024-09-06 17:30:05 +02:00
renovate[bot] 738295a933 Update android.gradle.plugin to v8.5.2 (#3004)
* Update android.gradle.plugin

* Fix release builds with AGP 8.5 by removing the minification config in each library module. I believe this is now centralised.

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Jorge Martín <jorgem@element.io>
2024-08-09 15:04:10 +02:00
Benoit Marty 5bda29ca7e Rework FakeMatrixRoom so that it contains only lambdas. (#3229)
* Upgrade lint to 8.7.0-alpha01

* FakeMatrixRoom: lambda everywhere

Fix test compilation issues
2024-07-22 10:39:48 +02:00
Jorge Martin Espinosa 58c05ade65 Try fixing OOM by changing GC and adding RAM to the kotlin compiler (#2965)
* Try fixing OOM by changing GC and adding RAM to the kotlin compiler

* Add gradle cache to build apk job in maestro flow.

- Remove unnecessary dependency in `:features:call` module.

* Fix sonar in nightly reports

* Bump heap size of nightly reports
2024-06-03 11:28:51 +02:00
Jorge Martin Espinosa f03818f413 Restore legacy shrinking configuration for AGP 8.4.x (#2867)
* Restore legacy shrinking configuration for AGP `8.4.x`

The current one is causing issues with release builds and no changes in proguard rules seem to fix them.

Co-authored-by: Benoit Marty <benoit@matrix.org>

---------

Co-authored-by: Benoit Marty <benoit@matrix.org>
2024-05-17 11:08:34 +02:00
renovate[bot] 87bd3eecba Update android.gradle.plugin to v8.4.0 (#2777)
* Update android.gradle.plugin to v8.4.0

* Update `android.experimental.lint.version` to `8.5.0-alpha07`

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Jorge Martín <jorgem@element.io>
2024-05-15 11:07:36 +02:00
renovate[bot] 8a6020c5a6 Update android.gradle.plugin to v8.3.1 (#2471)
* Update android.gradle.plugin to v8.3.1

* Fix AGP update

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Jorge Martín <jorgem@element.io>
2024-03-21 09:47:17 +01:00
Jorge Martín 0309223a32 Only apply dependencyanalysis plugin to some modules 2023-12-28 17:06:05 +01:00
Benoit Marty ac940fb5a0 Upgrade lint to 8.3.0-alpha12 2023-11-10 15:52:53 +01:00
Benoit Marty 5de8841d96 Upgrade lint to version 8.3.0-alpha11 and suppress false positive. 2023-11-06 16:03:16 +01:00
Jorge Martin Espinosa 1f5a135072 Use Parallel GC and bump RAM usage (#1734)
* Use Parallel GC and bump RAM usage

* Build only `app` project in `Build APKs (debug)` flow.

* Remove redundant JNA dependency
2023-11-03 10:34:49 +01:00
Marco Romano aa29efcd76 Remove suppressUnsupportedCompileSdk
We're now an AGP 8.1.0 so should be safe to remove as per the comment.
2023-09-15 09:20:51 +02:00
Marco Romano 6e55f2d777 org.gradle.jvmargs=-Xmx4g (#1087)
I have to do it locally every time i checkout a branch. Perhaps it's best if we push this to origin.
2023-08-18 10:29:25 +02:00
Jorge Martin Espinosa 0324719606 Upgrade compose-material3 to 1.2.0-alpha05 version (#1011)
Co-authored-by: ElementBot <benoitm+elementbot@element.io>

Also upgrade compileSdk to 34.
2023-08-17 14:20:54 +02:00
ganfra 37b65697c8 Disable kotlin incremental compilation for now, waiting for better 2023-06-08 15:11:44 +02:00
Benoit Marty 845d51486f Upgrade version of lint from 8.0.0 to 8.2.0-alpha02 (latest).
Fix warning:
WARNING: The build will use lint version 8.0.0 which is older than the default.
Recommendation: Remove or update the gradle property android.experimental.lint.version to be at least 8.0.1
2023-05-09 10:59:21 +02:00
Jorge Martin Espinosa de010545fb Update Gradle to 8.1 and AGP to v8.0 (#329)
* Update AGP to 8.0.0.

* Set JAVA_HOME to JDK17

* Update lint version.

* Use right JDK for dependency analysis, replace deprecated env var.

* Upgrade to Gradle 8.1.

* Remove `@Supress(DSL_SCOPE_VIOLATION)` as it's no longer needed.

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-04-17 08:49:52 +00:00
Jorge Martin Espinosa 610e4aa8b6 Revert "Update Gradle and AGP to v8.0 (#283)" (#295)
This reverts commit cda0606a0d.
2023-04-04 14:44:01 +00:00
Jorge Martin Espinosa cda0606a0d Update Gradle and AGP to v8.0 (#283)
* Update dependency gradle to v8

* Handle upgrading Gradle to v8.0.2

* Update AGP to 8.0.0-RC01

* Try to set JAVA_HOME to JDK17

* Update lint version.

* Use right JDK for dependency analysis, replace deprecated env var

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2023-04-03 18:02:34 +02:00
Benoit Marty feac348c89 Enable testFixtures - but not supported by AGP yet, so put files in module matrixtest 2023-02-07 10:36:29 +01:00
ganfra 90b0a60a5c Gradle config: add some config to make it faster. 2023-01-24 17:39:15 +01:00
Benoit Marty 9f99f7da67 Use more recent lint version to fix lint false positive. 2023-01-18 16:37:00 +01:00