Commit Graph

10418 Commits

Author SHA1 Message Date
Benoit Marty 7bcfb20268 Update wording for push provider support test. (#4079) (#4553) 2025-04-08 12:01:52 +02:00
Robin 20ac0f90e4 Run the 'prevent blocked' workflow even if PR has conflicts (#4432)
See the description of pull_request versus pull_request_target documented at https://docs.github.com/en/actions/writing-workflows/choosing-when-your-workflow-runs/events-that-trigger-workflows#pull_request.
2025-04-08 09:24:40 +02:00
Benoit Marty ad9997b8ba Click on userId / room alias to copy value to clipboard. (#4549) 2025-04-08 09:23:02 +02:00
renovate[bot] 606910e625 fix(deps): update appyx to v1.7.0 (#4547)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-07 12:51:36 +00:00
Benoit Marty b7abdb042f Add a inderminate progress bar when loging out and in Waiting state. (#4538)
* Add a check network connection when the Waiting state last too long.

* Update screenshots

---------

Co-authored-by: ElementBot <android@element.io>
2025-04-07 11:58:02 +02:00
Jorge Martin Espinosa f335eb1106 Fix the share location URI (#4544)
* Fix the share location URI

Use `ENGLISH` locale to make sure the coordinates are formatted using the right decimal separator.

Also, when no label parameter was added, the URI just centered the map on some coordinates, instead of adding a marker.
2025-04-07 11:56:25 +02:00
Jorge Martin Espinosa 915699a265 Allow using a hardware keyboard to unlock the app using a pin code (#4530)
* Allow using a hardware keyboard to unlock the app using a pin code

* Add UI tests to `PinKeypad`

* Also take into account the numpad keys.

Extract this to an extension property in `ui-utils`. Made `ui-utils` also a compose-compatible library (vs `android-utils`, which doesn't have compose dependencies).
2025-04-07 11:55:35 +02:00
Benoit Marty b3c0332eac Update app icon (#4534)
* Update application icon.

* Update icon preview code.

* Update screenshots

* Also update the icon on fastlane config.

---------

Co-authored-by: ElementBot <android@element.io>
2025-04-07 11:48:40 +02:00
Benoit Marty b0beb0dfc9 Use colors from compound for badges (#4545)
* Use badge color from Compound and remove temporary aliases

* Use color instead of a copy of it.

* Update screenshots

---------

Co-authored-by: ElementBot <android@element.io>
2025-04-07 11:32:35 +02:00
Jorge Martin Espinosa 977268b876 Fix bullet points not having leading margin on timeline items (#4536)
* Fix bullet points not having leading margin on timeline items

* Remove other usages of `SpannableString` constructor, use either `valueOf` to reuse the existing value or `SpannedString` instead if the spans don't have to change
2025-04-07 10:50:45 +02:00
renovate[bot] b1dd555baa chore(deps): update plugin dependencycheck to v12.1.1 (#4540)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-07 10:50:22 +02:00
ElementBot 886161b355 Sync Strings from Localazy (#4543)
Co-authored-by: bmarty <3940906+bmarty@users.noreply.github.com>
2025-04-07 09:20:32 +02:00
renovate[bot] 1290188f5b fix(deps): update dependency io.element.android:compound-android to v25.4.4 (#4537)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-04 17:18:49 +02:00
Benoit Marty d8d9f2cf14 Remove the green badge on a pending invite after a first preview (#4532)
* Remove condition on displayType as I believe, that it has no effect.

* Remove the green badge on a pending invite after a first preview

* Update screenshots

* Fix test

* Improve DefaultSeenInvitesStore, clear it on logout, and on clear cache. Also create a store per session.

* Remember the returned flow.

---------

Co-authored-by: ElementBot <android@element.io>
2025-04-04 16:51:31 +02:00
Benoit Marty a230b83e99 Remember flows (#4533)
* Add Konsist test to ensure that the result of a function returning a flow is remembered.

* Remember flows before they are collected by state.

* Fix compilation issue

* Make isOnline a val.

* Make selectedUsers() a val.

* Make flow() a val.

* Make getUserConsent(), didAskUserConsent() and getAnalyticsId() some val.

* Remove Timeline.paginationStatus() and replace by direct access to the underlined flow.

* Simplify test

* userConsentFlow must be initialized before because it's used in observeUserConsent

* Fix test compilation
2025-04-04 16:50:43 +02:00
ganfra e557ee2c77 Merge pull request #4527 from element-hq/renovate/dependencyanalysis
fix(deps): update dependencyanalysis to v2.14.0
2025-04-04 14:33:06 +02:00
Benoit Marty c09ff58158 Remove alias from room invite item (#4531)
* Remove the potential room alias from invitation cells

* Update screenshots

---------

Co-authored-by: ElementBot <android@element.io>
2025-04-03 17:11:23 +02:00
renovate[bot] 73ce386873 fix(deps): update dependencyanalysis to v2.14.0 2025-04-02 22:52:30 +00:00
renovate[bot] a045b3f7c8 fix(deps): update kotlin (#4522)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-02 18:03:59 +02:00
Benoit Marty edd09ef7bb Fix warnings in InMemoryAppPreferencesStore (#4523) 2025-04-02 18:03:14 +02:00
Benoit Marty 670af86e8b Replace OutlinedTextField by our TextField (#4521)
* Let TextFieldListItem take the entire width.

* Add unit test to detect usage of OutlinedTextField.

* Use TextField instead of OutlinedTextField

* Remove unnecessary opt in to ExperimentalFoundationApi

* Use TextField instead of OutlinedTextField

* Fix compilation issue.

* Update screenshots

* ListDialog: add space between items.

* Update screenshots

* Set applyPaddingToContents to true by default.

* Update screenshots

---------

Co-authored-by: ElementBot <android@element.io>
2025-04-02 14:04:07 +00:00
renovate[bot] fcaf6a53f8 fix(deps): update kotlin (#4444)
* fix(deps): update kotlin

* Fix 'exhaustive when' issue

* Fix lint issues

* Fix issue in merge conflict resolving.

---------

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>
2025-04-02 15:55:50 +02:00
Jorge Martin Espinosa c3ff9c9bda Enable Rust trace log packs (#4514)
* Enable Rust trace log packs

This is a way to forcefully enable trace logs only for a few Rust crates in a safe way
2025-04-02 11:21:53 +00:00
Jorge Martin Espinosa b2791d5aad Make sure the live timeline is destroyed before clearing a room's cache (#4515)
* Make sure the live timeline is destroyed before clearing a room's cache

According to the SDK team, having a live timeline could lead to DB issues.

* Try to destroy all room and list item references when the `RustRoomFactory` is destroyed

It may also have some effect on DB corruption issues we've seen
2025-04-02 12:58:40 +02:00
Jorge Martin Espinosa d7ca529db1 Make RustMatrixClient.close asynchronous (#4513)
* Make `RustMatrixClient.close` asynchronous

This is a safer way to destroy the Rust instances associated to it. Since `MatrixClient` doesn't implement `Closeable` anymore, the method has been renamed to `destroy` to follow the existing naming in the project.
2025-04-02 09:52:37 +00:00
Jorge Martin Espinosa 2e191de343 Add WakeLock to dismiss ringing call screen when call is cancelled (#4478)
* Add `WakeLock` to dismiss ringing call screen when call is cancelled

We had already some checks in place to automatically cancel a ringing call notification/screen when the call was no longer active, but the `RoomInfo` updates weren't being processed because the app was 'paused'.

The partial wakelock should ensure these room info updates are handled.

* Add mutual exclusion to `ActiveCallManager` methods to improve thread safety
2025-04-02 09:51:39 +00:00
renovate[bot] 1517e534a7 fix(deps): update dependency io.sentry:sentry-android to v8.6.0 (#4509)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-02 10:53:19 +02:00
Benoit Marty 1fdb590ece Improve TextFieldDialog (#4512)
* Extract TextFieldDialog to its own file (no other change).

* Add TextFieldDialogPreview

Enhance TextFieldDialog

* Let RoomMembersModerationView use TextFieldDialog

* Update screenshots

* Konsist.

* Add modifier parameter.

---------

Co-authored-by: ElementBot <android@element.io>
2025-04-02 10:05:56 +02:00
renovate[bot] 5c2a069c95 fix(deps): update dependency com.posthog:posthog-android to v3.13.1 (#4516)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-02 08:20:24 +02:00
Benoit Marty 3bff64b92a Add kick (remove) confirmation and reason (#4507)
* Add confirmation dialog when kicking someone, ith ability to provide a reason.

Also add the reason for banning people.

* Fix padding issue in dialogs.

* Improve TextField in dialog.

* Update screenshots

* Fix tests

* Format and import

* Add missing UI tests.

* Use `needsConfirmation` as it's already used in the code base.

---------

Co-authored-by: ElementBot <android@element.io>
2025-04-01 11:38:46 +02:00
Jorge Martin Espinosa 3b359483a1 Add video autoplay to media gallery (#4499)
* Add video autoplay when opening the video from either the timeline or the media gallery

* Only autoplay when the video is first displayed
2025-04-01 07:44:06 +00:00
renovate[bot] 5a0765833f fix(deps): update dependency com.google.firebase:firebase-bom to v33.12.0 (#4508)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-01 09:38:28 +02:00
ElementBot c3ee00ed09 Sync Strings from Localazy (#4506)
Co-authored-by: bmarty <3940906+bmarty@users.noreply.github.com>
2025-03-31 10:58:46 +02:00
Benoit Marty 348f787058 Timeline header: ensure that the decoration is clickable (#4495)
* Timeline header: ensure that the decoration is clickable, and properly fix the icon rendering.

* Update screenshots

---------

Co-authored-by: ElementBot <android@element.io>
2025-03-28 17:28:24 +01:00
Benoit Marty d75b249bd7 Use handy buildConfigFieldStr. (#4501) 2025-03-28 16:54:16 +01:00
renovate[bot] fe5aab6588 fix(deps): update dependency io.element.android:element-call-embedded to v0.9.0 (#4498)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-28 16:26:28 +01:00
Benoit Marty a0b4e7388b Update store description. (#4496) 2025-03-28 15:53:10 +01:00
ganfra 07fb187b3d Merge pull request #4488 from element-hq/renovate/media3
fix(deps): update media3 to v1.6.0
2025-03-28 15:10:53 +01:00
Benoit Marty b7ff9a5310 Update screenshots (#4497)
Co-authored-by: ElementBot <android@element.io>
2025-03-28 14:50:37 +01:00
renovate[bot] cb6473e525 fix(deps): update media3 to v1.6.0 2025-03-28 14:42:54 +01:00
Benoit Marty f3a64a1ba8 Log tha packageId which is currently built. (#4494) 2025-03-28 12:58:10 +01:00
ganfra 97bd7b7479 Change (mention span) : rework and add more cases (#4476)
* change(mention span) : improve truncation logic

* change(mention span) : fix theme switching

* change(mention span) : start to pillify permalinks

* change(mention span) : use permalink directly

* change(mention span) : start improving mention type

* change(mention span) : use the appropriate MentionSpanProvider methods

* change(mention span) : introduce MentionSpanFormatter

* change(mention span) : introduce MentionSpanUpdater

* change(mention span) : Improve RoomNameCaches

* change(mention span) : remove useless param on HtmlConverterProvider

* change(mention span) : fix some remaining issues on the composer

* change(mention span) : remove pillifiedBody

* change(mention span) : fix some issues with pillification

* change(mention span) : fix getMentionsSpans

* change(mention span) : make sure all tests passes

* change(mention span) : remove the coroutine from the caches and a MentionSpanFormatterTest

* change(mention span) : add more tests on pillification

* change(mention span) : clean up

* Update screenshots

* change(mention span) : remove unexpected print

* change(mention span) : remove default values in constructor of TimelineTextBasedContent classes

* Update screenshots

---------

Co-authored-by: ElementBot <android@element.io>
2025-03-28 11:20:32 +01:00
renovate[bot] c98a8c30a9 fix(deps): update dependencyanalysis to v2.13.3 (#4493)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-28 08:16:16 +01:00
Benoit Marty 9f52075a66 Remove nightly_enterprise.yml. (#4492) 2025-03-27 21:08:15 +01:00
ganfra a8051ff138 Merge pull request #4484 from element-hq/renovate/compose.bom
fix(deps): update dependency androidx.compose:compose-bom to v2025.03.01
2025-03-27 18:40:55 +01:00
Jorge Martin Espinosa 058d8f297f Limit the text length in the 'in reply to' preview (#4491)
* Limit the text length in the 'in reply to' preview

Otherwise, very long texts with no line breaks can cause a Compose crash
2025-03-27 14:37:38 +01:00
renovate[bot] 11eb5bf56f fix(deps): update dependency com.posthog:posthog-android to v3.13.0 (#4469)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-27 14:29:58 +01:00
Jorge Martin Espinosa fa6c5e6a92 Improve touch indicators for the user info UI in the timeline (#4482)
* For the user info in the timeline items, display the ripple effects according to the bounds and shape of the user avatar and display name

* Fix ripple in other screens too
2025-03-27 14:09:47 +01:00
Benoit Marty 28ee1f8b02 Check if Manifest.permission.REQUEST_INSTALL_PACKAGES is in the manifest before invoking canRequestPackageInstalls. (#4490) 2025-03-27 12:58:44 +01:00
renovate[bot] 6123650f3e fix(deps): update dependency org.maplibre.gl:android-sdk to v11.8.5 (#4487)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-27 12:12:12 +01:00