Skip to content

Commit 5739a28

Browse files
committed
Merge branch 'release/25.07.1' into main
2 parents 86ec2f5 + febb889 commit 5739a28

File tree

440 files changed

+2528
-2531
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

440 files changed

+2528
-2531
lines changed

.github/dependabot.yml

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -10,17 +10,14 @@ updates:
1010
directory: "/"
1111
schedule:
1212
interval: "daily"
13-
ignore:
14-
- dependency-name: "*"
13+
open-pull-requests-limit: 0
1514
reviewers:
1615
- "element-hq/element-x-android-reviewers"
1716
# Updates for Gradle dependencies used in the app
1817
- package-ecosystem: "gradle"
1918
directory: "/"
2019
schedule:
2120
interval: "daily"
22-
open-pull-requests-limit: 200
23-
ignore:
24-
- dependency-name: "*"
21+
open-pull-requests-limit: 0
2522
reviewers:
2623
- "element-hq/element-x-android-reviewers"

.github/workflows/build.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@ jobs:
6969
retention-days: 5
7070
overwrite: true
7171
if-no-files-found: error
72-
- uses: rnkdsh/action-upload-diawi@605adbad0db6c000eee26adfd8fc128d7df8f7ab # v1.5.9
72+
- uses: rnkdsh/action-upload-diawi@993c2e9f871486114a171cf7fb40554716dac3c5 # v1.5.10
7373
id: diawi
7474
# Do not fail the whole build if Diawi upload fails
7575
continue-on-error: true

CHANGES.md

