Commit Graph

16436 Commits

Author SHA1 Message Date
Jorge Martin Espinosa 8e9c0bedf2 Fix sharing media inside the app (#7016)
When a `MediaSource` is disposed, the local temp file associated to it will be deleted from disk.

When we try sharing a media from the media viewer screen to another room, this will dismiss the screen, which in turn will dispose of the media source and remove the file, which then fails to be shared.

If we copy it first and then make sure we delete it after trying to send it, it works fine.
2026-06-16 16:42:59 +02:00
Jorge Martin Espinosa 710f501689 ScanQrCodeViewTest: try fixing broken test in CI (#7027)
Add `LocalInspectionMode.current = true` in case the failure is related to rendering the `QrCodeCameraView`
2026-06-16 16:42:32 +02:00
Jorge Martin Espinosa 19ee0ae0cd Refactor: replace client-side event filtering for public rooms with SDK (#7025)
* Refactor: replace client-side event filtering for public rooms with an SDK-based one

---------

Co-authored-by: Benoit Marty <benoitm@element.io>
2026-06-16 12:48:11 +00:00
ElementBot 154a554d65 Update screenshots 2026-06-16 12:44:50 +00:00
Benoit Marty fdc98f6b8c Merge branch 'develop' into feature/bma/scroll-to-unread-messages 2026-06-16 14:28:44 +02:00
Benoit Marty 8e12acf62c Fix Konsist tests. 2026-06-16 14:04:46 +02:00
renovate[bot] 576fc3d7f3 Update dependency com.google.firebase:firebase-bom to v34.14.1 (#7029)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-06-16 13:00:45 +02:00
ElementBot d39b208099 Sync Strings from Localazy (#7021)
Co-authored-by: bmarty <3940906+bmarty@users.noreply.github.com>
2026-06-16 12:59:45 +02:00
Benoit Marty 969880e35a [Link new device] Unlock with device credentials or application PIN code 2026-06-16 12:23:46 +02:00
ElementBot 6af3870547 Update screenshots 2026-06-16 09:22:50 +02:00
renovate[bot] 27704b653a Update okhttp monorepo to v5.4.0 2026-06-16 06:21:52 +00:00
bxdxnn 260639cde9 Fix invites not being sent during the room creation (#7018)
* Proceed to the room only from the 'Trust (user) On First Use' confirmation screen
2026-06-15 12:16:05 +02:00
renovate[bot] 2d81a435e7 Update dependency org.maplibre.gl:android-sdk to v13.3.0 (#7022)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-06-15 08:34:32 +02:00
bxdxnn 5b53686c3e Add full SVG support 2026-06-14 10:06:17 +00:00
bxdxnn 88d419c03f Revert "Send SVG images as files (#4595)" 2026-06-14 10:06:17 +00:00
ElementBot 4ed247eb9d Update screenshots 2026-06-12 10:45:34 +00:00
Benoit Marty a819cf6862 Fix padding issue 2026-06-12 12:30:19 +02:00
renovate[bot] a3a0fdad32 Update dependency org.matrix.rustcomponents:sdk-android to v26.06.11 (#7014)
* Update dependency org.matrix.rustcomponents:sdk-android to v26.06.11

* Fix broken API changes: add new `ContentScanner` error type.

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Jorge Martín <jorgem@element.io>
2026-06-12 10:08:12 +02:00
ElementBot 2fd4e6857a Update screenshots 2026-06-12 07:38:25 +00:00
Benoit Marty d33852d32f Room selection: add a limitation of 10 rooms for Share and Forward actions. 2026-06-12 09:22:29 +02:00
Jenna Vassar edf47f367d Bump enterprise submodule: split passphrase symbol entropy factors
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-11 16:37:48 -07:00
Jenna Vassar 44d4ed1e46 Bump enterprise submodule: use a Compound token for the Moderate strength colour
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-11 16:16:17 -07:00
Jenna Vassar e90c91d446 Add a node-builder test for DefaultSecureBackupSetupEntryPoint
The new entry point had no test, leaving its createNode body (and the api
Inputs data class) uncovered and failing codecov/patch. Mirror the existing
Default*EntryPointTest convention to exercise the builder.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-11 16:04:25 -07:00
Jenna Vassar fdac92a9ea Rename the custom recovery passphrase well-known to match the merged schema
The merged element-enterprise#261 well-known schema advertises the feature
under custom_recovery_passphrase (no _settings/_requirements suffix), so the
parser previously looking for custom_recovery_passphrase_settings would never
activate the flow. Update the @SerialName and drop the narrow "Requirements"
suffix from the type — the block is now general, extensible feature settings —
to mirror the .pkl CustomRecoveryPassphrase class. Bumps the enterprise
submodule to the matching consumer change.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-11 15:03:24 -07:00
Jenna Vassar cc9d787602 Collapse the recovery passphrase strength labels to five tiers
Adopt the design feedback from element-meta#3228: drop the time-to-crack
hint strings and reduce the strength labels to Very weak / Weak / Moderate /
Strong / Very strong. Bumps the enterprise submodule to the matching
indicator change.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-11 14:39:58 -07:00
Richard van der Hoff 89fc77727f build-rust-sdk: allow skipping git update for kotlin components (#7012)
Updating matrix-rust-components-kotlin from git on every build is
time-consuming, and requires network connectivity. It's useful to be able to
skip it, particularly when working offline.

Add an option to the build script to skip this step.
2026-06-11 17:02:52 +02:00
Benoit Marty c0c2f59822 Use test extension on presenter. 2026-06-11 16:50:53 +02:00
Benoit Marty 9739f58901 RoomSelectEvents -> RoomSelectEvent 2026-06-11 16:49:57 +02:00
Benoit Marty 66c7c35785 Ensure event is sent only once per room. 2026-06-11 16:47:25 +02:00
Benoit Marty bda24a1175 Forward message to multiple rooms 2026-06-11 16:36:52 +02:00
bxdxnn f067ba34e7 Update features/poll/api/src/main/kotlin/io/element/android/features/poll/api/pollcontent/PollContentState.kt
Co-authored-by: Benoit Marty <benoit.marty@gmail.com>
2026-06-11 17:04:37 +03:00
renovate[bot] 48e5d1b2f4 Update dependency io.sentry:sentry-android to v8.43.1 (#6895)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-06-11 10:56:48 +02:00
renovate[bot] 9e4b708a46 Update dependencyAnalysis to v3.14.1 (#6995)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: ganfra <francoisg@matrix.org>
2026-06-11 09:54:27 +02:00
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
renovate[bot] 37fed3e8fe Update actions/checkout action to v6.0.3 (#6997)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-06-11 09:45:30 +02:00
Benoit Marty 552f2efd81 Remove unused import 2026-06-11 09:41:22 +02:00
renovate[bot] fa3a650d04 Update wysiwyg to v2.42.0 (#7009)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-06-11 09:40:28 +02:00
Benoit Marty 99b7c758f2 Merge pull request #6954 from element-hq/fix/try-fixing-flaky-location-timeline-item-screenshots
Try fixing flaky screenshots for location timeline items
2026-06-10 14:44:39 +02:00
Benoit Marty ff8e477b4f Merge pull request #6984 from bxdxnn/fix/draft-threads
Fix message drafts not being saved in Threads
2026-06-10 14:44:12 +02:00
Jorge Martín 568a72ee73 Merge remote-tracking branch 'origin/main' into develop 2026-06-10 13:11:12 +02:00
Jorge Martín 337528bce3 Fix DefaultOAuthUrlParserTest 2026-06-10 13:10:59 +02:00
Jorge Martín c4fe54bf8a Merge remote-tracking branch 'origin/main' into develop 2026-06-10 12:34:35 +02:00
Jorge Martín 451fba2a2b Add missing changelog entries for v26.06.1 and v26.06.2 2026-06-10 12:32:55 +02:00
Jorge Martín 7c95dbfe0c Merge remote-tracking branch 'origin/main' into develop 2026-06-10 12:30:39 +02:00
Jorge Martín 937b2a5e3a Bump version to v26.06.2 2026-06-10 12:29:13 +02:00
Benoit Marty 33f64ca5a1 Merge commit from fork
* Log error on unsupported OAuth URL.

* Bump version to 26.06.2
2026-06-10 12:22:13 +02:00
ganfra 3ae9fc991b Merge pull request #7002 from element-hq/deps/codecov-action-7.x
deps(codecov) :  bumps to v7.0.0 to unblock CI
2026-06-10 11:45:58 +02:00
ganfra 3b9a2385ff deps(codecov) : bumps to v7.0.0 to unblock CI 2026-06-10 10:37:53 +02:00
ganfra c621b6f7fd Merge pull request #6996 from element-hq/feature/fga/location_permissions_rework
change(location): ensure permissions are always requested at least once
2026-06-10 09:58:20 +02:00
Jenna Vassar 5a2977134b Gate out-of-window jump-to-unread on genuinely unread displayable content
The jump-to-unread FAB could surface an OutOfWindow target when the
fully-read marker event was either loaded-but-not-displayed (state/filtered
events) or when there was nothing displayable to jump to. Add two guards to
the recompute:

- Require roomInfo.numUnreadMessages > 0, so the FAB only appears when there
  is genuinely unread "interesting" content (never state/hidden events).
- Add Timeline.isEventLoaded to distinguish "in the loaded window but not
  rendered" from "genuinely outside the window", falling back to the SDK only
  after the cheap display-index check (isKnown) misses.

The RustTimeline implementation reads the replay cache first and releases the
EventTimelineItem native handle via use {} when probing the SDK. Adds presenter
tests for the loaded-but-not-displayed and no-unread-messages branches.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-09 18:05:22 -07:00