Commit Graph

15929 Commits

Author SHA1 Message Date
Benoit Marty 98c19de6e3 Merge pull request #7707 from element-hq/bma/gitFlowToGit
Replace git flow with regular git commands in the release script V2
2026-09-15 09:20:34 +02:00
ganfra ba80abcbf0 Merge pull request #7671 from element-hq/renovate/org.sonarqube-7.x
Update plugin sonarqube to v7.5.0.8588
2026-09-14 18:16:06 +02:00
Jorge Martin Espinosa 7aa43411e0 Reduce parallel JVMs spawned for tests (#7701)
* Set `maxParallelForks = 1` for most tests, except for screenshot ones

It turns out the Robolectric setup penalty compounds the more parallel JVMs you spawn. Using 1 JVM vs 8 was up to 2.5x faster in local tests.

* Split the roborazzi tests tasks config and CI step
2026-09-14 18:14:46 +02:00
renovate[bot] 600a989854 Update kotlinpoet to v2.4.0 (#7709)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-09-14 16:09:23 +00:00
ganfra 99237f0146 Merge branch 'develop' into renovate/org.sonarqube-7.x 2026-09-14 17:30:21 +02:00
Jorge Martin Espinosa 3d198d8065 Fix flaky test in TimelinePresenterTest (#7702)
The problem seemed to be sometimes the background work to switch from live timeline to a focused event timeline wasn't finished in time and an assertion failed from time to time.

By providing the coroutine to run this on we can pass a `TestScope` and force it to reliably run immediately instead in unit tests.
2026-09-14 15:19:14 +02:00
Jorge Martin Espinosa 8cd3750cde Make global search use a Joined filter for room results (#7695)
Before this, global search returned also invites, which wasn't planned.
2026-09-11 17:36:38 +02:00
Benoit Marty 5b09fdf13f Replace git flow with regular git commands in the release script V2
The script was relying on the external git-flow tool and on a local
`git config gitflow.*` initialisation, which made its behaviour depend on
the machine setup and hid what was actually done to the branches.

The release branch is now created with `git checkout -b`, and the release
is finished with explicit merge, tag, back-merge and branch deletion
commands. The merge and tag messages are provided explicitly so that the
generated history stays identical to the previous releases. Each step now
aborts the script with a clear message when it fails, instead of letting
the script continue.

Note that tools/release/release.sh (V1) still uses git flow.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-11 16:57:01 +02:00
renovate[bot] d2c49bf4af Update coil to v3.6.2 (#7693)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-09-11 13:53:11 +02:00
Benoit Marty 58b0f2ebc3 Merge pull request #7591 from element-hq/bma/iterateOnClientCreation
Iterate on client creation
2026-09-11 13:22:42 +02:00
Benoit Marty cbfef6a321 Update ref 2026-09-11 12:35:45 +02:00
renovate[bot] a5b95a18b2 Update dependency io.sentry:sentry-android to v8.55.0 (#7685)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-09-11 10:19:03 +02:00
ganfra 26578c79a9 Changelog for version 26.09.2 2026-09-10 22:24:50 +02:00
ganfra 518919c28b Merge tag 'v26.09.2' into develop
Release 26.09.2
2026-09-10 21:54:38 +02:00
ganfra 477c813997 Merge branch 'release/26.09.2' 2026-09-10 21:52:00 +02:00
ganfra 3e08454ff8 Adding fastlane file for version 26.09.2 2026-09-10 21:51:59 +02:00
ganfra 24a257bd38 Setting version for the release 26.09.2 2026-09-10 21:51:49 +02:00
ganfra 8101abf67d Merge pull request #7683 from element-hq/renovate/org.matrix.rustcomponents-sdk-android-26.x
Update dependency org.matrix.rustcomponents:sdk-android to v26.09.9
2026-09-10 11:48:42 +02:00
renovate[bot] 45ad16d17d Update dependency org.matrix.rustcomponents:sdk-android to v26.09.9 2026-09-10 05:10:32 +00:00
Jorge Martín c623105da6 Make the google-repo-only dependencies on renovate match those in gradle 2026-09-09 18:40:16 +02:00
Jorge Martín 5f499ce4b3 Ensure official Android dependencies are checked only against Google's Android repo 2026-09-09 18:40:16 +02:00
Jorge Martín 0b7d089791 Make Renovate only look for Element dependencies in maven central 2026-09-09 18:40:16 +02:00
Jorge Martín 10776a7e6b Make sure Android dependencies are fetched from Google's repo in Gradle sync 2026-09-09 18:40:16 +02:00
Jorge Martín 666081e2f2 Adjust concurrent requests for renovate 2026-09-09 18:40:16 +02:00
Benoit Marty 069fb2a03d Merge pull request #7678 from element-hq/feature/bma/removeShowkase
Remove Showkase and its in-app component browser
2026-09-09 16:59:30 +02:00
Benoit Marty 1ee156f480 Remove Showkase from the project. 2026-09-09 15:56:25 +02:00
Benoit Marty 8e1a34cff8 Merge pull request #7649 from element-hq/feature/bma/replaceDangerByGhAction
Replace Danger with actions/github-script
2026-09-09 11:30:13 +02:00
renovate[bot] 476e863734 Update plugin sonarqube to v7.5.0.8588 2026-09-09 07:53:31 +00:00
Jorge Martin Espinosa 3106fec05f Try improving renovate issues with Maven Central rate limiting (#7667)
* Try improving renovate issues with Maven Central rate limiting

Try not to make too many concurrent requests to Maven Central

The logs display rate limit responses followed by OK responses, which could mean we're hammering the Maven Central repo with too many concurrent requests

* Try not hitting Maven Central for `androidx` packages
2026-09-09 09:49:24 +02:00
Benoit Marty 3cde1523b4 Fix quality and tests. 2026-09-08 17:47:53 +02:00
ganfra 875ff9825b Merge pull request #7663 from element-hq/feature/fga/maplibre-compose-update
Update maplibre compose to 0.15
2026-09-08 17:15:32 +02:00
Benoit Marty a817b6f219 Rename methods and update documentation. 2026-09-08 17:06:53 +02:00
Benoit Marty 59e72fc3ee Stop deleting the session data of a logged in account on the next login
sessionPaths keeps pointing at the directories of the account which has
just been logged in, and it was never reset. Adding another account
calls setHomeserver(), whose rotateSessionPath() starts by deleting the
directories of the previous sessionPaths, so the file and cache
directories of the first account were wiped.

finalizeClientCreation() now forgets the session paths once the login
succeeded. It is done there rather than in clear() on purpose: after a
failed attempt the directories are orphaned and must still be deleted by
the rotateSessionPath() of the next attempt.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-08 16:47:58 +02:00
Benoit Marty 579ec9bd6a Close the client used to log in before creating the client of the session
Since the login flows stopped handing their client over to
RustMatrixClientFactory and let finalizeClientCreation() build a fresh
one from the SessionData, two problems appeared.

The client built by loginWithQrCode() was never owned by anyone: it is
not assigned to currentClient, so clear() had nothing to close and the
Rust Client stayed open for the whole app lifetime, holding the session
stores of the freshly logged in account. It is now tracked in
currentClient, and also disposed of when the QR login fails, which is
safe because that flow always builds its own client.

The client of the session was also built while the login client was
still open. Both use the same session paths, so their state and crypto
SQLite stores, and the search index when message search is enabled, were
opened twice at the same time with no cross process lock to protect
them. clear() now runs before the final client is created.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-08 16:47:58 +02:00
Benoit Marty 1f18a18917 Iterate on hooks implementation 2026-09-08 16:47:57 +02:00
Benoit Marty 5ce531fd44 Ensure we create a fresh Client when the sessionId is know after authentication. 2026-09-08 16:46:46 +02:00
renovate[bot] 3df1906d2a Update dependency org.matrix.rustcomponents:sdk-android to v26.09.08 (#7668)
* Update dependency org.matrix.rustcomponents:sdk-android to v26.09.08

* Fix API breaks:

- There's no `SyncServiceBuilder.withProfilesExtension()` method anymore. This is now enabled unconditionally in the SDK.
- Timeline filters no longer use the `org.matrix.rustcomponents.sdk.TimelineEventFilter` FFI wrapper, but the `uniffi.matrix_sdk_ui.TimelineEventFilter` type directly. This also changes the underlying types used for inclusion/exclusion.

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Jorge Martín <jorgem@element.io>
2026-09-08 16:22:14 +02:00
Jorge Martin Espinosa 039c0df9ed Fix remote config getting refreshed with Origin.Cache (#7666) 2026-09-08 13:50:01 +02:00
ganfra 4201ece647 Update gplay release manifest dump after location changes 2026-09-08 12:46:38 +02:00
ganfra 2c9c24921a Merge pull request #7664 from element-hq/renovate/coil
Update coil to v3.6.1
2026-09-08 11:43:13 +02:00
ganfra 9a4beb4278 Fix stability on UserLocationState 2026-09-08 10:15:03 +02:00
renovate[bot] 55d0503da8 Update coil to v3.6.1 2026-09-08 05:26:36 +00:00
ganfra 6c01ad1364 Fix formating 2026-09-07 19:04:13 +02:00
ganfra be666176a7 Merge pull request #7658 from element-hq/renovate/zizmorcore-zizmor-action-0.x
Update zizmorcore/zizmor-action action to v0.6.3
2026-09-07 19:03:36 +02:00
ganfra 7773ead79b Prevent location bottomsheet from being hidden 2026-09-07 18:56:25 +02:00
ganfra f72e1ad2cc Support Google Play Services fused location backend 2026-09-07 18:11:38 +02:00
ganfra 3754258d88 Adapt location feature to updated maplibre-compose API 2026-09-07 15:25:39 +02:00
ganfra 7045465ffe Allow BSD-2 clause 2026-09-07 15:25:39 +02:00
ganfra 7507475afd Use vulkan runtime 2026-09-07 15:25:39 +02:00
ganfra 57d1948784 Bump maplibre compose and remove unnecessary dependencies 2026-09-07 15:25:39 +02:00