Commit Graph

16124 Commits

Author SHA1 Message Date
ElementBot 306f96e2a6 Update screenshots 2026-09-30 19:07:56 +00:00
ganfra e50e6e599e Display the user status emoji beside the avatar 2026-09-30 17:58:03 +02:00
ganfra df81f5c0f7 Remove user status from the Matrix user header 2026-09-30 15:54:41 +02:00
Jorge Martin Espinosa 8c0d23771c Enable automatic back pagination and unread indicators by default (#7800)
* Enable automatic back pagination and unread indicators by default

We want to test these in the nightlies.
2026-09-30 15:09:32 +02:00
ganfra e5606e6162 Merge pull request #7820 from element-hq/fix/fix-textblock-style-after-headers-pr
Remove the hardcoded text style in `TextBlock`
2026-09-30 13:25:50 +02:00
Benoit Marty 84a6586551 Merge pull request #7337 from element-hq/renovate/androidx.compose.material3-material3-1.x
Update dependency androidx.compose.material3:material3 to v1.5.0-alpha29
2026-09-30 12:14:14 +02:00
Jorge Martin Espinosa 55b0273a4b Fix rustls failing the certification revocation checks on app start (#7817)
* Fix rustls failing the certification revocation checks on app start
* Also add dispatchers.io to `isElementProEnforced`
2026-09-30 10:10:59 +00:00
Benoit Marty a2b2c2360a Merge pull request #7788 from element-hq/feature/bma/removeAccount
Improve the sign out screen
2026-09-30 11:53:19 +02:00
ElementBot a74252def2 Update screenshots 2026-09-30 09:32:31 +00:00
ElementBot 1510262899 Update screenshots 2026-09-30 07:34:45 +00:00
Jorge Martín c7af5b2209 Remove the hardcoded text style in TextBlock
This should fix the text size (again) in the new timeline renderer.

Looks like this happened when a cherry-pick operation went wrong.
2026-09-30 09:14:27 +02:00
renovate[bot] 923f2176bb Update dependency com.google.firebase:firebase-bom to v34.19.0 (#7805)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-09-30 08:34:37 +02:00
Benoit Marty d70316ea41 Merge branch 'develop' into renovate/androidx.compose.material3-material3-1.x 2026-09-30 08:02:03 +02:00
ElementBot 767377193a Update screenshots 2026-09-29 22:32:44 +02:00
Jorge Martín 41f7cb7b74 Fix aaptDump.txt and changelog
The previous commit changed the aaptDump.txt file too much
2026-09-29 22:03:13 +02:00
Benoit Marty 5f317aa2a0 Fix MarkdownTextInputTest with Compose 1.13
The Compose 1.13 test libraries start the test window in touch mode, where the editor is
not focusable in Robolectric, so `requestFocus()` was not giving it the focus anymore.
Use `requestFocusFromTouch()`, which leaves the touch mode first.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-29 20:54:27 +02:00
Benoit Marty f52242ebdd Fix PinKeypadTest with Compose 1.13
material3 1.5.0-alpha29 brings Compose UI/foundation 1.13.0-alpha01, where clickable
nodes cannot be focused in touch mode anymore when requested from the test. Switch to
the keyboard input mode first, like a hardware keyboard would do, so that the key gets
the focus and receives the key events.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-29 20:25:58 +02:00
Benoit Marty 4d7ba1dcd3 Update apptDump after last release. 2026-09-29 20:19:54 +02:00
Jorge Martín 3985d4b712 Add missing parts of the 26.09.4 release to develop:
- Update CHANGES.md.
- Update aaptDump.txt.
2026-09-29 19:06:33 +02:00
Benoit Marty 4c4389b29a Remove unnecessary Material3 experimental opt-ins
Many Material3 APIs are now stable, so the `ExperimentalMaterial3Api` and `ExperimentalMaterial3ExpressiveApi`
opt-ins are not required anymore at those places. Also remove the propagating `@ExperimentalMaterial3Api`
marker from `TopAppBarScrollBehaviorLayout`, which does not use experimental API anymore.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-29 18:45:30 +02:00
Valere 01bc7dd070 Keep the app content composed when a native call starts
The overlay now draws with no controller too, so starting a call no longer resets the content's state, such as the composer draft.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-29 18:44:49 +02:00
Valere a2be854cf9 fix: linter LocalContext should not be cast to Activity 2026-09-29 18:44:49 +02:00
Valere f052f755b6 Follow a native call into picture-in-picture from the app
supportsPictureInPicture and smallestScreenSize have to be declared here, because a library cannot change a host Activity's manifest entry.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-29 18:44:49 +02:00
Valere e786e2d22f Draw the native call in the app
A wrapper around the logged-in content rather than an overlay, because a minimized call takes a strip of height above it while a maximized one covers it.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-29 18:44:49 +02:00
Valere 2ca33296b5 Update element-call-android to 0.1.0-rc.6
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-29 18:44:49 +02:00
Valere 0d5a79f3f2 Add the camera foreground service permission to the manifest snapshot 2026-09-29 18:44:49 +02:00
Valere e35b522a9a Answer a ringing call through the call entry point
The notification's Answer action named ElementCallActivity outright, so answering always opened the WebView whatever FeatureFlags.NativeCall was set to.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-29 18:44:49 +02:00
Valere 75605f1932 Make a call with no UI actually run, and cover it with tests
Found on a device: with no UI to answer the microphone permission or unset the maximized snapshot, the call parks forever and blanks the screen through the proximity wake lock.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-29 18:44:49 +02:00
Valere 40cb43ae87 Build the native call stack on demand for each session
Keyed by session id in app scope rather than session-scoped, because answering a call notification after a cold start has no session graph to reach a session-scoped stack from.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-29 18:44:49 +02:00
Valere 43a1364671 Give the native call component its view of Matrix
The factory lives in libraries/matrix/impl because that is the only module compiled against the Rust SDK, and is app-scoped because a call is started for whichever account it belongs to rather than the one on screen.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-29 18:44:49 +02:00
Valere 0d36f70c96 Resolve element-call-android from its GitHub releases
The component and the matrix-rust-rtc core publish as GitHub release assets rather than to Maven, so two filtered ivy repositories resolve them; both become plain coordinates the day they reach Maven Central.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-29 18:44:49 +02:00
Valere 66d6d365d7 Route calls through an entry point the native stack can implement
Adds the seam a native MatrixRTC call stack plugs into, with nothing behind it
yet, so that the stack itself lands as a self-contained change.

`FeatureFlags.NativeCall` is off by default and unfinished.
`features/callnative/api` declares `NativeCallEntryPoint`, and
`features/callnative/impl` provides a default that logs and does nothing:
turning the flag on today gets no call and a line in the log. That is the
honest outcome, where falling back to the WebView would make the flag look
broken rather than unimplemented.

`DefaultElementCallEntryPoint` forks on the flag. The read is asynchronous
because the flag is storage-backed, and caching it in an eagerly started
StateFlow would race a call placed just after app start onto the default
value.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-29 18:44:49 +02:00
Valere 0059c72a32 Expose the write sides of the current-call and ringing state
`CurrentCallService` and `ActiveCallManager` are read by the whole app but
written only by whoever is actually running a call. Writing has so far been
reachable only from inside `features/call/impl`, because that is where both
implementations live.

Adds `CurrentCallTracker` and `RingingCallTracker` to `features/call/api`, so
that a call implementation in another module can report the call it is running
and answer a ring, without depending on `features/call/impl`.

No behaviour change: both interfaces are implemented by the existing classes,
and their methods are aliases of methods that already existed.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-29 18:44:49 +02:00
Benoit Marty 0406189567 Update material3 to 1.5.0-alpha29
No new deprecation warnings compared to alpha28.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-29 18:43:21 +02:00
Benoit Marty 8427b49481 Suppress SearchBar deprecation warnings
The SearchBarState based replacement displays the expanded search bar in a dialog,
which would change the UX (in particular for the emoji picker bottom sheet).
Keep the current behavior for now and migrate later.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-29 18:43:19 +02:00
Benoit Marty f92b0a6c29 Migrate Slider to the SliderState API
material3 1.5.0-alpha28 removed the value-based Slider overload that accepts custom thumb and track.
Keep the public signature of our wrapper and remember a SliderState internally,
as the deprecated material3 overload does.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-29 18:43:18 +02:00
renovate[bot] b591fbe0cd Update dependency androidx.compose.material3:material3 to v1.5.0-alpha28 2026-09-29 18:43:16 +02:00
renovate[bot] 93b08e3508 Update dependency io.sentry:sentry-android to v8.57.0 (#7814)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-09-29 18:37:32 +02:00
Jorge Martin Espinosa ed80c5c537 Remove Firebase push integration from Posthog (#7810)
This causes issues with F-Droid, since now Posthog unconditionally references some Firebase classes, which are detected by their checks.

Note these don't do anything if Firebase messaging isn't included, which is already the case for the F-droid variant of the app.

The R8 changes should remove any code referencing Firebase in Posthog, making the offending classes unused and removing them from the final APKs.

This is not the ideal fix, that would be Posthog actually extracting these classes to an optional dependency, but it's a workaround to be able to publish F-droid versions.
2026-09-29 18:35:36 +02:00
Jorge Martín 6c9d501009 Merge branch 'hotfix/26.09.4' into develop 2026-09-29 18:31:14 +02:00
Benoit Marty fc63d95b65 Merge pull request #7717 from element-hq/renovate/zizmorcore-zizmor-action-0.x
Update zizmorcore/zizmor-action action to v0.6.4
2026-09-29 17:42:12 +02:00
ElementBot 46ba7729f4 Update screenshots 2026-09-29 17:32:24 +02:00
Benoit Marty 1664e0e15d Reorder states: new state at the end 2026-09-29 17:32:24 +02:00
Jorge Martín 5b84bd4340 Adding fastlane file for version 26.09.4 2026-09-29 16:37:05 +02:00
Jorge Martín 7cbd60448d Setting version for the release 26.09.4 2026-09-29 16:36:06 +02:00
Jorge Martín a30730462b Revert "Fix unread notification count in room list (#7749)"
This reverts commit b80a24e0aa.
2026-09-29 16:31:01 +02:00
Benoit Marty 1e6bb0a168 Fix Maestro tests 2026-09-29 15:57:08 +02:00
Benoit Marty 83c3b646c2 Make the content of LogoutView scrollable 2026-09-29 15:57:08 +02:00
Benoit Marty 26ea6be44c Logout: do not double render the progress state and disable the cancel button during the process. 2026-09-29 15:57:07 +02:00
Benoit Marty 672b6eaf81 Remove blank line 2026-09-29 15:57:06 +02:00