Commit graph

10453 commits

Author SHA1 Message Date
Jorge Martin Espinosa
cbfc5e0955
Improve onboarding docs: (#4578)
- Make clear the contributing guide for Synapse is for a whole different project, update the link.
- Also clarify building the SDK locally is not mandatory.
2025-04-14 10:30:01 +02:00
renovate[bot]
2a7e54a663
fix(deps): update core to v1.16.0 (#4564)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-14 09:41:30 +02:00
renovate[bot]
cbfd77b7b2
fix(deps): update dependency app.cash.molecule:molecule-runtime to v2.1.0 (#4585)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-14 09:19:53 +02:00
renovate[bot]
61d4e754d5
fix(deps): update dependency androidx.sqlite:sqlite-ktx to v2.5.0 (#4568)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-14 09:19:33 +02:00
Jorge Martin Espinosa
ce6febccec
Upgrade Rust bindings to v25.04.11 (#4580)
* Upgrade Rust bindings to `v25.04.11`

* Rename `mapMessageKind` back to `mapMessageType`

* Fix tests and fixtures
2025-04-11 18:22:16 +02:00
Jorge Martin Espinosa
a6d7741a60
Use in-call volume and mode for EC, allow external audio devices (#4481)
* Use in-call volume and mode for EC:
* Try routing audio to external device
* Place speaker before earpiece in list of audio devices
2025-04-11 16:46:51 +02:00
Benoit Marty
6cf6d55e7a Changelog for version 25.04.1 2025-04-11 16:38:23 +02:00
Benoit Marty
1b819a88f6 Merge tag 'v25.04.1' into develop
tag
2025-04-11 16:07:26 +02:00
Benoit Marty
01adf50d59 Merge branch 'release/25.04.1' into main 2025-04-11 16:02:25 +02:00
Benoit Marty
6f37f615b1 Adding fastlane file for version 25.04.1 2025-04-11 16:02:19 +02:00
Benoit Marty
de23fd6f19 Setting version for the release 25.04.1 2025-04-11 16:01:58 +02:00
Benoit Marty
91b7617891
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
62a2c2f715
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
0964b7b6ce Update screenshots 2025-04-11 11:13:42 +00:00
ganfra
1fe541ddfc change (preferences) : some more final tweaks after review. 2025-04-11 13:00:44 +02:00
Benoit Marty
c7f0566dc1
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
e646b70b85 Update screenshots 2025-04-11 09:13:28 +00:00
ganfra
f79452f3bf change (preferences) : fix warning 2025-04-11 11:00:20 +02:00
renovate[bot]
2b1a66ff37
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
322dd9a945 Merge branch 'develop' into feature/fga/advanced_settings_moderation_and_safety 2025-04-10 18:32:04 +02:00
ganfra
14681c56b7 change (preferences) : clean and fix tests 2025-04-10 18:10:50 +02:00
ganfra
5725e328fe change (preferences) : bind timeline media preview with join rule 2025-04-10 18:10:37 +02:00
renovate[bot]
84ff284142
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
ca1c2ae4a4 change (preferences) : bind timeline media preview settings 2025-04-09 21:30:54 +02:00
ganfra
58fc1f9a0e change (preferences) : hide invite avatars (room and sender) 2025-04-09 21:26:24 +02:00
renovate[bot]
1dcd6088d3
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]
bec923934b
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]
28262f2917
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
546cd20e51 change (preferences) : move from dev settings to advanced settings and add new safety values 2025-04-08 20:27:47 +02:00
Benoit Marty
6b112f4e56 Changelog for version 25.04.0 2025-04-08 16:31:51 +02:00
Benoit Marty
d5d437d55c Merge tag 'v25.04.0' into develop
tag
2025-04-08 15:50:03 +02:00
Benoit Marty
2c67c01f10 Merge branch 'release/25.04.0' into main 2025-04-08 15:49:39 +02:00
Benoit Marty
e4661dbe85 Adding fastlane file for version 25.04.0 2025-04-08 15:49:33 +02:00
Benoit Marty
e138b5f2c3 Setting version for the release 25.04.0 2025-04-08 15:42:29 +02:00
renovate[bot]
b9385ce382
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
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