Commit Graph

5020 Commits

Author SHA1 Message Date
Benoit Marty
8ff21d7b68 Floating toolbar (#6147)
* Use floating toolbar on homepage

* Fix deprecation issue

* Create HorizontalFloatingToolbar wrapper in our components.

* Fix Konsist test.

* Fix compilation issue after rebase.

* Fix lint issue. `floatingActionButton` must be the last parameter.

* Add Preview for the case empty space.

* Fix navigation bar overlapping buttons in empty space view.

* Increase content padding, and apply it to the space tab too.

* Update screenshots

---------

Co-authored-by: chelsea <git@cdhildit.ch>
Co-authored-by: ElementBot <android@element.io>
2026-02-26 14:54:06 +01:00
renovate[bot]
89a6f5a7bf Update metro to v0.11.0 (#6245)
* Update metro to v0.11.0

* Fix `@AssistedInject` usages

Now the injected variables in the factories must match the names in the constructors

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Jorge Martín <jorgem@element.io>
2026-02-25 16:19:47 +01:00
Benoit Marty
afd7fc51c4 Create HorizontalFloatingToolbar wrapper in our components. 2026-02-25 15:51:20 +01:00
Benoit Marty
ed3a56cb90 Fix deprecation issue 2026-02-25 15:51:20 +01:00
Jorge Martin Espinosa
fe4554703c Check if network access if blocked when fetching notifications (#6247)
* Add `NetworkMonitor.isNetworkBlocked()`, use it to check if Doze prevented us from loading notifications

* Only check if network is blocked after checking if we have a network available, otherwise it's always `true`

* Extract `NetworkBlockedChecker` to handle deprecations more carefully
2026-02-25 12:04:07 +00:00
Jorge Martin Espinosa
dc11430a73 Add some DB optimizations (#6249)
* Set a maximum journal size limit (WAL file size) of 25MB

The previous value was null, which meant unlimited growth. This can affect performance, since the WAL file performance as a cache will worsen the larger it is

* When scheduling the vacuum task, make sure the user has enough free disk storage, since vacuuming can duplicate the DB sizes in disk
2026-02-25 11:59:21 +00:00
Jorge Martin Espinosa
2f80b101c5 Add extra analytics for notification performance (#6237)
* Add extra analytics for notification performance

Add technical spans to track how long a notification fetching work request takes to run, then how long it takes to actually fetch the events for the notifications

* Remove `withContext(io)` for `FetchNotificationsWorker`

The default `Dispatchers.Default` dispatcher used should be good enough and more performant

* Add network check span
2026-02-24 13:39:32 +01:00
Jorge Martin Espinosa
496595f20d Disable the cross-process lock in the SDK (#6231)
* Disable the cross-process lock in the SDK

We don't use multiple process as iOS does, so we don't need it. It should improve DB performance a bit and overall waste less resources.
2026-02-23 15:31:59 +00:00
Benoit Marty
783585bd01 Merge pull request #6194 from vmfunc/feature/audio-focus-voice-recording
request audio focus when recording voice messages
2026-02-23 13:35:57 +01:00
bmarty
6c81e88689 Sync Strings from Localazy 2026-02-23 00:39:49 +00:00
renovate[bot]
1ce57d811e Update dependency org.matrix.rustcomponents:sdk-android to v26.02.19 (#6229)
* Update dependency org.matrix.rustcomponents:sdk-android to v26.02.19

* Fix breaking API changes: added `isLowPriority` to `RoomInfo` and `RoomSummary`.

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Jorge Martín <jorgem@element.io>
2026-02-20 09:01:07 +01:00
Jorge Martin Espinosa
7d412d9461 Remove all video metadata (#6224)
Use `InAppMp4Muxer` with a custom metadata provider that removes all metadata entries
2026-02-18 16:51:44 +00:00
renovate[bot]
bc295b3c97 Update dependency org.matrix.rustcomponents:sdk-android to v26.2.16 (#6211)
* Update dependency org.matrix.rustcomponents:sdk-android to v26.2.16

* Fix log rotation breaking changes. The new values match iOS (https://github.com/element-hq/element-x-ios/pull/5108/)

* Fix `aRustRoomInfo()` test fixture

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Jorge Martín <jorgem@element.io>
2026-02-17 10:42:31 +01:00
Jorge Martin Espinosa
1b73a15953 Try to fix common issue with the top app bar (#6187)
The exception is:

> Size(720 x -83) is out of range. Each dimension must be between 0 and 16777215.

So forcing the height to at least 0 should fix it (although it might cause UI glitches?)
2026-02-16 09:42:41 +01:00
Benoit Marty
d2ca80e7e8 Fix compilation issue after merging develop. 2026-02-13 16:44:42 +01:00
Benoit Marty
c1f3233dce Merge branch 'develop' into feature/bma/notificationCustomSound 2026-02-13 15:48:19 +01:00
Jorge Martin Espinosa
0f170b671b Remove explicit dependency androix.compose.material (#6199)
* Remove explicit dependency for `androix.compose.material` for compose library modules

* Ensure `Button` uses the `material3.Icon` instead of the `material.Icon`

* Remove entry in `libs.versions.toml`
2026-02-13 15:19:31 +01:00
vmfunc
73a3468dbc set willPausedWhenDucked to true for RecordVoiceMessage
per review feedback - need true here so the onFocusLost callback
actually fires on all Android versions

Signed-off-by: vmfunc <celeste@linux.com>
2026-02-12 19:50:11 +01:00
vmfunc
7bd157f032 add RecordVoiceMessage audio focus requester for recording
separates recording from playback focus - willPausedWhenDucked is false
for recording so notification sounds don't interrupt mid-recording

Signed-off-by: vmfunc <celeste@linux.com>
2026-02-12 18:39:39 +01:00
Benoit Marty
0233f4dde4 Add name parameters 2026-02-12 17:57:52 +01:00
Benoit Marty
88a104a6d4 Swap receiver and parameter for a nicer code. 2026-02-12 17:57:31 +01:00
Benoit Marty
130ff40e5c Fix typo 2026-02-12 14:42:58 +01:00
Benoit Marty
48fae51ef0 Ignore fallback notification when the room list is rendered.
Add more tests.
2026-02-12 13:30:46 +01:00
Benoit Marty
a651a1cd6f Improve FakeAppNavigationStateService 2026-02-12 13:30:06 +01:00
Benoit Marty
00fb4498f4 Dismiss fallback notification when the room list is rendered. 2026-02-12 13:26:53 +01:00
Benoit Marty
b9d5645853 Remove NavigationState.Space. (#6185)
* Remove `NavigationState.Space`.
We do not have the concept of current space.

* Fix test.
2026-02-12 13:24:51 +01:00
Jorge Martin Espinosa
33a78ecda3 When linkifying, adjust the URLSpan's url too (#6188) 2026-02-12 12:12:57 +00:00
Benoit Marty
ff4455b0ce Fix test. 2026-02-12 09:12:17 +01:00
Benoit Marty
44cab62fc3 Merge branch 'develop' into feature/bma/notificationFallbackCounter 2026-02-11 21:10:14 +01:00
Benoit Marty
9fbb21fb39 Add missing test 2026-02-11 21:06:19 +01:00
Benoit Marty
843e1a28b2 Cleanup 2026-02-11 20:51:05 +01:00
Benoit Marty
83fee6d9ba Remove NavigationState.Space.
We do not have the concept of current space.
2026-02-11 20:41:55 +01:00
Benoit Marty
e3ace3c87e Rely on the SessionObserver to detect a sign out. 2026-02-11 18:06:32 +01:00
Benoit Marty
4234600d06 Notification: implement a counter in the fallback notification. 2026-02-11 16:43:03 +01:00
Benoit Marty
71fef289d1 Cleanup: remove unused summaryLine field. 2026-02-11 15:36:12 +01:00
Benoit Marty
6e958f3132 Let enterprise build be able to use a different notification channel for noisy notification. 2026-02-11 11:57:01 +01:00
ganfra
a1a89c02b5 Merge pull request #6171 from element-hq/feature/fga/enable_spaces_ff
Enable space feature flags by default
2026-02-10 21:42:12 +01:00
Benoit Marty
7535258bae Remove file sound (it is the same file than the file in the main scope). 2026-02-10 18:13:09 +01:00
Benoit Marty
21595b2155 Format file. 2026-02-10 17:40:20 +01:00
ganfra
22e9e8d9bd Enable space feature flags by default 2026-02-10 16:33:10 +01:00
Benoit Marty
8cc2d77964 Fix issues detected by Paparazzi 2026-02-10 15:30:14 +01:00
Jorge Martin Espinosa
f6b8c189e1 When a background SDK task fails, react in the client (#6166)
- For initialization issues or errors, we just print and report them.
- For panics (unrecoverable errors) we also crash the app.
2026-02-10 12:28:24 +01:00
ganfra
ee0da6b15c Merge pull request #6150 from element-hq/feature/fga/space_ui_tweaks
Iterate on Space related UI
2026-02-10 11:36:09 +01:00
Benoit Marty
d351f7d471 Use correct bg color. 2026-02-10 10:17:41 +01:00
ganfra
91eeb7b773 Merge branch 'develop' into feature/fga/space_ui_tweaks 2026-02-10 09:31:50 +01:00
Benoit Marty
c03788526c QRCode login: treat not found error as expired error. (#6161)
Reorder some when cases.
2026-02-09 16:34:23 +01:00
ElementBot
6a101e7b65 Sync Strings from Localazy (#6155)
Co-authored-by: bmarty <3940906+bmarty@users.noreply.github.com>
2026-02-09 16:30:57 +01:00
Benoit Marty
c18ac905c8 QRCode login: treat not found error as expired error.
Reorder some when cases.
2026-02-09 15:14:18 +01:00
Skye Elliot
028ec221b0 Add history sharing badges to room details (#6132)
* feat: Add history sharing badges to room details view

* tests: Add snapshots for history sharing room details badges

* fix: Disable soft-wrapping in badges, use FlowRow

* tests: Add unit test for `RoomDetailsState` and history sharing badges.

* tests: Add `MatrixBadgeAtomNeutralWrappingPreview` to exceptions

* chore: Re-order `MatrixBadgeAtom` previews

* fix: Add `Immutable` annotation to `RoomHistoryVisibility`.

* fix: Correct translation for shared badge
2026-02-06 19:03:52 +00:00
renovate[bot]
82dd9a3f77 Update dependency org.matrix.rustcomponents:sdk-android to v26.2.6 (#6144)
* Update dependency org.matrix.rustcomponents:sdk-android to v26.2.5

* Fix breaking API changes:
- Add temporary imlementation for `RustClientSessionDelegate.onBackgroundTaskErrorReport`, logging unrecoverable errors in background tasks of the SDK.
- Change `TimelineEventTypeFilter` to `TimelineEventFilter`.
- Support new `LatestEventValue.RemoteInvite`.

* Update the Rust SDK to `26.2.6`

* Fix API changes: `TimelineFocus.PinnedEvents` no longer takes any arguments

* Fix test fixtures: `NotificationItem` has a `rawEvent` field now

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Jorge Martín <jorgem@element.io>
2026-02-06 12:40:03 +00:00