Commit graph

10477 commits

Author SHA1 Message Date
Jorge Martin Espinosa
3b35d96e1a
Fix ringing calls not stopping when the other user cancels the call (#4613)
* Fix ringing calls not being automatically canceled

This will keep the sync active while the user is screening an incoming call, allowing receiving a call cancellation event, which will terminate the incoming call ringing early.

* Add extra logs to help debugging ringing call issues.
2025-04-22 11:30:10 +00:00
renovate[bot]
75cb3156a1
fix(deps): update android.gradle.plugin to v8.9.2 (#4615)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-22 10:54:27 +02:00
renovate[bot]
99846c4e1d
fix(deps): update dependency com.posthog:posthog-android to v3.14.0 (#4616)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-22 09:09:32 +02:00
ElementBot
e3a32ba52e
Sync Strings from Localazy (#4612)
Co-authored-by: bmarty <3940906+bmarty@users.noreply.github.com>
2025-04-22 08:57:00 +02:00
Benoit Marty
bacfa09916
[a11y] Make more items focusable (#4605)
* Fix settings entry point not available when there is no avatar on the account. Fixes #4599.

* Use Ktx extension `String.toUri()`

* Allow screen reader to focus on the user avatar to allow editing it.

* Fix import order
2025-04-22 08:50:50 +02:00
ganfra
cb926ee9c5
Merge pull request #4565 from element-hq/renovate/compose.bom
fix(deps): update dependency androidx.compose:compose-bom to v2025.04.00
2025-04-18 13:59:00 +02:00
renovate[bot]
466d5223aa
fix(deps): update dependency io.sentry:sentry-android to v8.8.0 (#4557)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-18 13:58:42 +02:00
renovate[bot]
47c7a74ff4
fix(deps): update dagger to v2.56.2 (#4603)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-17 13:58:54 +02:00
Benoit Marty
dc64d9cf74
Merge commit from fork
* Check validity of Element Call url host.

* Prepare release 25.04.2
2025-04-17 11:39:38 +02:00
Benoit Marty
be1c9b793b
Fix audio output selection for Element Call (#4602)
* Fix audio output selection.

* Ensure that Element Call audio output uses a new connected device, even during a call.
Also add a few logs.

* Extract functions.

* Add more log and protect from crash.

* Revert formatting change

* Update screenshots

---------

Co-authored-by: ElementBot <android@element.io>
2025-04-17 10:36:42 +02:00
Benoit Marty
7ed362b9db
Push: improve Push history screen, log and stored data (#4601)
* Add adb tools to help with doze mode and app standby

* Add info about the device state when an error occurs in push.

* Keep more events in the DB.

* Push history: add confirmation dialog when resetting the data

* Push history: add a filter to see only the errors

* Update screenshots

* Push history: print out invalid/ignored data received.

* Increase log level for push, to make such log more visible.
It also appears that sometimes Timber.d are not present in the rageshakes.

* Log priority

* Do not include device state for invalid/ignored event.

* Fix tests.

* Fix format issue.

* Fix mistake in code blocks and do not filter when not necessary.

* Improve formatting and add missing unit test.

* Reduce nesting of blocks.

---------

Co-authored-by: ElementBot <android@element.io>
2025-04-16 16:37:32 +02:00
ganfra
653416fa34
Merge pull request #4591 from element-hq/renovate/io.element.android-emojibase-bindings-1.x
fix(deps): update dependency io.element.android:emojibase-bindings to v1.4.2
2025-04-16 16:02:17 +02:00
Jorge Martin Espinosa
a11ca17242
Fetch the initial ignored user list manually (#4598)
The SDK won't return it automatically, so we need to fetch it manually.
2025-04-16 12:55:18 +02:00
renovate[bot]
f74486f525
chore(deps): update danger/danger-js action to v13.0.4 (#4596)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-16 10:05:55 +02:00
Jorge Martin Espinosa
740c28eda9
Improve accessibility of the timeline (#4579)
* Make whole messages selectable and readable as a single unit when possible.
* Make most UI components not clickable when talkback is enabled.
* Make voice messages work with talkback too.
* Read grouped state events even if the events are collapsed.
* Move image and video item actions to the timeline item.
* Improve accessibility in the message context menu too
* Fix a11y issue on add attachment button.
* Add `contentDescription` to file icon so it's read aloud

---------

Co-authored-by: Benoit Marty <benoit@matrix.org>
2025-04-15 15:28:29 +00:00
Jorge Martin Espinosa
f9c00ac99d
Send SVG images as files (#4595)
Since Android doesn't have support for SVG files we can't create a thumbnail or get the dimensions and other metadata needed for the `m.image` message type, so we need to send them as plain files
2025-04-15 17:05:09 +02:00
renovate[bot]
d53f0480c7
fix(deps): update media3 to v1.6.1 (#4592)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-15 14:19:35 +02:00
Benoit Marty
e3960e78da
Upate datastore to 1.1.4 (#4551)
* datastore 1.1.4

* Allow license "BSD-3-Clause"

Fixes:
ERROR: SPDX identifier 'BSD-3-Clause' is NOT allowed

* I cannot repro the issue
2025-04-14 14:59:19 +00:00
renovate[bot]
e0b0e030b3
fix(deps): update dependency io.element.android:emojibase-bindings to v1.4.2 2025-04-14 14:37:47 +00:00
ganfra
34b9348fa5
Merge pull request #4581 from element-hq/feature/fga/advanced_settings_theme_rework
change (preferences) : use PreferenceDropdown for appearance
2025-04-14 15:19:48 +02:00
ElementBot
d9bfcc6c52
Sync Strings (#4590)
* Sync Strings from Localazy

* Fix strings usage after some were moved

* Fix Norwegian string that was causing lint to fail

* Update screenshots

---------

Co-authored-by: bmarty <3940906+bmarty@users.noreply.github.com>
Co-authored-by: Jorge Martín <jorgem@element.io>
2025-04-14 11:24:28 +02:00
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
ElementBot
d5118124be Update screenshots 2025-04-11 15:24:12 +00:00
ganfra
a4fcc476d1 change (preferences) : use PreferenceDropdown for appearance (and add some tests) 2025-04-11 17:09:31 +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
renovate[bot]
0e7b571e21
fix(deps): update dependency androidx.compose:compose-bom to v2025.04.00 2025-04-09 19:32:11 +00: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