Commit Graph

15942 Commits

Author SHA1 Message Date
renovate[bot] 08eabd3ed5 Update metro to v1.4.3 2026-09-15 09:36:56 +00:00
Benoit Marty a4286a932a Merge pull request #7712 from element-hq/renovate/roborazzi
Update roborazzi to v1.74.0
2026-09-15 11:33:56 +02:00
Benoit Marty bcf136025a Merge pull request #7703 from element-hq/bma/accountProviderIteration
Iteration on Acount provider
2026-09-15 09:58:16 +02:00
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
Benoit Marty fd315318a0 Update ref to main branch. 2026-09-15 09:15:38 +02:00
Benoit Marty c92bf4bc43 Sealed interface must be immutable when uses in Composable function parameters. 2026-09-15 09:11:40 +02:00
renovate[bot] dc466f1f5c Update roborazzi to v1.74.0 2026-09-15 05:09:14 +00:00
Benoit Marty 5b0d7bf5a7 Log errors and fix quality issues 2026-09-14 18:30:29 +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
Benoit Marty f97dac2d5b Update ref
Point to the enterprise submodule rebased on main, which brings the X.509
feature, and resolves the MdmData conflict between the new UseX509 entry and
the split of AccountProvider into AccountProviderServerName,
AccountProviderManagedBaseUrl and AccountProviderManagedCanUseServerName.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-14 18:09:52 +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
Benoit Marty 84b6224e4d Update ref 2026-09-14 17:18:18 +02:00
Benoit Marty f9a493ef0c Add Kdoc on data class AccountProvider 2026-09-14 16:55:25 +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
ElementBot aa69321898 Update screenshots 2026-09-14 12:36:16 +00:00
Benoit Marty bf70bb3e50 Update ref 2026-09-14 11:30:23 +02:00
Benoit Marty 6887092ce4 Replace String by AccountProvider to be able to get baseUrl and serverName. 2026-09-14 09:56:16 +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