Lines changed: 76 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,79 @@
1+
Changes in Element X v25.07.0
2+
=============================
3+
4+
<!-- Release notes generated using configuration in .github/release.yml at v25.07.0 -->
5+
6+
## What's Changed
7+
### 🙌 Improvements
8+
* Change : handle invalid invite error by @ganfra in https://github.com/element-hq/element-x-android/pull/4909
9+
* Add ability to zoom on video. by @bmarty in https://github.com/element-hq/element-x-android/pull/4916
10+
* Change : sync moderation and safety preferences with server by @ganfra in https://github.com/element-hq/element-x-android/pull/4962
11+
### 🐛 Bugfixes
12+
* Restore `MarkdownEditText.focusSearch` override by @jmartinesp in https://github.com/element-hq/element-x-android/pull/4908
13+
* Fix duplicate usage of a `modifier` variable in `TextInputBox` by @jmartinesp in https://github.com/element-hq/element-x-android/pull/4928
14+
### 🗣 Translations
15+
* Sync Strings - new translations to Danish by @ElementBot in https://github.com/element-hq/element-x-android/pull/4913
16+
* Sync Strings by @ElementBot in https://github.com/element-hq/element-x-android/pull/4983
17+
### 🧱 Build
18+
* a11y: Add scripts to enable and disable the talkback service by @jmartinesp in https://github.com/element-hq/element-x-android/pull/4906
19+
* Update min api level to 33 for Element enterprise by @bmarty in https://github.com/element-hq/element-x-android/pull/4960
20+
### 🚧 In development 🚧
21+
* Rename module roomlist to home by @bmarty in https://github.com/element-hq/element-x-android/pull/4955
22+
* Home navigation bar by @bmarty in https://github.com/element-hq/element-x-android/pull/4964
23+
### Dependency upgrades
24+
* fix(deps): update dependency org.unifiedpush.android:connector to v3.0.10 by @renovate in https://github.com/element-hq/element-x-android/pull/4871
25+
* fix(deps): update dependency io.sentry:sentry-android to v8.14.0 by @renovate in https://github.com/element-hq/element-x-android/pull/4892
26+
* fix(deps): update dependency com.google.crypto.tink:tink-android to v1.18.0 by @renovate in https://github.com/element-hq/element-x-android/pull/4897
27+
* fix(deps): update wysiwyg to v2.38.4 by @renovate in https://github.com/element-hq/element-x-android/pull/4907
28+
* fix(deps): update dependency org.robolectric:robolectric to v4.15 by @renovate in https://github.com/element-hq/element-x-android/pull/4901
29+
* fix(deps): update dependency androidx.sqlite:sqlite-ktx to v2.5.2 by @renovate in https://github.com/element-hq/element-x-android/pull/4898
30+
* fix(deps): update dependency io.mockk:mockk to v1.14.4 by @renovate in https://github.com/element-hq/element-x-android/pull/4912
31+
* fix(deps): update dependency org.robolectric:robolectric to v4.15.1 by @renovate in https://github.com/element-hq/element-x-android/pull/4911
32+
* fix(deps): update dependency org.matrix.rustcomponents:sdk-android to v25.6.23 by @renovate in https://github.com/element-hq/element-x-android/pull/4917
33+
* fix(deps): update dependencyanalysis to v2.19.0 by @renovate in https://github.com/element-hq/element-x-android/pull/4932
34+
* fix(deps): update dependency org.jsoup:jsoup to v1.21.1 by @renovate in https://github.com/element-hq/element-x-android/pull/4914
35+
* fix(deps): update dependency org.matrix.rustcomponents:sdk-android to v25.6.25 by @renovate in https://github.com/element-hq/element-x-android/pull/4936
36+
* fix(deps): update dependency io.sentry:sentry-android to v8.15.0 by @renovate in https://github.com/element-hq/element-x-android/pull/4938
37+
* fix(deps): update dependency org.maplibre.gl:android-sdk to v11.11.0 by @renovate in https://github.com/element-hq/element-x-android/pull/4939
38+
* fix(deps): update dependency com.google.firebase:firebase-bom to v33.16.0 by @renovate in https://github.com/element-hq/element-x-android/pull/4945
39+
* fix(deps): update dependency io.sentry:sentry-android to v8.16.0 by @renovate in https://github.com/element-hq/element-x-android/pull/4941
40+
* Update sdk to version 25.7.1 by @bmarty in https://github.com/element-hq/element-x-android/pull/4966
41+
* Update haze to v1.6.6 by @renovate in https://github.com/element-hq/element-x-android/pull/4968
42+
* Update dependency com.google.gms:google-services to v4.4.3 by @renovate in https://github.com/element-hq/element-x-android/pull/4946
43+
* Update android.gradle.plugin to v8.11.0 by @renovate in https://github.com/element-hq/element-x-android/pull/4931
44+
* Update dependency io.element.android:element-call-embedded to v0.13.0 by @renovate in https://github.com/element-hq/element-x-android/pull/4969
45+
* Update dependency org.matrix.rustcomponents:sdk-android to v25.7.2 by @renovate in https://github.com/element-hq/element-x-android/pull/4967
46+
* Upgrade compose bom to 2025.06.01 by @bmarty in https://github.com/element-hq/element-x-android/pull/4970
47+
* Update kotlin by @renovate in https://github.com/element-hq/element-x-android/pull/4918
48+
* Update dependency io.element.android:element-call-embedded to v0.13.1 by @renovate in https://github.com/element-hq/element-x-android/pull/4977
49+
* Update dependency org.matrix.rustcomponents:sdk-android to v25.7.3 by @ganfra in https://github.com/element-hq/element-x-android/pull/4976
50+
### Others
51+
* a11y: Make isTalkbackActive() live. by @bmarty in https://github.com/element-hq/element-x-android/pull/4903
52+
* a11y: improve accessibility on grouped state events header. by @bmarty in https://github.com/element-hq/element-x-android/pull/4902
53+
* Room debug info by @bmarty in https://github.com/element-hq/element-x-android/pull/4904
54+
* [a11y] Improve accessibility of message composer by @bmarty in https://github.com/element-hq/element-x-android/pull/4900
55+
* refactor: Migrate SQLCipher Android to new API by @ShadowRZ in https://github.com/element-hq/element-x-android/pull/4874
56+
* Iterate on avatar to be able to render Space avatar. by @bmarty in https://github.com/element-hq/element-x-android/pull/4921
57+
* Simplify syncing the room list when receiving a push by @jmartinesp in https://github.com/element-hq/element-x-android/pull/4915
58+
* Add unit test on ChooseAccountProviderState so that the coverage is above 90% by @bmarty in https://github.com/element-hq/element-x-android/pull/4924
59+
* Iterate on avatar to be able to render Space avatar Part2 by @bmarty in https://github.com/element-hq/element-x-android/pull/4923
60+
* Introduce SessionEnterpriseService. by @bmarty in https://github.com/element-hq/element-x-android/pull/4925
61+
* Simplify message composer layout by @jmartinesp in https://github.com/element-hq/element-x-android/pull/4884
62+
* Display error dialog if Element Call can't be joined by @jmartinesp in https://github.com/element-hq/element-x-android/pull/4919
63+
* misc : simplify timeline diff logic by @ganfra in https://github.com/element-hq/element-x-android/pull/4930
64+
* Navigation bar component by @bmarty in https://github.com/element-hq/element-x-android/pull/4940
65+
* a11y: improve content description of the close buttons by @bmarty in https://github.com/element-hq/element-x-android/pull/4943
66+
* Element Call: remove top app bar and add it inside the webview instead by @jmartinesp in https://github.com/element-hq/element-x-android/pull/4927
67+
* Replace the Report a problem button with the app's version on the on boading screen. by @bmarty in https://github.com/element-hq/element-x-android/pull/4944
68+
* Split RoomListPresenter and introduce HomePresenter by @bmarty in https://github.com/element-hq/element-x-android/pull/4958
69+
* Add "View avatar" content description to all clickable Avatar that will open the avatar preview. by @bmarty in https://github.com/element-hq/element-x-android/pull/4948
70+
* [a11y] Ensure that the focus is not lost when the send button state change by @bmarty in https://github.com/element-hq/element-x-android/pull/4975
71+
* [a11y] add missing heading() qualifier on screen titles and other headers by @bmarty in https://github.com/element-hq/element-x-android/pull/4980
72+
* misc (tracing) : add new TraceLogPack.Notification by @ganfra in https://github.com/element-hq/element-x-android/pull/4981
73+
74+
75+
**Full Changelog**: https://github.com/element-hq/element-x-android/compare/v25.06.3...v25.07.0
76+
177
Changes in Element X v25.06.3
278
=============================
379

