Commit Graph

10447 Commits

Author SHA1 Message Date
Benoit Marty
fb4bb4e773 Merge commit from fork
* Check validity of Element Call url host.

* Prepare release 25.04.2
2025-04-17 11:58:13 +02:00
Benoit Marty
9735f9ae67 Changelog for version 25.04.1 2025-04-17 11:57:14 +02:00
Benoit Marty
a52e8559fd Merge branch 'release/25.04.1' into main 2025-04-11 16:02:25 +02:00
Benoit Marty
768716c1cd Adding fastlane file for version 25.04.1 2025-04-11 16:02:19 +02:00
Benoit Marty
e46e98e26e Setting version for the release 25.04.1 2025-04-11 16:01:58 +02:00
Benoit Marty
dbb96c5212 Ensure that we have only one single instance of SeenInviteStore per session (#4577)
* Ensure that we have only one single instance of SeenInviteStore per session. Fixes #4558

Fix crash:
java.lang.IllegalStateException: There are multiple DataStores active for the same file: /data/user/0/io.element.android.x/files/datastore/session_0ebb139587b6d940_seen-invites.preferences_pb. You should either maintain your DataStore as a singleton or confirm that there is no two DataStore's active on the same file (by confirming that the scope is cancelled).

* Inject the SeenInvitesStore to reduce boilerplate code.
2025-04-11 13:37:44 +00:00
ganfra
ce0bac55c5 Merge pull request #4574 from element-hq/feature/fga/advanced_settings_moderation_and_safety
change (preferences) : new moderation and safety settings
2025-04-11 14:38:46 +02:00
ElementBot
883103d71d Update screenshots 2025-04-11 11:13:42 +00:00
ganfra
4982d933d8 change (preferences) : some more final tweaks after review. 2025-04-11 13:00:44 +02:00
Benoit Marty
a1d8322738 Introduce PushHistoryService to store data about the received push (#4573)
* Introduce PushHistoryService to store data about the received push

Add a push database.

* Update screenshots

* Improve preview.

* Update screenshots

* Add missing test.

* Add test for PushHistoryView

* Fix configuration issue.

Was: w: /libraries/troubleshoot/impl/src/test/kotlin/io/element/android/libraries/troubleshoot/impl/history/PushHistoryPresenterTest.kt:35:27 Cannot access class 'PushProvider' in the expression type. While it may work, this case indicates a configuration mistake and can lead to avoidable compilation errors, so it may be forbidden soon. Check your module classpath for missing or conflicting dependencies.

---------

Co-authored-by: ElementBot <android@element.io>
2025-04-11 12:56:54 +02:00
ElementBot
034b68c930 Update screenshots 2025-04-11 09:13:28 +00:00
ganfra
3209431555 change (preferences) : fix warning 2025-04-11 11:00:20 +02:00
renovate[bot]
a0b619007a fix(deps): update dependencyanalysis to v2.16.0 (#4575)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-11 08:26:16 +02:00
ganfra
497022291b Merge branch 'develop' into feature/fga/advanced_settings_moderation_and_safety 2025-04-10 18:32:04 +02:00
ganfra
5fd987a116 change (preferences) : clean and fix tests 2025-04-10 18:10:50 +02:00
ganfra
64f139750c change (preferences) : bind timeline media preview with join rule 2025-04-10 18:10:37 +02:00
renovate[bot]
a525881821 fix(deps): update dependency org.maplibre.gl:android-sdk to v11.8.6 (#4567)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-10 09:12:37 +02:00
ganfra
b9eb4c49b7 change (preferences) : bind timeline media preview settings 2025-04-09 21:30:54 +02:00
ganfra
e231ef7a0e change (preferences) : hide invite avatars (room and sender) 2025-04-09 21:26:24 +02:00
renovate[bot]
88727098ec fix(deps): update kotlin (#4552)
* fix(deps): update kotlin

* Fix deprecation warning

* Remove this workaround, it's not needed anymore, and was causing a compilation error:

* What went wrong:
A problem occurred configuring project ':libraries:session-storage:impl'.
> Failed to notify project evaluation listener.
   > Element 'kspDebugKotlin' of type 'com.google.devtools.ksp.gradle.KspAATask_Decorated' from container 'task set' cannot be cast to 'org.jetbrains.kotlin.gradle.tasks.KotlinCompile'.
   > Element 'kspReleaseKotlin' of type 'com.google.devtools.ksp.gradle.KspAATask_Decorated' from container 'task set' cannot be cast to 'org.jetbrains.kotlin.gradle.tasks.KotlinCompile'.

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Benoit Marty <benoit@matrix.org>
2025-04-09 16:45:48 +02:00
renovate[bot]
adf378cc0c fix(deps): update dependency io.mockk:mockk to v1.14.0 (#4562)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-09 15:51:00 +02:00
renovate[bot]
540067fb73 fix(deps): update dependencyanalysis to v2.15.0 (#4558)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-09 11:14:43 +02:00
ganfra
119d09c494 change (preferences) : move from dev settings to advanced settings and add new safety values 2025-04-08 20:27:47 +02:00
Benoit Marty
32750a3262 Changelog for version 25.04.0 2025-04-08 16:31:51 +02:00
Benoit Marty
44e922aa21 Merge tag 'v25.04.0' into develop
tag
2025-04-08 15:50:03 +02:00
Benoit Marty
4361139c05 Merge branch 'release/25.04.0' into main 2025-04-08 15:49:39 +02:00
Benoit Marty
e07f7a136e Adding fastlane file for version 25.04.0 2025-04-08 15:49:33 +02:00
Benoit Marty
8a35db0b79 Setting version for the release 25.04.0 2025-04-08 15:42:29 +02:00
renovate[bot]
9981ae7b1e fix(deps): update dependency org.matrix.rustcomponents:sdk-android to v25.4.7 (#4548)
* fix(deps): update dependency org.matrix.rustcomponents:sdk-android to v25.4.8

* Fix API breaks:

- Add `ReplyParameters` class and parameters to send functions.
- Remove outdated OIDC related values.
- Stop pre-processing the timeline to add the timeline start item, this is already done by the SDK.

* Use the new function to reply to messages in a quick reply from a notification, however:

1. We don't have the thread id value at the moment since the SDK does not provide it yet.
2. The replied to event id wasn't being passed from the notification info.

* Remove also timeline start virtual item for DMs, since this wasn't present before either

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Jorge Martín <jorgem@element.io>
2025-04-08 14:21:49 +02:00
Benoit Marty
13a0467da2 Update wording for push provider support test. (#4079) (#4553) 2025-04-08 12:01:52 +02:00
Robin
3bd7fd85e4 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
2f0eb9f068 Click on userId / room alias to copy value to clipboard. (#4549) 2025-04-08 09:23:02 +02:00
renovate[bot]
034ff3e2e7 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
44f0c23149 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
60ef6c6d89 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
9390964b01 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
f8fb9d0c05 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
607d98940d 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
dac0eb6762 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]
a63dffdcef 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
3ded30e8fd 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]
1b70694afd 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
ef8eeb804e 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
77a7c0b2e5 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
3e90b3c26d 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
da414b625e 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]
35be770c89 fix(deps): update dependencyanalysis to v2.14.0 2025-04-02 22:52:30 +00:00
renovate[bot]
8639adb7b9 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
6a180cb279 Fix warnings in InMemoryAppPreferencesStore (#4523) 2025-04-02 18:03:14 +02:00
Benoit Marty
a3ce1d484d 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