Commit Graph

15155 Commits

Author SHA1 Message Date
Benoit Marty 4dffd7ddef Move deviceId, gitBranch and gitSha to the developer screens. 2026-08-06 14:46:28 +02:00
ganfra 98c686dd5b Merge pull request #7324 from element-hq/renovate/org.matrix.rustcomponents-sdk-android-26.x
Update dependency org.matrix.rustcomponents:sdk-android to v26.08.05
2026-08-05 16:14:35 +02:00
renovate[bot] b327b435ab Update dependency org.matrix.rustcomponents:sdk-android to v26.08.05 2026-08-05 13:55:15 +00:00
ganfra 08f205eab0 Merge pull request #7322 from element-hq/renovate/io.github.zxing-cpp-android-3.x
Update dependency io.github.zxing-cpp:android to v3.1.1
2026-08-05 15:52:26 +02:00
renovate[bot] 6c6f596b1a Update dependency io.github.zxing-cpp:android to v3.1.1 2026-08-05 09:20:04 +00:00
ganfra cd89f755a0 Merge pull request #7317 from element-hq/renovate/actions-stale-11.x
Update actions/stale action to v11
2026-08-05 11:19:10 +02:00
ganfra bb785676bf Merge pull request #7318 from element-hq/renovate/dependencyanalysis
Update dependencyAnalysis to v3.18.0
2026-08-05 11:18:38 +02:00
ganfra e64b0dcc43 Merge pull request #7311 from element-hq/renovate/com.posthog-posthog-android-3.x
Update dependency com.posthog:posthog-android to v3.56.4
2026-08-05 11:18:16 +02:00
renovate[bot] cdc4ac73fc Update actions/stale action to v11 2026-08-04 20:49:57 +00:00
renovate[bot] 6f1906300c Update dependency com.posthog:posthog-android to v3.56.4 2026-08-04 20:49:39 +00:00
renovate[bot] 28b90a91d0 Update dependencyAnalysis to v3.18.0 2026-08-04 00:53:09 +00:00
ganfra d572a78612 Merge pull request #7203 from element-hq/matthew/lls-push-notifications
Render push notifications for live location share starts (MSC4505)
2026-08-03 21:43:09 +02:00
Matthew Hodgson 0a577ffbb8 Render push notifications for live location share starts 2026-08-03 21:01:56 +02:00
Jenna Vassar 50ff04ac88 Bump enterprise module to the latest commit (#7309) 2026-07-31 18:52:22 +02:00
Jorge Martin Espinosa 54a8770f31 Bump enterprise module to the latest commit (#7307) 2026-07-31 09:46:40 +02:00
renovate[bot] c70bd32f59 Update android.gradle.plugin to v9.3.1 (#7304)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-07-31 09:05:56 +02:00
renovate[bot] 1a07fdfed0 Update zizmorcore/zizmor-action action to v0.6.1 (#7306)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-07-31 09:03:28 +02:00
Jorge Martin Espinosa 52d146a59d CI: split unit tests, screenshots and coverage in tests.yml (#7296)
* Check if splitting the steps for testing and generating the reports improves performance and keeps the coverage stats

* Exclude Konsist tests and include `:app` ones

* Remove the extra dependency of `koverVerifyAll` on `:app:koverVerify{variant}`
2026-07-30 11:51:18 +02:00
hayyaksi e6d4472c0c Index messages locally in an encrypted on-device store so encrypted rooms can be searched at all (#7249)
* Add a message search abstraction over the Rust SDK's local index

Wraps the SDK's search service so the rest of the app never sees MatrixRustSDK
types, following the existing convention in libraries/matrix.

- MessageSearch, MessageSearchService, MessageSearchResult and
  MessageSearchPaginationState describe the surface in the api module.
- RustMessageSearch and RustMessageSearchService implement it, with
  MessageSearchResultMapper and MessageSearchResultsProcessor turning SDK results
  into Kotlin data classes.
- TantivyQueryEscaper escapes the query so a user typing ":)" or "AND" searches
  for that literal text rather than tripping the tantivy parser, and joins every
  word as a Must clause.
- Fakes and unit tests cover the mapping, the processor and the escaper, the last
  checked against a real tantivy 0.26.1 parser.

* Attach the encrypted search index behind a disabled feature flag

Gives the client an on-device tantivy index encrypted with the session's client
secret, so encrypted rooms can be searched at all.

- The index store is attached at ClientBuilder time via withSearchIndexStore, in
  a search-index directory alongside the session, keyed on the client secret. A
  session without one gets no index.
- MatrixClient exposes isMessageSearchAvailable so callers gate on the real
  indexing capability rather than on the raw flag, and getCacheSize() counts the
  index directory so it stays visible in the settings figures.
- FeatureFlags.MessageSearch (feature.message_search) is off by default and
  isFinished = false. It is read once at ClientBuilder time, so develop stays
  releasable and nothing reaches a user.

* Simplify search index wiring following review

Tie search availability to the MessageSearch feature flag alone and let
the index be created without a client secret, encrypting it only when
the session has one, matching the SDK's SQLite stores. Make
getBaseClientBuilder take the flag as a required parameter and return
ClientBuilder directly again, dropping the BaseClientBuilder wrapper
and the mid-restore snapshot parameter. Check the flag through
FeatureFlagService in RustMatrixAuthenticationService instead of
caching it in a field, and revert the extra matrix_sdk_search tracing
target, which belongs in the SDK's defaults.
2026-07-30 11:17:40 +02:00
Jorge Martin Espinosa af9db20f4f Add extra vertical padding to ReplyToInvalidContent and ReplyToNotFoundContent (#7288)
* Add extra vertical padding to `ReplyToInvalidContent` and `ReplyToNotFoundContent`

* Update screenshots

---------

Co-authored-by: ElementBot <android@element.io>
2026-07-30 10:30:22 +02:00
Jorge Martin Espinosa 9ab679566d Don't check enterprise previews in KonsistPreviewTest (#7297)
Don't check enterprise previews in `KonsistPreviewTest`
2026-07-30 10:29:43 +02:00
renovate[bot] bac77b7645 Update dependency io.sentry:sentry-android to v8.50.0 (#7298)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-07-30 09:43:45 +02:00
renovate[bot] e46d36ec64 Update android.gradle.plugin to v9.3.0 (#7248)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-07-30 09:40:09 +02:00
ganfra 2a1fd60ad7 Merge pull request #7291 from element-hq/renovate/org.maplibre.compose-maplibre-compose-0.x
Update dependency org.maplibre.compose:maplibre-compose to v0.13.1
2026-07-29 19:56:34 +02:00
ganfra 67b5bddf4e Changelog for version 26.08.0 2026-07-29 18:31:11 +02:00
ganfra a598ff263f Merge branch 'release/26.08.0'
# Conflicts:
#	tools/manifest/gplay/release/aaptDump.txt
2026-07-29 17:46:31 +02:00
ganfra 0770ff04c7 Adding fastlane file for version 26.08.0 2026-07-29 17:44:30 +02:00
ganfra ae74546ee4 Setting version for the release 26.08.0 2026-07-29 17:44:12 +02:00
ganfra 2e480f93ed Merge pull request #7293 from element-hq/ci/run-konsist-tests-sequentially
Run `Konsist` tests sequentially
2026-07-29 13:58:09 +02:00
Jorge Martín d711922325 Remove test for detecting m prefix for fields
I'm not sure anyone will actually use `m` prefixes on Kotlin anymore
2026-07-29 13:28:57 +02:00
Jorge Martín ddc972a365 Run Konsist tests sequentially
It's sadly faster that way:

Every time we run a test class in parallel a new JVM is started, and the `KoScope` contents can't be shared between them.
This scope can take a few minutes to load, so having several instances of this happening at the same time is a terrible idea.
It's actually faster to run the tests sequentially, at least locally.
2026-07-29 13:28:22 +02:00
Jorge Martin Espinosa 49692794f9 Allow adding a path suffix to the OAuth client URI (#7286)
* Allow adding a path suffix to the OAuth client URI
2026-07-29 09:29:44 +00:00
Jorge Martin Espinosa 674354b1a6 Enforce HS disabling E2EE in DM creation too (Element Pro) (#7292)
This part was missing from the implementation of this Element Pro feature, which incorrectly only applied to rooms.
2026-07-29 09:17:41 +00:00
renovate[bot] eb18770378 Update dependency org.maplibre.compose:maplibre-compose to v0.13.1 2026-07-29 07:55:56 +00:00
renovate[bot] 00dcf48f28 Update dependency org.maplibre.gl:android-sdk to v13.4.0 (#7290)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-07-29 09:53:27 +02:00
ganfra cc75e9386c Merge pull request #7287 from element-hq/renovate/org.matrix.rustcomponents-sdk-android-26.x
Update dependency org.matrix.rustcomponents:sdk-android to v26.07.28
2026-07-29 02:03:53 +02:00
ganfra 8b970fb2f1 Fix license header on FakeFfiContinuationMessageSender 2026-07-29 01:21:05 +02:00
ganfra 3fc8972464 Fix unit test compilation for new continuationSender param on WaitingForAuth 2026-07-28 18:08:10 +02:00
ganfra 3933d5ab8c Merge pull request #7277 from element-hq/sync-localazy
Sync Strings
2026-07-28 16:44:21 +02:00
ganfra bd4d0cb02b Fix compilation for QR login continuation error variants added in SDK 26.07.28 2026-07-28 16:44:07 +02:00
renovate[bot] 154d79d4b5 Update dependency org.matrix.rustcomponents:sdk-android to v26.07.28 2026-07-28 13:45:07 +00:00
Jenna Vassar c2e8676773 Update keyboard visibility to track hasFocus (#7284) 2026-07-28 15:35:27 +02:00
ElementBot f5b0195852 Update screenshots 2026-07-28 13:17:45 +00:00
ganfra ea3788abd1 Sync Strings from Localazy 2026-07-28 14:51:37 +02:00
Jenna Vassar fe24aeb2ce Add a password strength estimator wrapping the SDK zxcvbn API (#7186)
* Add a password strength estimator wrapping the SDK zxcvbn API

* Add tests for the password strength estimator SDK mapping

---------

Co-authored-by: ElementBot <android@element.io>
2026-07-28 10:30:06 +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
Jorge Martin Espinosa adc1b50492 Fix insets in several screens (#7285)
* Fix insets in several screens

UI components in the room list, room member list, etc. now have better insets based on `WindowInsets.safeDrawing`

* Update screenshots

---------

Co-authored-by: ElementBot <android@element.io>
2026-07-28 10:29:42 +02:00
ganfra c685c356ce Merge pull request #7282 from element-hq/renovate/actions-checkout-7.x
Update actions/checkout action to v7.0.1
2026-07-28 10:02:56 +02:00
Matt Van Horn 9042b4be4f Make settings section separators visible in black theme (#7039)
* Make settings section separators visible in black theme

In the Black (OLED) theme the canvas is forced to pure black while the
section-separator divider keeps its standard-dark colour (outlineVariant,
~10% alpha white), leaving dividers in Settings and related screens almost
invisible. Add an OLED-aware listSectionDivider alias that lightens the
divider only when the black theme is active, and use it for the
ListSectionHeader divider. Light and standard-dark themes are unchanged.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Signed-off-by: Matt Van Horn <455140+mvanhorn@users.noreply.github.com>

* Set separatorSecondary for Black theme instead of a custom divider alias

Following review feedback: now that the global HorizontalDivider uses
separatorSecondary (#7054), give the Black/OLED theme a visible
separatorSecondary value in ElementTheme instead of carrying a bespoke
listSectionDivider alias. This fixes all separators on pure black, not
just section headers. The exact color is pending design confirmation.

* chore(theme): remove in-code design discussion comment

Move design discussion out of the code per review; the divider color
decision lives in the PR thread.

* Update screenshots

Signed-off-by: Matt Van Horn <455140+mvanhorn@users.noreply.github.com>

---------

Signed-off-by: Matt Van Horn <455140+mvanhorn@users.noreply.github.com>
Co-authored-by: Matt Van Horn <455140+mvanhorn@users.noreply.github.com>
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-authored-by: ElementBot <android@element.io>
Co-authored-by: Jorge Martin Espinosa <jorgem@element.io>
2026-07-28 09:51:15 +02:00
Jorge Martin Espinosa cc3c68411e Try making HeaderFooterView more robust (#7267)
* Try making `HeaderFooterView` more robust

Create `HeaderFooterLayout` to properly calculate the content size when the component is scrollable so it's at least the size of the available space.

* Make `DesktopNoticeView` scrollable

For this, `NumberedListOrganism` can't be a `LazyColumn`, since that's a lazy layout with no intrinsic height and Compose doesn't know how to size it.

* Fix the case where no header or content composables are supplied

* Fix insets in non-scrollable UI

* Remove `movableContentOf`, suppress the warning instead since the `isScrollable` parameter should never toggle this behavior

* Update screenshots

---------

Co-authored-by: ElementBot <android@element.io>
2026-07-28 09:38:56 +02:00