Commit Graph

16439 Commits

Author SHA1 Message Date
renovate[bot] 01823852fd Update dependency com.google.firebase:firebase-bom to v34.16.0 2026-07-17 13:28:32 +00:00
renovate[bot] c2d90ed870 Update dependency net.zetetic:sqlcipher-android to v4.17.0 (#7218)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-07-17 15:26:24 +02:00
Jorge Martin Espinosa 2705efad15 Add content scanner support to media gallery and viewer (Element Pro) (#7233)
* Add content scanner support to media gallery and viewer

* Improve UI and previews

* Remove default content validation state in media content views

* Disable click for invalid media items in the gallery events

* Update screenshots

---------

Co-authored-by: ElementBot <android@element.io>
2026-07-17 15:26:13 +02:00
Benoit Marty 19724aaa78 Merge pull request #7236 from element-hq/manuroe/element-pro-release-notes-category
Group Element Pro changes into a dedicated release notes section
2026-07-17 14:59:10 +02:00
manuroe 584e5097fd Group Element Pro changes into a dedicated release notes section
Pro-only PRs (labelled pr-element-pro) leaked into Element X release
notes, causing confusion. They now group into a single Element Pro
section instead of scattering through Features/Bugfixes. Granularity is
dropped on purpose for these changes.
2026-07-17 14:21:11 +02:00
renovate[bot] 87890ea30b Update kotlin to v2.3.10 (#7234)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-07-17 11:42:14 +02:00
renovate[bot] 9c99b020de Update dependency com.google.crypto.tink:tink-android to v1.23.0 (#7229)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-07-17 10:52:40 +02:00
Benoit Marty 2ceff75e65 Merge pull request #7227 from unclejay80/a11y/formatting-option-state-description
Expose formatting toggle state to TalkBack
2026-07-17 10:00:31 +02:00
Thirumani Vihaan f005693874 Fix #7181: Remove back arrow from device verified screen and use 'Done' text (#7222)
* Fix #7181: Remove back arrow from device verified screen and use 'Done' text

* Update screenshots

* Fix failing Maestro test by tapping 'Done' instead of 'Continue'

---------

Co-authored-by: ElementBot <android@element.io>
Co-authored-by: thirumani-vihaan <your-github-email@example.com>
2026-07-16 16:50:58 +02:00
ElementBot 2112e1bf04 Update screenshots 2026-07-16 12:19:40 +00:00
Benoit Marty 2ed7cfe79c Merge pull request #7225 from unclejay80/a11y/role-button-login-onboarding
Add a button role to clickable icons and text on the login/onboarding screens
2026-07-16 12:37:02 +02:00
Benoit Marty bf54701577 Merge pull request #7228 from element-hq/mxandreas/no-hs-check-qr
Fix logging via QR code when using MDM-configured homeserver
2026-07-16 11:14:48 +02:00
Valere 25c9f9706f Merge branch 'develop' into feature/valere/timeline_active_call_rendering 2026-07-16 10:51:34 +02:00
Benoit Marty 3eea53840f Merge pull request #7182 from element-hq/feature/bma/focussedButton
[A11y] Improve rendering on focused UI items
2026-07-16 10:47:19 +02:00
Benoit Marty 3854caa8f1 Fix test compilation issue. 2026-07-16 10:27:20 +02:00
renovate[bot] 4cb9d272f4 Update dependency io.sentry:sentry-android to v8.48.0 (#7217)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-07-16 10:05:43 +02:00
Jorge Martin Espinosa 0d03472c60 Content scanner (Element Pro): scan timeline events for unsafe content (#7159)
* Simplify how event content with captions are displayed

The caption component will now be added in `TimelineItemEventContentView` instead of separately in each `TimelineItem__View` component

* Make sure `CoilMediaFetcher` methods to fetch media throw errors

We need to catch them later to check if the content scanner marked some thumbnails or medias as invalid/unsafe in `AsyncImage` instances

* Add a `ContentScannerService` that allows us to manually scan a list of medias in an event and then update and store the results

The results take the form of `ContentValidationValue`, stored in a `ContentValidationState` instance tied to the event

* Create `EventContentValidationCache` to keep the `ContentValidationStates` for events in a room

* Expose `EventContentValidationCache` to Compose using `LocalEventContentValidationState`

Also add a couple of helper functions to avoid having to manually remember the states

* Use the new components to display invalid content in the timeline items

* Add `blurhash` to most media items so we can use it while validating the thumbnails/medias

* Fix custom layout issues with screenshot and UI tests

* Also check the validation state for replied-to events in the composer

* Fix and add tests

* Handle unrecoverable content validation errors too: display a 'not found' UI

* Improve the performance of `EqualWidthColumn` for the single item case

* Update screenshots

---------

Co-authored-by: ElementBot <android@element.io>
2026-07-16 07:59:51 +00:00
mxandreas 16bfca1e16 Remove unused code. 2026-07-16 08:34:07 +01:00
ganfra 56cf00560e Merge pull request #7184 from element-hq/feature/fga/lls_fix_timeout
Live location sharing timeout
2026-07-16 09:33:02 +02:00
Valere 5ab3ed1f09 fix test compilation 2026-07-16 09:30:51 +02:00
mxandreas 67cb11f6d0 Fix tests and remove unused code. 2026-07-16 08:25:47 +01:00
mxandreas ea61942ccc Do not enforce MDM-configured homeserver to login via QR-code. 2026-07-16 07:58:22 +01:00
Jürgen Wischer 9c6e7b4464 Add Button role to clickable icons and text on login/onboarding screens
Several clickable elements on the login and onboarding flows (the
account provider list items, the search clear icon, the login clear
icon, and the hidden dev-mode version tap) use plain
Modifier.clickable without a semantics role. Screen readers announce
these as generic elements instead of buttons, so users relying on
TalkBack cannot tell they are interactive.

Add role = Role.Button to each clickable modifier, and reuse the
existing clear-icon content description as onClickLabel where one is
available.
2026-07-15 22:07:33 +02:00
Jürgen Wischer a6aa29f375 Expose formatting toggle state to accessibility services
FormattingOption used clearAndSetSemantics with only a contentDescription,
so the Bold/Italic/Underline toggle buttons never exposed whether they
were currently active to TalkBack. Add a stateDescription reflecting the
selected/unselected state alongside the existing contentDescription.

New a11y_active / a11y_inactive strings added to temporary.xml for
Localazy import.
2026-07-15 22:05:04 +02:00
ganfra a6b5eb4dce Extract expired-share handling into a helper method 2026-07-15 21:22:23 +02:00
Valere 90d92e023e Merge branch 'develop' into feature/valere/timeline_active_call_rendering 2026-07-15 16:34:41 +02:00
Valere 938eabae70 fixup: poste merge error 2026-07-15 16:34:24 +02:00
Jorge Martín e79181d145 Changelog for version 26.07.1 2026-07-15 16:27:32 +02:00
Jorge Martín 936ce45784 Adding fastlane file for version 26.07.1 2026-07-15 16:27:32 +02:00
Jorge Martín b69f299adb Setting version for the release 26.07.1 2026-07-15 16:27:32 +02:00
Valere 3052316bf5 Merge branch 'develop' into feature/valere/timeline_active_call_rendering 2026-07-15 16:22:26 +02:00
ElementBot 058b494d82 Update screenshots 2026-07-15 14:17:15 +00:00
Benoit Marty 0fe423757f Merge branch 'develop' into feature/bma/focussedButton 2026-07-15 15:58:01 +02:00
renovate[bot] 8de8826b1f Merge pull request #7188 from element-hq/renovate/roborazzi
Update roborazzi to v1.67.0
2026-07-15 15:53:26 +02:00
Jorge Martín c10f4e521d Merge branch 'release/26.07.1' 2026-07-15 15:46:59 +02:00
Jorge Martín 0524b3c274 Adding fastlane file for version 26.07.1 2026-07-15 15:46:58 +02:00
Jorge Martín 4187f9814d Setting version for the release 26.07.1 2026-07-15 15:44:43 +02:00
renovate[bot] d732f043dc Update dependency org.matrix.rustcomponents:sdk-android to v26.07.15 (#7216)
* Update dependency org.matrix.rustcomponents:sdk-android to v26.07.15

* Fix API breaks: add `status` and `call` parameters to `aRustRoomMember` helper

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Jorge Martín <jorgem@element.io>
2026-07-15 15:38:20 +02:00
Jorge Martin Espinosa d0b4a21cfe Fix timelines not loading after marking a room as read from notification when app was killed (#7202)
This can only happen when the app was killed by the OS and then you received some notification.

This notification action creates a new `DefaultSessionPreferencesStore` when trying to fetch `isSendPublicReadReceiptsEnabled`, which would contain a different session coroutine scope than the one created when instantiating the navigation graph (`@SessionCoroutineScope`), resulting in flows that never emit any items and close automatically as 'completed'.

This in turn prevented the timeline items subscription in `TimelinePresenter` from progressing, since we're also checking `isRenderReadReceiptsEnabled` there, which is closed and in turn closes the timeline items flow.
2026-07-15 15:01:35 +02:00
Valere 3af396c505 Merge branch 'develop' into feature/valere/timeline_active_call_rendering 2026-07-15 14:12:54 +02:00
ganfra f9513193e2 Merge pull request #7177 from element-hq/renovate/androidx.sqlite-sqlite-ktx-2.x
Update dependency androidx.sqlite:sqlite-ktx to v2.7.0
2026-07-15 13:51:45 +02:00
Jorge Martin Espinosa 62cc7e0505 Allow homeserver to disable encryption in Element Pro (#7198)
* Allow HS to disable encryption in Element Pro

Add `force_disable_e2ee` support in the Element well known retriever and cache to allow a homeserver to disable encrypted room creation and enabling encryption in an existing room in Element Pro clients

* Bump enterprise repo back to `main` branch
2026-07-15 13:29:16 +02:00
Valere e4d6661926 fixup: import 2026-07-15 12:18:22 +02:00
Jorge Martin Espinosa 03f3e8b3e0 Try fixing DM creation in Maestro (#7204)
* Try fixing DM creation in Maestro

* Also handle 'invite new people to this room' with first invite to aRoomName

* Try adding a room list clean up sub-flow

* No need to press back button after successful invites

* Looks like 'hideKeyboard' works as 'back' and messes up with the navigation. Try using the workaround described in https://docs.maestro.dev/reference/commands-available/hidekeyboard#workarounds
2026-07-15 10:56:50 +02:00
Benoit Marty 264ec2416f Merge pull request #7194 from element-hq/renovate/org.matrix.rustcomponents-sdk-android-26.x
Update dependency org.matrix.rustcomponents:sdk-android to v26.07.13
2026-07-15 10:56:00 +02:00
Benoit Marty fefcb7a41d Merge pull request #7213 from element-hq/revert-7209-a11y/linear-progress-indicator
Revert "Expose current/max progress values to accessibility services"
2026-07-15 10:25:50 +02:00
Benoit Marty f794cb9f06 Revert "Expose current/max progress values to accessibility services (#7209)"
This reverts commit e915cd242b.
2026-07-15 09:49:06 +02:00
Jürgen Wischer e915cd242b Expose current/max progress values to accessibility services (#7209) 2026-07-15 09:23:54 +02:00
renovate[bot] afdf07b23e Update dependency io.github.zxing-cpp:android to v3.1.0 (#7206)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-07-15 08:36:59 +02:00
Matthew Hodgson 34293eb824 Refer to the knock push rule by its published MSC number (MSC4506)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Uk8aPxHn3BHCe52L226jdG
2026-07-14 17:51:08 +01:00