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