Commit Graph

5738 Commits

Author SHA1 Message Date
Jorge Martin Espinosa
b340e85f83 Add floating/sticky date badge in the timeline (#6496)
* Add floating date indicator while scrolling the timeline (#6433)

* Add `FeatureFlags.FloatingDateBadge`. This enables displaying the floating date badge in the timeline as you scroll.

* Don't display the floating badge if the timeline isn't reversed. Otherwise, this will affect talkback users and break the existing navigation

* Use `TimelineItem.formattedDate()` to get the date to display. Always try finding the closest one (usually it will be just the 1st one we try).

* Align designs with iOS. Also fix shadows in fade animation by adding some paddings.

* Update screenshots

---------

Co-authored-by: Gianluca Iavicoli <gianluca.iavicoli04@gmail.com>
Co-authored-by: ElementBot <android@element.io>
2026-04-01 10:45:57 +00:00
ElementBot
f4986d4a0b Sync Strings from Localazy (#6486)
Co-authored-by: bmarty <3940906+bmarty@users.noreply.github.com>
2026-03-31 15:48:37 +02:00
Benoit Marty
0b7fe2f10d Cleanup 2026-03-25 16:51:41 +01:00
Benoit Marty
0aa1084fb3 Update UI of replies. 2026-03-25 15:27:36 +01:00
Benoit Marty
24f897917f Merge pull request #6459 from element-hq/feature/bma/iterateOnBadgeColors
Sync compound tokens https://github.com/element-hq/compound-design-tokens/releases/tag/v8.0.0
2026-03-25 14:28:15 +01:00
Benoit Marty
da8e18eeab Use Folder icon from Compound. 2026-03-24 18:06:08 +01:00
Benoit Marty
9069afed33 Merge pull request #6456 from element-hq/feature/bma/iterateOnSpaceHeader
Iterate on space header
2026-03-24 17:54:02 +01:00
Benoit Marty
36d8ea2234 Edit room detail: increase avatar size. #6458 2026-03-24 16:56:34 +01:00
ganfra
d1a6363a57 Merge pull request #6342 from element-hq/feature/fga/live_location_sharing_setup
Setup live location sharing feature
2026-03-24 15:46:45 +01:00
Benoit Marty
3b078654a2 Iterate design on EditUserProfileView 2026-03-24 15:04:55 +01:00
Benoit Marty
637df0a228 Edit room/space detail: change avatar size to 64 and adapt edit icon ratio. See #6364 2026-03-24 12:53:31 +01:00
Benoit Marty
b30a770f9b Merge pull request #6453 from element-hq/feature/bma/increaseIconSize
Increase icon size of audio and files in the timeline
2026-03-24 11:59:17 +01:00
renovate[bot]
e8a2f97cf5 fix(deps): update dependency androidx.compose.material3:material3 to v1.5.0-alpha15 (#6306)
* fix(deps): update dependency androidx.compose.material3:material3 to v1.5.0-alpha15

* Fix deprecations

* Add bottom sheet workaround

* Fix new lint issues

* Fix and ignore broken tests

* 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: ElementBot <android@element.io>
2026-03-24 11:24:07 +01:00
ganfra
8910d20ae4 Remove hardcoded strings 2026-03-24 11:22:51 +01:00
renovate[bot]
5c1e40b724 fix(deps): update dependency org.matrix.rustcomponents:sdk-android to v26.03.23 (#6444)
* fix(deps): update dependency org.matrix.rustcomponents:sdk-android to v26.03.23

* Fix `RoomInfo` test fixture

* Add `activeCallIntentConsensus` to `RoomInfo`

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Jorge Martín <jorgem@element.io>
2026-03-24 11:22:32 +01:00
ganfra
df6e76776d Add localazy config for location sharing 2026-03-24 11:13:40 +01:00
Benoit Marty
cb9fdc66fc Attachments: change icon size to 24 and container to 36 2026-03-24 11:01:10 +01:00
ganfra
f9f09b12f8 Merge branch 'develop' into feature/fga/live_location_sharing_setup 2026-03-24 10:17:24 +01:00
ganfra
7581d0ecf2 Use formatter for LLS duration 2026-03-24 10:15:25 +01:00
ElementBot
b5df58fcec Sync Strings (#6435)
* Sync Strings from Localazy

* Sync strings.

---------

Co-authored-by: bmarty <3940906+bmarty@users.noreply.github.com>
Co-authored-by: Benoit Marty <benoit@matrix.org>
2026-03-23 18:05:26 +00:00
Andy Balaam
cf9459f363 Fix: "Reset identity" flow leaves backup disabled #5075 (#6420)
* Don't cancel the resetOidc job in onStart or onDestroy of ResetIdentityFlowNode

* Add logging around the launch and completion of reserOidc

* Some improvements to make sure we always cancel the reset job.

Also, the flow can be considered done when the key backup is enabled, at that point we should already be verified.

* Don't cancel the `ResetIdentityFlowManager` when starting a reset

This also cancels the check that will call `onDone` when the flow finishes successfully.

It seems like it worked for me locally because of some race condition.

---------

Co-authored-by: Jorge Martín <jorgem@element.io>
2026-03-23 17:28:07 +00:00
Jorge Martin Espinosa
a2d9f241dd Fix long messages not being clickable (#6356)
* Fix long messages not being clickable

As @bmarty found out, `clip = true` causes the click event to be ignored in some cases. Since we have the shape we want to draw and we're using a custom `onDraw` modifier anyway to cut-out part of the path, we can just draw everything using the modifier and avoid using `clip = true`.

This seems to fix the issue.

* Fix clipping of images or other items that cover the bubble

* Fix borders being displayed for contents

* Extract the layer drawing logic into `drawInLayer` to simplify the inlined code. Remove redundant code, those changes are now in the `drawInLayer` block

* Workaround for lint issue: it seems like detekt can't properly detect usages in content receivers

* Update screenshots

---------

Co-authored-by: ElementBot <android@element.io>
2026-03-23 18:11:55 +01:00
Jorge Martin Espinosa
9074692189 Fix crash when starting a DM (#6419)
`AnchoredDraggable.requireOffset` was called before it was populated when displaying  `CreateDmConfirmationBottomSheet`, because the keyboard and the bottom sheet were causing conflicting animations related to the insets.

Hiding the keyboard before displaying the bottom sheet seems to fix the issue, and `skipPartiallyExpanded` results in a better UX (and also worked around the issue by itself).
2026-03-23 16:00:04 +01:00
Benoit Marty
93ab9f43dc Merge pull request #6322 from element-hq/feature/bma/iterateDesignOnAttachment
Design iteration on file attachment in the timeline
2026-03-23 14:37:54 +01:00
Gianluca Iavicoli
a30aed6a21 Fix keyboard not auto-opening when editing a message (#6412)
* fix: auto-open keyboard when editing a message

* fix: show keyboard on focused editor view instead of root view
2026-03-23 10:54:59 +01:00
ganfra
abdbc24b47 fix padding on map when gesture navigation is on 2026-03-20 18:15:44 +01:00
renovate[bot]
643d1e957d fix(deps): update dependency org.matrix.rustcomponents:sdk-android to v26.03.19 (#6411)
* fix(deps): update dependency org.matrix.rustcomponents:sdk-android to v26.03.18

* Fix API breaks

* Add compatibility with rustls (#6367)

A new `rustls-platform-verifier-android` library has to be added to the project, it'll be called from Rust to get access to the certificates on Android.

Originally, this was supposed to be added as a local maven repo pointing to the rust crate that publishes the AAR, but that's just plain terrible (more details [here](https://github.com/rustls/rustls-platform-verifier#android).

Instead, what we can do is use a script that uses `cargo-download` to download the latest crate or a specified version, unzip it and add the `aar` file to the `:libraries:matrix:impl` module.

* Try fixing Sonar with local AAR files

* Remove `UserCertificatesProvider`: this is no longer needed after integrating rustls

* Added some docs for rustls and its `platform-verifier` library

* Upgrade SDK to `26.03.19`: this version contains a workaround that allows the app to use the same TLS verifier as before, fixing the Let's Encrypt issues we saw with some homeservers (like element.io)

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Jorge Martín <jorgem@element.io>
2026-03-20 16:20:37 +01:00
bxdxnn
cb228e47b9 Fix room member not tappable in a Thread (#6416) 2026-03-19 14:23:10 +01:00
Jorge Martin Espinosa
96e2f882a2 Add a foreground service with a wakelock for fetching push notifications (#6321)
* Create `PushHandlingWakeLock` to start a foreground service:

When receiving a push and scheduling the notification fetching, several problems can happen:

1. Some async operation is waiting for a timeout and it takes way longer than that to finish (i.e. timeout of 10s but it took 30s to advance).
2. The same, but when starting new coroutines. I've seen the time between scheduling a coroutine and it running sometimes take up to 1 minute.
3. Notification fetching can be scheduled immediately, but it can take a while to actually run because the OS understands the app is now in Doze.

Having a wakelock that runs as soon as the push handling starts fixes these: it continues the previous wakelock held by either Firebase or the UnifiedPush distributor.

* Acquire the wakelock as soon as we received the pushes in both receivers

* Also release the wakelock ahead of time if possible
2026-03-17 14:24:26 +01:00
Benoit Marty
e9ca0a79e9 Sync strings. 2026-03-16 17:36:13 +01:00
Benoit Marty
afa1a42d92 canEnterRecoveryKey -> canUseRecoveryKey 2026-03-16 17:21:19 +01:00
Benoit Marty
b5830f5016 Update wording from "Enter recovery key" to "Use recovery key" 2026-03-16 17:19:49 +01:00
Benoit Marty
0fbed400eb Sync string again. 2026-03-16 14:54:06 +01:00
Benoit Marty
2e77502084 Fix issue in pattern 2026-03-16 10:32:33 +01:00
bmarty
3a0e01b63d Sync Strings from Localazy 2026-03-16 00:42:32 +00:00
ganfra
6414d74c40 Simplify ShowLocationState 2026-03-13 18:41:32 +01:00
ganfra
9b98a47941 Use localized string instead of hardcoded 2026-03-13 18:41:13 +01:00
ganfra
91c46ec971 Remove duplicate location content and reorder Live mode 2026-03-13 15:50:33 +01:00
ganfra
83832a38f9 Fix stability 2026-03-13 15:48:56 +01:00
ganfra
249d45ce04 Fix wrong dependency 2026-03-13 15:08:17 +01:00
ganfra
7c6a5638ad Fix some existing tests after changes 2026-03-13 10:18:28 +01:00
ganfra
02b3c61edc Fix quality! 2026-03-12 21:12:52 +01:00
ganfra
cdc773dab1 Remove hardcoded string 2026-03-12 15:58:27 +01:00
ganfra
81c7656125 Merge branch 'develop' into feature/fga/live_location_sharing_setup 2026-03-12 12:48:55 +01:00
ganfra
30919dcff4 Rename ShowLocationEvents -> ShowLocationEvent 2026-03-12 12:47:52 +01:00
ganfra
089b0cd847 Disable live location sharing for now (nothing done) 2026-03-12 12:40:10 +01:00
ganfra
fb775833c7 Code cleanup 2026-03-12 12:35:46 +01:00
ganfra
8274ef220d Fix and add tests related to location 2026-03-12 12:31:51 +01:00
ganfra
392fa9de9b Add Constraints check for permissions and GPS check 2026-03-12 11:53:36 +01:00
ganfra
7b305e34ef Set LocationShareRow max lines to Text components 2026-03-12 10:29:20 +01:00