Skip to content

Commit 441fc96

Browse files
committed
Merge branch 'release/26.01.1'
2 parents 1325bdc + 43d93a2 commit 441fc96

File tree

100 files changed

+1915
-169
lines changed

Some content is hidden

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

100 files changed

+1915
-169
lines changed

CHANGES.md

Lines changed: 142 additions & 0 deletions
Large diffs are not rendered by default.

appconfig/src/main/kotlin/io/element/android/appconfig/RageshakeConfig.kt

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,4 +25,9 @@ object RageshakeConfig {
2525
* The maximum size of the upload request. Default value is just below CloudFlare's max request size.
2626
*/
2727
const val MAX_LOG_UPLOAD_SIZE = 50 * 1024 * 1024L
28+
29+
/**
30+
* The maximum size of a single log file.
31+
*/
32+
const val MAX_LOG_CONTENT_SIZE = 100 * 1024 * 1024L
2833
}
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
Main changes in this version: iterated on spaces, improved the room list stability and performance, fix an issue with the cached well-known config.
2+
Full changelog: https://github.com/element-hq/element-x-android/releases

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

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,7 @@ import io.element.android.features.home.impl.model.RoomListRoomSummaryProvider
4646
import io.element.android.features.home.impl.model.RoomSummaryDisplayType
4747
import io.element.android.features.home.impl.roomlist.RoomListEvents
4848
import io.element.android.libraries.core.extensions.orEmpty
49+
import io.element.android.libraries.core.extensions.toSafeLength
4950
import io.element.android.libraries.designsystem.atomic.atoms.UnreadIndicatorAtom
5051
import io.element.android.libraries.designsystem.atomic.molecules.InviteButtonsRowMolecule
5152
import io.element.android.libraries.designsystem.components.avatar.Avatar
@@ -227,7 +228,7 @@ private fun NameAndTimestampRow(
227228
// Name
228229
Text(
229230
style = ElementTheme.typography.fontBodyLgMedium,
230-
text = name ?: stringResource(id = CommonStrings.common_no_room_name),
231+
text = name?.toSafeLength(ellipsize = true) ?: stringResource(id = CommonStrings.common_no_room_name),
231232
fontStyle = FontStyle.Italic.takeIf { name == null },
232233
color = ElementTheme.colors.roomListRoomName,
233234
maxLines = 1,
@@ -380,7 +381,7 @@ private fun InviteNameAndIndicatorRow(
380381
Text(
381382
modifier = Modifier.weight(1f),
382383
style = ElementTheme.typography.fontBodyLgMedium,
383-
text = name ?: stringResource(id = CommonStrings.common_no_room_name),
384+
text = name?.toSafeLength(ellipsize = true) ?: stringResource(id = CommonStrings.common_no_room_name),
384385
fontStyle = FontStyle.Italic.takeIf { name == null },
385386
color = ElementTheme.colors.roomListRoomName,
386387
maxLines = 1,

features/linknewdevice/impl/src/main/kotlin/io/element/android/features/linknewdevice/impl/screens/number/EnterNumberView.kt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,7 @@ fun EnterNumberView(
5454
subTitle = stringResource(R.string.screen_link_new_device_enter_number_subtitle),
5555
iconStyle = BigIcon.Style.Default(CompoundIcons.Computer()),
5656
modifier = modifier,
57+
isScrollable = true,
5758
buttons = {
5859
Button(
5960
text = stringResource(CommonStrings.action_continue),

features/login/impl/src/main/AndroidManifest.xml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,4 +15,6 @@
1515
</intent>
1616
</queries>
1717

18+
<!-- Permission to read data from Element classic -->
19+
<uses-permission android:name="im.vector.app.READ_DATA" />
1820
</manifest>

features/login/impl/src/main/kotlin/io/element/android/features/login/impl/di/LoginModule.kt

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,11 +14,16 @@ import dev.zacsweers.metro.Binds
1414
import dev.zacsweers.metro.ContributesTo
1515
import io.element.android.features.login.impl.changeserver.ChangeServerPresenter
1616
import io.element.android.features.login.impl.changeserver.ChangeServerState
17+
import io.element.android.features.login.impl.screens.onboarding.classic.LoginWithClassicPresenter
18+
import io.element.android.features.login.impl.screens.onboarding.classic.LoginWithClassicState
1719
import io.element.android.libraries.architecture.Presenter
1820

1921
@ContributesTo(AppScope::class)
2022
@BindingContainer
2123
interface LoginModule {
2224
@Binds
2325
fun bindChangeServerPresenter(presenter: ChangeServerPresenter): Presenter<ChangeServerState>
26+
27+
@Binds
28+
fun bindLoginWithClassicPresenter(presenter: LoginWithClassicPresenter): Presenter<LoginWithClassicState>
2429
}

features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/onboarding/OnBoardingPresenter.kt

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ import io.element.android.features.enterprise.api.canConnectToAnyHomeserver
2626
import io.element.android.features.login.impl.accesscontrol.DefaultAccountProviderAccessControl
2727
import io.element.android.features.login.impl.accountprovider.AccountProviderDataSource
2828
import io.element.android.features.login.impl.login.LoginHelper
29+
import io.element.android.features.login.impl.screens.onboarding.classic.LoginWithClassicState
2930
import io.element.android.features.rageshake.api.RageshakeFeatureAvailability
3031
import io.element.android.libraries.architecture.Presenter
3132
import io.element.android.libraries.core.meta.BuildMeta
@@ -44,6 +45,7 @@ class OnBoardingPresenter(
4445
private val onBoardingLogoResIdProvider: OnBoardingLogoResIdProvider,
4546
private val sessionStore: SessionStore,
4647
private val accountProviderDataSource: AccountProviderDataSource,
48+
private val loginWithClassicPresenter: Presenter<LoginWithClassicState>,
4749
) : Presenter<OnBoardingState> {
4850
@AssistedFactory
4951
interface Factory {
@@ -99,6 +101,8 @@ class OnBoardingPresenter(
99101

100102
val loginMode by loginHelper.collectLoginMode()
101103

104+
val loginWithClassicState = loginWithClassicPresenter.present()
105+
102106
fun handleEvent(event: OnBoardingEvents) {
103107
when (event) {
104108
is OnBoardingEvents.OnSignIn -> localCoroutineScope.launch {
@@ -132,6 +136,7 @@ class OnBoardingPresenter(
132136
loginMode = loginMode,
133137
version = buildMeta.versionName,
134138
onBoardingLogoResId = onBoardingLogoResId,
139+
loginWithClassicState = loginWithClassicState,
135140
eventSink = ::handleEvent,
136141
)
137142
}

features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/onboarding/OnBoardingState.kt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ package io.element.android.features.login.impl.screens.onboarding
1010

1111
import androidx.annotation.DrawableRes
1212
import io.element.android.features.login.impl.login.LoginMode
13+
import io.element.android.features.login.impl.screens.onboarding.classic.LoginWithClassicState
1314
import io.element.android.libraries.architecture.AsyncData
1415

1516
data class OnBoardingState(
@@ -24,6 +25,7 @@ data class OnBoardingState(
2425
@DrawableRes
2526
val onBoardingLogoResId: Int?,
2627
val loginMode: AsyncData<LoginMode>,
28+
val loginWithClassicState: LoginWithClassicState,
2729
val eventSink: (OnBoardingEvents) -> Unit,
2830
) {
2931
val submitEnabled: Boolean

features/login/impl/src/main/kotlin/io/element/android/features/login/impl/screens/onboarding/OnBoardingStateProvider.kt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,8 @@ package io.element.android.features.login.impl.screens.onboarding
1111
import androidx.annotation.DrawableRes
1212
import androidx.compose.ui.tooling.preview.PreviewParameterProvider
1313
import io.element.android.features.login.impl.login.LoginMode
14+
import io.element.android.features.login.impl.screens.onboarding.classic.LoginWithClassicState
15+
import io.element.android.features.login.impl.screens.onboarding.classic.aLoginWithClassicState
1416
import io.element.android.libraries.architecture.AsyncData
1517
import io.element.android.libraries.designsystem.R
1618

@@ -44,6 +46,7 @@ fun anOnBoardingState(
4446
@DrawableRes
4547
customLogoResId: Int? = null,
4648
loginMode: AsyncData<LoginMode> = AsyncData.Uninitialized,
49+
loginWithClassicState: LoginWithClassicState = aLoginWithClassicState(),
4750
eventSink: (OnBoardingEvents) -> Unit = {},
4851
) = OnBoardingState(
4952
isAddingAccount = isAddingAccount,
@@ -56,5 +59,6 @@ fun anOnBoardingState(
5659
version = version,
5760
loginMode = loginMode,
5861
onBoardingLogoResId = customLogoResId,
62+
loginWithClassicState = loginWithClassicState,
5963
eventSink = eventSink,
6064
)

0 commit comments

Comments
 (0)