README.md

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,11 +8,9 @@
88

99
# Element X Android
1010

11-
Element X Android is a [Matrix](https://matrix.org/) Android Client provided by [element.io](https://element.io/).
11+
Element X Android is the next-generation [Matrix](https://matrix.org/) client provided by [Element](https://element.io/).
1212

13-
The application is a total rewrite of [Element-Android](https://github.com/element-hq/element-android) using the [Matrix Rust SDK](https://github.com/matrix-org/matrix-rust-sdk) underneath and targeting devices running Android 7+. The UI layer is written using [Jetpack Compose](https://developer.android.com/jetpack/compose), and the navigation is managed using [Appyx](https://github.com/bumble-tech/appyx).
14-
15-
Learn more about why we are building Element X in our blog post: [https://element.io/blog/element-x-experience-the-future-of-element/](https://element.io/blog/element-x-experience-the-future-of-element/).
13+
Compared to the previous-generation [Element Classic](https://github.com/element-hq/element-android), the application is a total rewrite, using the [Matrix Rust SDK](https://github.com/matrix-org/matrix-rust-sdk) underneath and targeting devices running Android 7+. The UI layer is written using [Jetpack Compose](https://developer.android.com/jetpack/compose), and the navigation is managed using [Appyx](https://github.com/bumble-tech/appyx).
1614

1715
[<img src="https://play.google.com/intl/en_us/badges/static/images/badges/en_badge_web_generic.png" alt="Get it on Google Play" height="80">](https://play.google.com/store/apps/details?id=io.element.android.x)[<img src="https://fdroid.gitlab.io/artwork/badge/get-it-on.png" alt="Get it on F-Droid" height="80">](https://f-droid.org/packages/io.element.android.x)
1816

@@ -72,7 +70,7 @@ We're doing this as a way to share code between platforms and while we've seen p
7270

7371
## Status
7472

75-
This project is in an early rollout and migration phase.
73+
This project is actively developed and supported. New users are recommended to use Element X instead of the previous-generation app.
7674

7775
## Minimum SDK version
7876

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
Main changes in this version: improvements and bug fixes.
2+
Full changelog: https://github.com/element-hq/element-x-android/releases

features/home/impl/src/main/kotlin/io/element/android/features/home/impl/HomeNavigationBarItem.kt

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -16,18 +16,18 @@ enum class HomeNavigationBarItem(
1616
val labelRes: Int,
1717
) {
1818
Chats(
19-
labelRes = R.string.screen_roomlist_main_space_title
19+
labelRes = R.string.screen_home_tab_chats
2020
),
2121
Spaces(
22-
// TODO Create a new entry in Localazy
23-
labelRes = R.string.screen_roomlist_main_space_title
22+
labelRes = R.string.screen_home_tab_spaces
2423
);
2524

2625
@Composable
27-
fun icon() = when (this) {
28-
Chats -> CompoundIcons.ChatSolid()
29-
// TODO Spaces -> CompoundIcons.Workspace()
30-
Spaces -> CompoundIcons.Code()
26+
fun icon(
27+
isSelected: Boolean,
28+
) = when (this) {
29+
Chats -> if (isSelected) CompoundIcons.ChatSolid() else CompoundIcons.Chat()
30+
Spaces -> if (isSelected) CompoundIcons.WorkspaceSolid() else CompoundIcons.Workspace()
3131
}
3232

3333
companion object {

features/home/impl/src/main/kotlin/io/element/android/features/home/impl/HomeView.kt

Lines changed: 30 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ package io.element.android.features.home.impl
1212
import androidx.activity.compose.BackHandler
1313
import androidx.compose.foundation.background
1414
import androidx.compose.foundation.layout.Box
15+
import androidx.compose.foundation.layout.PaddingValues
1516
import androidx.compose.foundation.layout.calculateEndPadding
1617
import androidx.compose.foundation.layout.calculateStartPadding
1718
import androidx.compose.foundation.layout.consumeWindowInsets
@@ -56,7 +57,9 @@ import io.element.android.libraries.designsystem.preview.PreviewsDayNight
5657
import io.element.android.libraries.designsystem.theme.components.FloatingActionButton
5758
import io.element.android.libraries.designsystem.theme.components.Icon
5859
import io.element.android.libraries.designsystem.theme.components.NavigationBar
60+
import io.element.android.libraries.designsystem.theme.components.NavigationBarIcon
5961
import io.element.android.libraries.designsystem.theme.components.NavigationBarItem
62+
import io.element.android.libraries.designsystem.theme.components.NavigationBarText
6063
import io.element.android.libraries.designsystem.theme.components.Scaffold
6164
import io.element.android.libraries.designsystem.theme.components.Text
6265
import io.element.android.libraries.designsystem.utils.snackbar.SnackbarHost
@@ -179,6 +182,15 @@ private fun HomeScaffold(
179182
displayFilters = roomListState.displayFilters && state.currentHomeNavigationBarItem == HomeNavigationBarItem.Chats,
180183
filtersState = roomListState.filtersState,
181184
canReportBug = state.canReportBug,
185+
modifier = if (state.isSpaceFeatureEnabled) {
186+
Modifier.hazeEffect(
187+
state = hazeState,
188+
style = HazeMaterials.thick(),
189+
)
190+
} else {
191+
Modifier
192+
.background(ElementTheme.colors.bgCanvasDefault)
193+
}
182194
)
183195
},
184196
bottomBar = {
@@ -188,23 +200,25 @@ private fun HomeScaffold(
188200
modifier = Modifier
189201
.hazeEffect(
190202
state = hazeState,
191-
style = HazeMaterials.regular(),
203+
style = HazeMaterials.thick(),
192204
)
193205
) {
194206
HomeNavigationBarItem.entries.forEach { item ->
207+
val isSelected = state.currentHomeNavigationBarItem == item
195208
NavigationBarItem(
196-
selected = state.currentHomeNavigationBarItem == item,
209+
selected = isSelected,
197210
onClick = {
198211
state.eventSink(HomeEvents.SelectHomeNavigationBarItem(item))
199212
},
200213
icon = {
201-
Icon(
202-
imageVector = item.icon(),
203-
contentDescription = null
214+
NavigationBarIcon(
215+
imageVector = item.icon(isSelected),
204216
)
205217
},
206218
label = {
207-
Text(stringResource(item.labelRes))
219+
NavigationBarText(
220+
text = stringResource(item.labelRes),
221+
)
208222
}
209223
)
210224
}
@@ -223,15 +237,18 @@ private fun HomeScaffold(
223237
onConfirmRecoveryKeyClick = onConfirmRecoveryKeyClick,
224238
onRoomClick = ::onRoomClick,
225239
onCreateRoomClick = onCreateRoomClick,
226-
// FAB height is 56dp, bottom padding is 16dp, we add 8dp as extra margin -> 56+16+8 = 80,
227-
// and include provided bottom padding
228-
contentBottomPadding = 80.dp + padding.calculateBottomPadding(),
240+
contentPadding = PaddingValues(
241+
// FAB height is 56dp, bottom padding is 16dp, we add 8dp as extra margin -> 56+16+8 = 80,
242+
// and include provided bottom padding
243+
bottom = 80.dp + padding.calculateBottomPadding(),
244+
top = padding.calculateTopPadding()
245+
),
229246
modifier = Modifier
230247
.padding(
231-
top = padding.calculateTopPadding(),
232-
bottom = 0.dp,
233-
start = padding.calculateStartPadding(LocalLayoutDirection.current),
234-
end = padding.calculateEndPadding(LocalLayoutDirection.current),
248+
PaddingValues(
249+
start = padding.calculateStartPadding(LocalLayoutDirection.current),
250+
end = padding.calculateEndPadding(LocalLayoutDirection.current),
251+
)
235252
)
236253
.consumeWindowInsets(padding)
237254
.hazeSource(state = hazeState)

0 commit comments

Comments
 (0)